簡體   English   中英

Powershell 和 Microsoft Word 書簽和單元格

[英]Powershell and Microsoft Word bookmarks and cells

所以這是給你的,有點復雜(我認為)。

我有一個文檔模板,如下所示:word_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM