繁体   English   中英

如何使用 VBA 将包含内容控件的自动文本插入到 MS Word 文档中?

[英]How do I insert auto-text containing content controls into an MS Word document using VBA?

我有一个包含 2 个plain text内容控制元素的自动plain text条目。 当我手动插入它时,它会按预期工作,内容控件完好无损。 像这样:

自动文本按预期工作

但是当我尝试使用 VBA 插入它时,代码如下:

NonclientRange.Text = NormalTemplate.AutoTextEntries(2)

内容控件丢失了,我只得到这样的常规文本:

自动文本不起作用

如果有一种手动插入的方法,那么肯定也有一种方法可以用代码插入它吗?

如果您将AutoTextEntryBuildingBlock分配给范围的Text属性,您将获得的只是条目的无格式文本。

您的代码还依赖于AutoTextEntry的默认属性,即它的值。 由于Value是一个字符串,您将返回的只是条目的未格式化文本。 您还应该知道,自 Word 2007 以来,自动图文集已被 Building Blocks 取代。

每当您不确定如何在 Word 中执行某些操作时,请首先尝试录制宏。 生成的代码并不理想,但它应该让您了解要使用的对象。 下一步应该是在对象浏览器和在线 Word VBA 参考中查找对象。 在这种情况下,您应该查找BuildingBlock.Insert 方法的参考。

您插入条目的代码类似于:

NormalTemplate.BuildingBlockEntries(BuildingBlockName).Insert Where:=NonclientRange, RichText:=True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM