我正在尝试删除文档的某些部分,以便它可以在第一页上的信头上打印,并在打印后重新插入徽标和页脚。
我创建了书签以选择确切的区域,然后将该选择替换为空白的自动文本,然后打印一次后再次选择该区域并插入带有徽标的另一个自动文本。当我手动执行此操作时,该过程有效。当我记录这个并尝试运行它时,宏立即说它找不到书签。
我知道这是因为书签是在模板而不是文档中定义的,但我不知道足够的VBA来正确地声明在哪里找到书签。
我录制了四个宏。
Macro1转到徽标书签并选择范围,然后插入消隐自动文本。
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.GoTo What:=wdGoToBookmark, name:="HeaderLogo"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = True
End With
Application.Templates( _
"C:\Users\Mick\AppData\Roaming\Microsoft\Word\STARTUP\DocumentManager.dotm" _
).BuildingBlockEntries("HearderLogoBlankAuto").Insert Where:=Selection. _
Range, RichText:=True
End Sub
Macro2转到相同的Logo书签再次选择范围,现在插入徽标
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.GoTo What:=wdGoToBookmark, name:="HeaderLogo"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = True
End With
Application.Templates( _
"C:\Users\Nathan\AppData\Roaming\Microsoft\Word\STARTUP\DocumentManager.dotm" _
).BuildingBlockEntries("HeaderLogoAuto").Insert Where:=Selection. _
Range, RichText:=True
End Sub
最后两个宏对页脚执行相同的操作。