Ich versuche ein Powershell-Skript zu schreiben, das Textformularfelder in Microsoft Office Word 2007 bearbeitet. Es sollte über das zuvor konfigurierte Lesezeichen ein Formularfeld finden und einen Text schreiben hinein. Der Standardtext, den ich zu Testzwecken in den Text geschrieben habe, ist "Something". Das ist, was ich bisher:Bearbeiten eines Textformularfeldes in MS Word mit Powershell
$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)
Während es in der Konsole arbeitet, da die Ausgabe lautet:
FORMTEXT Hello
Wort noch den String zeigt ich manuell vor eingefügt. Wenn ich eintippen:
$doc.Bookmarks.Item($bookmark).Range.Text
Die Ausgabe lautet:
FORMTEXT Something
ich schon versucht:
$Word.ActiveDocument.Reload()
$Word.ActiveDocument.Fields.Update()
$doc.PrintPreview()
$doc.ClosePrintPreview()
$doc.Bookmarks.Item($bookmark).Range.Fields.Update()
Aber nichts scheint zu funktionieren. Hat jemand eine Idee, wie man etwas in diesem Textformularfeld dauerhaft schreibt? Alternativ, wenn das einfacher ist, könnte ich eine (reiche) Text Content Control (die neueren zu sein scheinen). Diese verwenden kein Lesezeichen, sondern ein Tag und einen Titel. Vielen Dank für Ihre Hilfe im Voraus. PS: Es funktioniert auch nicht mit MS Word 2016.
ist erraten würde es ist so einfach ^^ Danke Kumpel –
Arbeitet in MSOffie 2013 ... – hyprfrcb