Microsoft Word文法検査プログラムによってフラグが付けられたすべての文章をPowershellを使用して削除しようとしています。 Office Word 2010のWord Object Modelをかなり見てきました。私は次の文法上の間違った文章を文書で見つけ出し、それを削除することができました。私の唯一の問題は、文書をループして、Microsoft Word文法チェッカーでフラグを立てたすべての文を削除することです。ここに私がこれまで持っているものがあります。Powershellを使用してMicrosoft Word文章校正プログラムによってフラグが付けられたすべての文章を削除しようとしています
cd c:\testruns\ $docPath = "" + $(Get-Location) + "\Grammar\document.docx" $Word = New-Object -ComObject Word.Application $Word.Visible = $True $doc = $Word.documents.open($docPath) $docSelection = $Word.selection # Word Method Constants $wdGoToSpellingError = 13 $wdGoToGrammaticalError = 14 $wdGoToFirst = 1 $wdGoToLast = -1 $wdGoToNext = 2 while (!$AnymoreGrammar) { [void]$docSelection.GoTo($wdGoToGrammaticalError, $wdGoToNext).delete() }
もちろん、変数$ AnymoreGrammarは、私が見つけたいブール変数の疑似コードです。私はwhileループに文法上の誤りがないかどうかを調べる有効なbooleanテストが必要です。私がしなければ、$ wdGoToNextよりも文法上の誤りがなくても継続します。文法上の誤りがある文が見つからない場合、最初の文の文字を削除します。どんな助け?私はこれを参考にしています。
(http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.wdgotoitem.aspx)