Sehen Sie, wenn this gibt Ihnen einen Start auf Word-Automatisierung mit Python.
Sobald Sie ein Dokument öffnen, können Sie Folgendes tun.
Nach dem folgenden Code können Sie das Dokument & eine andere öffnen.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "test"
.Replacement.Text = "test2"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Der obige Code ersetzt den Text "Test" mit "test2" und macht einen "all ersetzen".
Sie können andere Optionen je nach Bedarf auf true/false setzen.
Der einfache Weg, dies zu lernen, ist ein Makro mit Aktionen zu erstellen, die Sie ergreifen möchten, siehe den generierten Code & verwenden Sie es in Ihrem eigenen Beispiel (mit/ohne geänderte Parameter).
EDIT: Nachdem er von Matthew irgend Code suchen, könnten Sie die folgende
MSWord.Documents.Open(filename)
Selection = MSWord.Selection
tun und dann die oben VB-Code zu Python übersetzen.
Hinweis: Der folgende VB-Code ist eine Abkürzung für die Zuweisung von Eigenschaften ohne Verwendung der langen Syntax.
(VB)
With Selection.Find
.Text = "test"
.Replacement.Text = "test2"
End With
Python
find = Selection.Find
find.Text = "test"
find.Replacement.Text = "test2"
Pardon meine Python Wissen. Aber ich hoffe, Sie bekommen die Idee, voranzukommen.
Denken Sie daran, eine Speichern & Schließen Sie auf Dokument, nachdem Sie mit dem Suchen/Ersetzen-Vorgang fertig sind.
Am Ende könnten Sie MSWord.Quit
aufrufen (um Word-Objekt aus dem Speicher freizugeben).
Danke für die Antwort! – Geo
Bernie Antwort enthält tatsächlichen kompletten Python-Code. Diese Antwort könnte etwas knapper sein und mehr vollständiges Python enthalten. – Epu