Я использую VBA из Excel, чтобы открыть do c и заменить текст в определенных тегах, которые я устанавливаю. Проблема в том, что это работает только для основного текста, а не для заголовка или текстовых полей, которые у меня есть. Я следую за несколькими экзаменами, особенно здесь. . Они говорят, что главная цель - использовать объект Word.range и «для каждого» l oop через весь объект диапазона, который будет включать заголовок и т. Д. c. К сожалению, это не работает. Все экземпляры <> изменяются в основном теле, но не в заголовке или где-либо еще. Кроме того, есть предостережение, что я должен использовать позднюю привязку, чтобы я мог перенести это в другие версии Excel и Word. Так что я делаю не так?
Sub editWordDocTEst()
Dim wdApp, wdDoc As Object
Dim docRange As Object
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.documents.Open(ActiveWorkbook.Path & "\" & "testdoc.docx")
'Set docRange = wdDoc.Range
wdApp.Visible = True
wdApp.Activate
For Each docRange In wdDoc.StoryRanges
With wdDoc.content.Find
.Text = "<<testText>>"
.Replacement.Text = "TheNewText"
.Execute Replace:=2
End With
Next docRange
End Sub