Set oRng = oT.range With oRng .InsertCaption "表", "" .InsertBefore Chr(13) .SetRange .Start, .Start arrItems = oDoc.GetCrossReferenceItems("表") Word.Selection.InsertCrossReference "表", wdOnlyLabelAndNumber, UBound(arrItems) .InsertBefore "详见" End With修改以上代码中添加的交叉引用的编号为当前选择表格的编号,而不是遍历全文后的编号
时间: 2024-02-14 21:08:53 浏览: 130
可以使用以下代码将交叉引用的编号改为当前选择表格的编号:
```
Set oRng = Selection.Range
With oRng
.InsertCaption "表", ""
.InsertBefore Chr(13)
'获取当前选择的表格编号
Dim currentTableNumber As Integer
currentTableNumber = oRng.Tables(1).Range.Information(wdCaptionNumber)
.SetRange .Start, .Start
arrItems = oDoc.GetCrossReferenceItems("表")
For i = LBound(arrItems) To UBound(arrItems)
'找到当前选择的表格编号对应的交叉引用项
If arrItems(i) = currentTableNumber Then
'插入交叉引用
Word.Selection.InsertCrossReference "表", wdOnlyLabelAndNumber, i
.InsertBefore "详见"
Exit For
End If
Next i
End With
```
这段代码将当前选择的表格的编号存储在变量`currentTableNumber`中,然后在遍历交叉引用项时找到对应的编号,再插入交叉引用。
阅读全文