Powershell 在混合文本的 Word 文档中添加多个风格化表格

问题描述

本质上我正在制作一张发票清单作为账单,它看起来像这样(通过powershell,请注意word文件不是先发制人的,我创建了一个文件并开始添加它) :

enter image description here

问题是我只知道怎么做:

$word = New-Object -comobject word.application
$word.Visible = $false
$doc = $word.Documents.Add()
$Selection = $word.Selection
$Selection.Style="Title"
$Selection.Font.Bold = 1
$Selection.ParagraphFormat.Alignment = 2
$Selection.TypeText("Expected Billing")
$Selection.TypeParagraph()
$Selection.Style="No Spacing"
$Selection.Font.Bold = 0
$Selection.TypeParagraph()
$doc.SaveAs([ref]$savepath) 
$doc.Close() 
$word.quit()

添加文本很容易,但在添加表格时,我做对了。 如您所见:

  • 地址表有 2 列 3 行,但没有边框
  • 发票表的数量不固定
  • 第一列左对齐
  • 数量和金额正确对齐(因为它们将是数字)
  • 以供应商和经销商为中心

实际上编号的表格也不应该有边框,但我留下了它们以便您直观地看到。 然后当然是我可以做的总计算量。但是请注意它在表之后,所以我想要附加表并想知道如何在它们之后附加。 有人可以帮我吗?我不知道这个的编码。

解决方法

好吧,经过更多的研究,我想通了。 我把代码贴出来

    $Range = $Selection.Range
    $Table = $Selection.Tables.add($Selection.Range,2,5)
    $Table.cell(1,1).range.text = "Item Code"
    $Table.cell(2,1).range.text = "Description"

    $Table.cell(1,2).range.text = "Quantity"
    $Table.cell(1,3).range.text = "Amount"
    $Table.cell(1,4).range.text = "SUP"
    $Table.cell(1,5).range.text = "Dealer Code"
    $Selection.EndKey(6) | Out-Null

你必须以添加开始,并确保以结束键(6)结束

要编辑宽度或字体样式:

   $Table.cell(1,1).Width = 222.2 
   $Table.cell(1,1).range.Font.bold = 1 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...