Ich erstelle einige Berichtsvorlagen. Sie basieren alle auf einer "Master-Vorlage" mit einem bestimmten Layout und Tabellen. Ich habe dann eine Excel-Tabelle, die ich verwende, um die Master-Vorlage zu füllen, dann als neue Vorlage für die Berichterstattung dieses bestimmten Elements zu speichern. Ich hatte das funktioniert gut, aber erkennen, mein Code war ein neues Dokument auf der Grundlage der Master-Vorlage zu öffnen und dann als die neuen Vorlagen zu speichern.Word-Vorlage als Vorlage öffnen, kein Dokument (aus Excel)
Das ist in Ordnung, aber meine Mastervorlage enthält jetzt ein Benutzerformular für das Document_New() -Ereignis. Als solches muss ich es als TEMPLATE öffnen, damit ich es füllen und als neue Vorlage speichern kann. Wenn der Code den Master als Dokument und nicht als Vorlage öffnet, wird das Benutzerformular sofort ausgeführt. Ich brauche es, damit ich den Master öffnen, ausfüllen und speichern kann. Wenn ein Bericht erstellt werden muss, werden die neuen Templates geöffnet, DANN wird das Benutzerformular ausgeführt.
Mein Code (in der Excel-Datei), um die Master-Template zu öffnen ist:
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
Sie tatsächlich scheinen nicht das Bit geschrieben haben Code, der die Word-Vorlage öffnet! Mit dem Standardsatz wdDoc = wdApp.Documents.Open (myWordFile) * sollte die Vorlage jedoch als Vorlage geöffnet werden (und Document_New() nicht ausgelöst werden). Ist das nicht was passiert? –