![](/img/trans.png)
[英]VBA Exporting Microsoft Word Bookmarks and Selection Text to Excel Spreadsheet
[英]Powershell and Microsoft Word bookmarks and cells
所以這是給你的,有點復雜(我認為)。
我有一個文檔模板,如下所示:
我有一個存儲功能和調用如下所示: 功能(有點丑):
function storage
{
param([string]$CompName)
Get-WmiObject win32_volume -ComputerName $CompName -Filter "DriveType=3 AND Label <> 'System Reserved' AND DriveLetter IS NOT NULL" | Sort-Object DriveLetter | ForEach-Object{"{0}, {1} - {2}gb `n" -f $_.Name,$_.Label,([Math]::Truncate($_.Capacity/1GB))}
}
稱呼:
#Storage input
Write-Host "...writing Storage"
$objRange = $wordDoc.Bookmarks.Item("storage").Range
$objRange.Text = storage -CompName $computer
$wordDoc.Bookmarks.Add("storage",$objRange) | Out-Null
現在就這樣,它成功了一半。 它以正確的格式輸出值,這意味着查詢有效並且 Word 中的書簽是正確的,但所有驅動器都放置在一個單獨的、展開的單元格中。 我現在的問題是我希望每個驅動器都出現在模板中它自己的單元格(最大的列)中。 現在,我將 Word 書簽“存儲”放置在“存儲”右側的大單元格中。
有沒有辦法系統地將每一串驅動器放入它自己的單元中? 這可能嗎? 此外(如果這是可行的),有沒有辦法根據代碼中的需要自動添加行? 假設我有一個這樣的服務器,帶有 C: - G: 而另一台服務器只有一個 C: 和 D:。 是否可以從單行開始模板並根據需要從代碼中添加更多?
當前條目的樣子:
我希望它看起來像什么:
謝謝!
正如評論中所同意的,有一些基於 Word-VBA 的活動文檔提示。 希望這將有助於向前邁出一步。
之前
A)在storage bookmark is located
所在的單元格下方的單元格中添加信息:
Sub text_to_cell_below_bookmark()
ActiveDocument.Bookmarks("storage").Range.Next( _
wdCell, _
ActiveDocument.Bookmarks("storage").Range.Tables(1).Columns.Count _
).Text = "your storage information in the cell below"
End Sub
之后
B)在帶有書簽的單元格下方添加附加行:
Sub additional_row_below_bookmark()
ActiveDocument.Bookmarks("storage").Range.Tables(1).Rows.Add _
ActiveDocument.Bookmarks("storage").Range.Tables(1).Rows( _
ActiveDocument.Bookmarks("Storage").Range.Information(wdEndOfRangeRowNumber) + 1)
End Sub
編輯如何在書簽所在的表格中獲取單元格的行和列:
Dim bmRow, bmCol
'to get row
bmRow = ActiveDocument.Bookmarks("storage").Range.Information(wdEndOfRangeRowNumber)
'to get column
bmCol = ActiveDocument.Bookmarks("storage").Range.Information(wdEndOfRangeColumnNumber)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.