Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Powershell,如何在MS Word文档表格的单元格中检测新行字符_Powershell - Fatal编程技术网

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

使用Powershell,如何在MS Word文档表格的单元格中检测新行字符,powershell,Powershell,我正在使用Powershell阅读具有表的word(2003)文档。表中的文本具有我需要捕获以进行处理的新行字符。但是,当我使用Write host或Write output时,新行字符被忽略,多个值被打印出来,就像它是一行一样 如何在单元格内的新行字符上断开?我使用的代码如下: $objWord = New-Object -Com Word.Application $filename = 'C:\Chicago_NewUser.doc' $objDocument = $objWord.Doc

我正在使用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文档可从以下网址获得: 所讨论的价值是: 设置REG=04 设置BLD=01

但powershell脚本将其打印为 设置REG=04设置BLD=01

自答:

我想我明白了

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

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

仅供参考-stackoverflow鼓励用户使用答案框回答自己的问题。我不能。我需要有一定的最低分数才能做到这一点。