Я хотел бы найти несколько слов в заголовках документа Word и заменить их другими словами: я сделал это в теле документа со следующим кодом и он отлично работает.Найти и заменить текст в заголовках с помощью Win32COM
import win32com.client
wdFindContinue = 1
wdReplaceAll = 2
app = win32com.client.DispatchEx("Word.Application")
app.Visible = 1
app.DisplayAlerts = 0
app.Documents.Open(document_path)
FromTo = {"<#TITLE#>":"My title", "<#DATE#>":"Today"}
for From in FromTo.keys():
app.Selection.Find.Execute(From, False, False, False, False, False, True, wdFindContinue, False, FromTo[From], wdReplaceAll)
Проблема в том, что этот код не работает для верхних и нижних колонтитулов. Я также попытался это:
app.ActiveDocument.Sections(1).Headers(win32com.client.constants.wdHeaderFooterPrimary).Range.Select
app.Selection.Find.Execute(From, False, False, False, False, False, True, wdFindContinue, False, FromTo[From], wdReplaceAll)
Но это не работает лучше (несмотря на то, что у меня нет никаких сообщений об ошибках).
Есть ли у кого-нибудь идеи о том, как это сделать? Другая информация заключается в том, что у меня есть изображение, вставленное в заголовки, а также, я не знаю, имеет ли это значение или нет.
Это работает отлично! Большое вам спасибо: D –