当前位置: 首页 > 知识库问答 >
问题:

Word VBA:如何在文本框中创建图形的交叉引用?

壤驷向明
2023-03-14

我正在创建一个Word VBA宏来插入一个包含图像及其标题的文本框,然后在主文档文本中创建对它的交叉引用。

但是Word在文本框中找不到标题。

下面是说明性代码:

    Sub ShowMe()
    Dim items() As String
    items = ActiveDocument.GetCrossReferenceItems("Figure")
    MsgBox ("Found " & UBound(items))
    End Sub

如果标题是一个在主文档文本中内联的东西(比如,图片、表格或只是一个段落),它会找到它。但是如果标题在文本框或文本框中,无论是我在文本框中创建的标题段落,还是我简单地单击文本框并执行插入标题(实际上在框架下方创建了一个文本框),我得到零。

我尝试过通过手动构建REF字段来创建交叉引用,但是它不能可靠地工作。我怀疑交叉引用过程在需要时创建一个新的隐藏书签有一些魔力。

有什么建议吗?

共有1个答案

傅边浩
2023-03-14

我找到的解决方案是使用剪切粘贴将标题段落从框架中移到主文档的末尾,创建对它的交叉引用,然后再次将其移回。

这样做的代码相当长,主要是因为Word在切割段落时往往有点不一致。你可以在https://github.com/charlesweir/WordImagesAndTables在固定框架内。cls,函数InsertCrossReferenceBesideAnchor

  • 查尔斯
 类似资料:
  • 我想使用Apache POI创建一个带有文本和图片的文档。文本的某些部分必须与图片交叉引用。我尝试按照这个问题的答案将方法更改为,但没有成功: 如何在Apache POI Word中创建超链接?

  • 我试图在对话框中创建一个编辑文本框,用于输入密码。当我在做的时候,我不能做。我是这方面的初学者。请帮我做这件事。 形象 我想得到作为

  • 基本上,我有一个矩形位图,并希望创建一个新的正方形尺寸的位图,其中将包含其中的矩形位图。 因此,例如,如果源位图的宽度:100和高度:400,我想要一个宽度:400和高度:400的新位图。然后,绘制以这个新位图为中心的源位图(请参阅附加图像以更好地理解)。 我下面的代码很好地创建了方形位图,但没有将源位图绘制到其中。结果,我留下了一个完全黑色的位图。 这是代码: 知道我哪里做错了吗?

  • 了解有关在 Adobe Illustrator 中创建和使用文字的信息... 在点处输入文本 点文字是指从单击位置开始并随着字符输入而扩展的一行或一列横排或直排文本。每行文本都是独立的;对其进行编辑时,该行将扩展或缩短,但不会换行。这种方式非常适用于在图稿中输入少量文本的情形。 选择文字工具 或直排文字工具 。 鼠标指针会变成一个四周围绕着虚线框的文字插入指针。靠近这个文字插入指针底部的短水平线,

  • 但是,我无法获得使用gremlin驱动程序创建的图形的traversalSource。我是否必须创建原始的gremlin查询并使用Client.Submit遍历图,或者是否有一种方法通过gremlin驱动程序使用EmptyGraph.Instance()获得它。

  • 如何使引导程序的输入文本框居中?