[英]Word VBA: How to create cross reference to figure in text box?
我正在创建一个 Word VBA 宏来插入包含图像及其标题的文本框架,然后在主文档文本中创建对它的交叉引用。
但如果标题位于文本框架中,则 Word 找不到标题。
这是说明性代码:
Sub ShowMe()
Dim items() As String
items = ActiveDocument.GetCrossReferenceItems("Figure")
MsgBox ("Found " & UBound(items))
End Sub
如果标题是内嵌在主文档文本中的事物(例如,图片、表格或只是段落),它会找到它。 但是,如果标题位于文本框或文本框中,无论是我在文本框内创建的标题段落,还是我只是单击文本框并执行“插入标题”(实际上在文本框下方创建了一个文本框)帧),我得到零。
我已经尝试通过手动构建 REF 字段来创建交叉引用,但它不能可靠地工作。 我怀疑在需要时创建新的隐藏书签的交叉引用过程有一些魔力。
有什么建议吗?
我找到的解决方案是使用剪切和粘贴将标题段落移出框架到主文档的末尾,创建对其的交叉引用,然后再次将其移回。
这样做的代码比较长,主要是因为Word在截断段落时往往有点不一致。 您可以在 AnchoredFrame.cls 中的https://github.com/charlesweir/WordImagesAndTables中找到它, function InsertCrossReferenceBesideAnchor
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.