6

我有一个word文档(2003)。我正在使用 Powershell 来解析文档的内容。该文档在顶部包含几行文本,十几个具有不同列数的表格,然后是更多文本。

我希望能够像下面这样阅读文档:

  1. 阅读文件(制作必要的物品等)
  2. 获取每一行文本
  3. 如果不是表格的一部分,则作为文本处理并写入输出
  4. 别的
  5. 如果表的一部分
  6. 获取表号(按顺序)并根据列解析输出
  7. 万一

下面是我已经开始写的powershell脚本:

$objWord = New-Object -Com Word.Application
$objWord.Visible = $false
$objDocument = $objWord.Documents.Open($filename)
$paras = $objDocument.Paragraphs
foreach ($para in $paras) 
{ 
    Write-Output $para.Range.Text
}

我不确定 Paragraphs 是否是我想要的。有什么更适合我的目的吗?我现在得到的只是文档的全部内容。我如何控制我得到的东西。就像我想得到一条线一样,能够确定它是否是表格的一部分,并根据它是什么数字表格采取行动。

4

1 回答 1

7

Tables您可以通过集合枚举 Word 文档中的表格。Rows和属性将Columns允许您确定给定表中的行数/列数。可以通过Cell对象访问单个单元格。

将打印文档中每个表的最后一行和最后一列中的单元格值的示例:

$wd = New-Object -ComObject Word.Application
$wd.Visible = $true
$doc = $wd.Documents.Open($filename)
$doc.Tables | ForEach-Object {
  $_.Cell($_.Rows.Count, $_.Columns.Count).Range.Text
}
于 2012-10-28T11:13:46.303 回答