0

我正在使用 Powershell 阅读包含表格的 word (2003) 文档。表中的文本具有我需要捕获以进行处理的换行符。但是当我使用 Write-host 或 Write-output 时,会忽略换行符,并且打印多个值,就好像它是一行一样。

如何打破单元格内的换行符?我正在使用的代码如下:

$objWord = New-Object -Com Word.Application

$filename = 'C:\Chicago_NewUser.doc'
$objDocument = $objWord.Documents.Open($filename)

$LETable = $objDocument.Tables.Item(1)
$LETableCols = $LETable.Columns.Count
$LETableRows = $LETable.Rows.Count


Write-output "Starting to write... "

for($r=1; $r -le $LETableRows; $r++) {
    for($c=1; $c -le $LETableCols; $c++) {
        #Write-host $r "x" $c
        $content = $LETable.Cell($r,$c).Range.Text
        Write-output $content
    }
}
$objDocument.Close()
$objWord.Quit()
$rc = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objWord)

Word 文档可在https://docs.google.com/document/d/1W0usG4ASsvd3PqQ20l7P8rq0hWBsYlrI0iM1S5ZcumU/edit获得 有问题的值是:SET REG=04 SET BLD=01

但是 powershell 脚本将其打印为 SET REG=04SET BLD=01

本人回答:

我想我想通了。

我可以使用这行代码检测换行符:

Write-output $content.contains("`r")
4

0 回答 0