对齐使用Powershell生成的MS Word表格集中的列文本



我是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 右

这些的组合应该使您的桌子看起来完美。

最新更新