[英]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.