我正在构建一些报告模板。它们都基于主模板'具有特定的布局和表格。然后我有一个Excel表格,我用它填充主模板,然后保存为新模板,用于报告该特定项目。我有这个工作正常,但实现我的代码是基于主模板打开一个新文档,然后保存为新模板。
没关系,但我的主模板现在包含了Document_New()事件的用户表单。因此,我需要它作为TEMPLATE打开,以便我可以填充并保存为新模板。使用代码打开master作为文档而不是模板,它立即运行userform。我需要它让我打开主人,填充并保存它,然后,当需要生成报告时,打开新模板然后运行用户表单。
我打开主模板的代码(在excel文件中)是:
Dim wdApp As New Word.Application 'a new instance of Word
Dim wdDoc As Word.Document 'our new Word template
Dim myWordFile As String 'path to Word template
myWordFile = "W:\Entity\Inspect\WORD\INSPECTION TEMPLATES\Inspection Template - 20160519.dotm"
wdDoc.SaveAs "W:\Entity\Inspect\WORD\INSPECTION TEMPLATES\Report Templates\" & vUnit & "\" & vItem & " Thorough Examination.dotm", wdFormatXMLTemplateMacroEnabled
wdApp.Documents.Close
答案 0 :(得分:1)
您可以尝试暂时禁用宏:
tmpAut = wrdApp.Application.AutomationSecurity 'cache current setting
wdApp.Application.AutomationSecurity = msoAutomationSecurityForceDisable
'do your thing here
wdApp.Application.AutomationSecurity = tmpAut 'reset previous