不知理解得对不对:Sub Macro() Dim RR, R, I As Long, ITEMS ITEMS = Split("wdRefTypeNumberedItem wdRefTypeHeading wdRefTypeBook wdRefTypeFootnote WdRefTypeEndnote") On Error Resume Next For I = 0 To 5 RR = ActiveDocument.GetCrossReferenceItems(I) For Each R In RR Debug.Print ITEMS(I) & "--" & R Next Next End Sub
Dim RR, R, I As Long, ITEMS
ITEMS = Split("wdRefTypeNumberedItem wdRefTypeHeading wdRefTypeBook wdRefTypeFootnote WdRefTypeEndnote")
On Error Resume Next
For I = 0 To 5
RR = ActiveDocument.GetCrossReferenceItems(I)
For Each R In RR
Debug.Print ITEMS(I) & "--" & R
Next
Next
End Sub
看来我的问题没有描述清楚。
Word文档的表格中使用了大量的交叉引用,每个交叉引用要对应同一行内的链接源,如下图:
因为有大量相同的编号,当插入交叉引用时非常容易链接错误(链接到其它行)。
我想使用VBA进行检查:先取得交叉引用的垂直位置,再找到交叉引用链接源的垂直位置,进行比较检查。普通的超链接可以使用DoLink语句跳转到链接源的位置,但无法使用DoLink语句跳转到交叉引用的链接源的位置。用什么方法取得WORD文档中交叉引用的链接源的位置?