1
Microsoft Office Word 2007でテキストフォームフィールドを編集するPowershellスクリプトを作成しようとしています。以前に設定したブックマークを使用してフォームフィールドを検索し、それに私がテスト目的のために書き込んだデフォルトのテキストは "Something"です。Powershellを使用してMS Wordのテキストフォームフィールドを編集する
$document = 'D:\Powershell\Test.docx'
$Word = New-Object -Com Word.Application
$Word.Visible = $True
$doc = $word.Documents.Open($document)
$text = "Hello"
$bookmark = "server1"
$doc.Bookmarks.Item($bookmark).Range.Text.Replace("Something", $text)
出力があるので、それはコンソールで動作しますが:
FORMTEXT Hello
言葉はまだ私が前に手動で挿入された文字列が表示されます。私がこれまで持っているものだ 私が入力します。
$doc.Bookmarks.Item($bookmark).Range.Text
出力は次のとおりです。
FORMTEXT Something
私はすでに試した:
$Word.ActiveDocument.Reload()
$Word.ActiveDocument.Fields.Update()
$doc.PrintPreview()
$doc.ClosePrintPreview()
$doc.Bookmarks.Item($bookmark).Range.Fields.Update()
しかし、何も動いていないようにみえ。 誰かが、そのテキストフォームフィールドに何かを永久に書き込む方法を知っていますか? これは簡単ですが、(リッチな)テキストコンテンツコントロール(これはもっと新しいようです)を使うことができます。それらはブックマークではなく、タグとタイトルを使用します。 事前にお手数をおかけしていただきありがとうございます。 PS:MS Word 2016でも動作しません。
のようなものだと思います私はチェックせずにこれを行うにはPowerShellが十分知らないが、同等のVBAは
だろう^^ありがとうございました –
MSOffie 2013で動作します... – hyprfrcb