vba Excel/Word无法跳转到书签
MSGBox返回11个书签(与LFPostTemplate.docx中的书签总数匹配) 但我尝试的每个书签名都返回“此书签不存在”vba Excel/Word无法跳转到书签,vba,Vba,MSGBox返回11个书签(与LFPostTemplate.docx中的书签总数匹配) 但我尝试的每个书签名都返回“此书签不存在” 我想问题很简单。。。但是谷歌似乎没有任何解决方案给我你是通过后期绑定(从Excel?)来启动Word的,所以我假设Word常量可能没有定义。尝试使用-1而不是wdGotoBookmark Dim AppWD As Object Dim objDoc As Object Dim objDocProdTP As Object ... Set AppWD = Create
我想问题很简单。。。但是谷歌似乎没有任何解决方案给我你是通过后期绑定(从Excel?)来启动Word的,所以我假设Word常量可能没有定义。尝试使用-1而不是
wdGotoBookmark
Dim AppWD As Object
Dim objDoc As Object
Dim objDocProdTP As Object
...
Set AppWD = CreateObject("Word.Application") 'Word als Object starten
AppWD.Visible = True
Set objDocProdTP = AppWD.documents.Open(workPath & "\vorlagen\LFPostTemplate.docx")
Set objDoc = AppWD.documents.Open(workPath & "\vorlagen\LFTemplate2.docx")
...
MsgBox (objDoc.Bookmarks.Count)
objDoc.Goto what:=wdGoToBookmark, Name:="lblSFirma"
(或者您可以设置对Microsoft Word xx.xx对象库的引用,然后常量可用)我在Excel 2010中获得了下面的代码。我切换窗口视图模式,使我的书签所在的页面显示在窗口顶部(我的书签所在的位置)
您确定书签
lblSFirma
存在于LFTemplate2
中吗?尝试为objDoc中的每个b设置Dim b as Bookmark:书签:调试。打印b.名称:Next
并检查当前书签名称。MSGBox返回11个书签(与LFPostTemplate.docx中的书签总数相匹配)
???也许,请注意objDoc是LFTemplate2
!如果行得通就好了。请将答案标记为“已接受”,以便其他人看到此问题已解决。
objDoc.Goto what:=-1, Name:="lblSFirma"
Public Sub OpenWordDocAndGotoBookmark(strDocPathAndName As String, strBookmark As String)
Dim AppWD As Object
Dim objDoc As Object
Dim objBookmark As Object
Set AppWD = CreateObject("Word.Application") ' Start Word
AppWD.Visible = True
Set objDoc = AppWD.Documents.Open(strDocPathAndName)
Set objBookmark = objDoc.Bookmarks(strBookmark)
' Move cursor to left of Bookmark
objDoc.Range(objBookmark.Start, objBookmark.Start).Select
' Set window to make top of page with bookmark appear at top of window
AppWD.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitFullPage
AppWD.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End Sub