基于模板创建新文档时,内容控件存在问题

时间:2019-05-07 14:41:12

标签: vba ms-word word-contentcontrol

我有一个模板.dotm文件,其中有ActiveX按钮和内容控件。该文档不受保护,并且已启用编辑。

我已经测试过在运行Windows 7 / Windows 10和Office 2010的多台计算机上基于此模板创建文档,基于模板的文档可以为ActiveX对象运行VBA代码,并且内容控件可用(复选框,文本字段和日期选择器)。

但是,在特定计算机-Windows 7 / Office 2010上,当我基于模板创建新文档(双击模板)时,不再显示内容控件,仅占位符显示为文本。另外,不能使用复选框,它们只是字符。但是,ActiveX对象仍然可以使用,并且可以运行插入模板中的VBA代码。

打开模板并直接在模板上工作(右键单击-打开)时,不会发生此问题,但这不是预期的用途。

Trust Center > Trust Center Settings > ActiveX SettingsTrust Center > Trust Center Settings > Macro Settings中,我选择了最宽松的选项,允许所有控件运行。

我添加了以下场景,以便更好地可视化问题:

1。。右键单击->打开(打开模板): opentemplate

如果我进入设计模式enter image description here

如您所见,它以启用且功能正常的内容控件打开。

2。。双击模板/右键单击->新建(基于模板的新文档): enter image description here 例如,突出显示为黄色的应该是文本框内容控件,但这是一个简单的文本(在截屏时我将光标放在其上)。

进入设计模式enter image description here

如您所见,没有内容控件。复选框是简单字符,没有文本框。

在任何其他计算机上,基于模板(如情况1)创建新文档将按预期工作(该文档显示为情况2,带有内容控件)。

您能否指导我找出导致内容控件出现此问题的原因?谢谢!

1 个答案:

答案 0 :(得分:0)

在不同的计算机上进行多次测试后,我注意到仅在启用了兼容模式的计算机上才出现此问题。在这些计算机上,即使模板保存为.dotm,每个新文档都以Office 2003兼容模式打开。

为了禁用此兼容模式,我在char * buffer = malloc(10); recv(client,buffer,10,0); // free buffer after data was read -> File-> Options-> Save中将Save files in this format更改为{ {1}}。