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

问题描述 投票:0回答:1

我有一个自动文本条目,其中包含2个plain text内容控制元素。当我手动将其插入时,它可以正常工作且内容控件完好无损。 喜欢此:

Autotext working as intended

但是当我尝试使用VBA将其插入像这样的代码时:

NonclientRange.Text = NormalTemplate.AutoTextEntries(2)

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

autotext not working

如果有一种手动插入的方法,肯定也有一种通过代码插入的方法吗?

vba ms-word word-vba
1个回答
1
投票

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

您的代码还依赖于AutoTextEntry的默认属性,即它的值。由于Value是字符串,您将得到的只是条目的未格式化文本。您还应该注意,由于Word 2007自动图文集已被Building Blocks取代。

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

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

NormalTemplate.BuildingBlockEntries(BuildingBlockName).Insert Where:=NonclientRange, RichText:=True
© www.soinside.com 2019 - 2024. All rights reserved.