vba Excel/Word无法跳转到书签

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

MSGBox返回11个书签(与LFPostTemplate.docx中的书签总数匹配)

但我尝试的每个书签名都返回“此书签不存在”


我想问题很简单。。。但是谷歌似乎没有任何解决方案给我

你是通过后期绑定(从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