打开word模板作为模板而不是文档(来自Excel)

时间:2016-05-20 16:15:29

标签: excel excel-vba templates ms-word vba

我正在构建一些报告模板。它们都基于主模板'具有特定的布局和表格。然后我有一个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

1 个答案:

答案 0 :(得分:1)

您可以尝试暂时禁用宏:

tmpAut = wrdApp.Application.AutomationSecurity   'cache current setting
wdApp.Application.AutomationSecurity = msoAutomationSecurityForceDisable

'do your thing here

wdApp.Application.AutomationSecurity = tmpAut 'reset previous