【发布时间】:2018-06-22 00:32:04
【问题描述】:
我正在尝试使用 Microsoft Word 文档编写一些 VBA,该文档将在其自身中搜索文本字符串,一旦找到,将返回前面的书签名称。
我目前有以下代码;
Public Sub FindDocument()
Dim wrdThis As Document
Dim strSearch As String
Dim myRange As Range
Dim lngBookMark As Long
Dim lngHeadingName As Long
Dim varBookmarks As Variant
Dim i As Integer
Set wrdThis = ThisDocument
Set myRange = wrdThis.Content
strSearch = "ID: VTER"
varBookmarks = wrdThis.GetCrossReferenceItems(wdRefTypeBookmark)
myRange.Find.Execute FindText:=strSearch, Forward:=True
If myRange.Find.Found = True Then
lngBookMark = myRange.BookmarkID
MsgBox "Search text found in bookmark " & varBookmarks(lngBookMark)
End If
End Sub
我似乎无法让代码返回前一个书签的唯一标识符,因为我正在搜索的文本将在 2 个书签之间找到。
任何帮助将不胜感激。
【问题讨论】: