我是Powershell脚本的初学者,面临这个问题:
我在 Word 文档中生成了一组表。最后,我喜欢为每个表格将第二列所有单元格中的文本垂直居中对齐。我尝试使用如下代码结构:
$document.Tables | ForEach-Object {...}
但是,我发现无法将手放在每个表格的单独列上以对齐文本。
可能的方法是什么?
到目前为止
没有找到答案。所以我最终得到了以下内容:
$word = New-Object -ComObject word.application
$document = $word.documents.open($wordTemplatePath)
...
For ($i = 1; $i -le $document.Tables.Count; $i++) {
$a = $document.Tables.Item($i).Columns.Item(2).Select()
$objSelection = $word.Selection
$objSelection.ParagraphFormat.Alignment = "wdAlignParagraphCenter"
$objSelection.Cells.VerticalAlignment = 1
}
工作正常。
要证明整个表格的合理性,您可以使用:
$table.Range.ParagraphFormat.Alignment=1
只做一个单元格:
$table.Cell(1,1).Range.ParagraphFormat.Alignment=1
其他值为 0 左(默认值)和 2 右
这些的组合应该使您的桌子看起来完美。