0

Powershell を使用して、表のある単語 (2003) ドキュメントを読み込んでいます。テーブル内のテキストには、処理のためにキャプチャする必要がある改行文字が含まれています。しかし、Write-host または Write-output を使用すると、改行文字が無視され、複数の値が 1 行のように出力されます。

セル内の改行文字で改行するにはどうすればよいですか? 私が使用しているコードは以下のとおりです。

$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