使用Powershell,如何检测表格单元格中的新行字符是MS Word文档

时间:2012-07-06 13:44:32

标签: powershell

我正在使用Powershell来阅读一个包含表格的单词(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)

单词文档位于https://docs.google.com/document/d/1W0usG4ASsvd3PqQ20l7P8rq0hWBsYlrI0iM1S5ZcumU/edit 有问题的价值是: SET REG = 04 SET BLD = 01

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

Self回答:

我想我想出来了。

我可以使用以下代码行检测新行字符:

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

0 个答案:

没有答案