Замените текст в слове do c, включая заголовки, текстовое поле и т. Д. c. с использованием позднего связывания - PullRequest
0 голосов
/ 20 апреля 2020

Я использую 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
...