У меня есть макрос Excel, который извлекает данные из моей книги, открывает шаблон Word как новый и обновляет некоторые имеющиеся у нас закладки.
Затем мы выбираем Все и нажимаем Обновить все, чтобы заполнить оставшуюся частьдокумент с информацией с использованием перекрестных ссылок.
Вместо того, чтобы вручную выполнять «Обновить все поля», я хотел бы просто добавить его в мои макросы Excel, чтобы после обновления закладок это происходило автоматически.
Вот небольшая версия кода:
Private Sub CreateTemplate1(tPath As String, r As Integer)
Dim wdApp As Object
Dim wdDoc As Object
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If wdApp Is Nothing Then Set wdApp = CreateObject("Word.Application")
On Error GoTo 0
wdApp.Visible = True
'wdApp.DisplayAlerts = False
Set wdDoc = wdApp.Documents.Open(FileName:=tPath)
With wdDoc
Dim obj_BMRange As Object
Set obj_BMRange = wdDoc.Bookmarks("STPNumber").Range
WriteToBookmarkRetainBookmark obj_BMRange, Range("L1").Value
Set obj_BMRange = wdDoc.Bookmarks("SiteAddress").Range
WriteToBookmarkRetainBookmark obj_BMRange, Range("C" & r).Value
End With
End Sub
Function WriteToBookmarkRetainBookmark(rng As Object, content As String)
Dim sBkmName As String
sBkmName = rng.Bookmarks(1).Name
rng.Text = content
rng.Document.Bookmarks.Add sBkmName, rng
End Function
Пожалуйста, дайте мне знать, куда добавить код Обновить все поля.