[Word] Automatisch gestartetes Makro in Word 2010

tecla

Erfahrenes Mitglied
Hallo Forum

Ich habe folgendes Problem:

Ich habe 2 verschiedene Vorlagen mit Makros. Nun öffne ich ein Dokument aufgrund der ersten Vorlage und nach Ablaufen einiger Funktionen wechsle ich das Template mit

ActiveDocument.AttachedTemplate = secondTemplate

um dort andere Makros ausführen zu können. Das Problem ist nun, dass im 2. Template das erste Makro automatisch gestartet werden müsste.

Da das Dokument aber schon geöffnet ist, wird weder Document_Open noch Document_New durchlaufen.

Hat irgendjemand eine Idee?

Herzlichen Dank fürs mitdenken!
 

Yaslaw

n/a
Moderator
Das einfachste:
Lagere den Inhalt der 2 Events in eigene Public Funktionen aus. Di kannst du dann auch von Aussen aufrufen
Visual Basic:
Private Sub Document_New()
    Call docNew
End Sub

Public Sub docNew()
    msgbox "Mach was"
End Sub
 

tecla

Erfahrenes Mitglied
Dank fürs Helfen!

Das Problem ist aber, dass ich die Funktionen eben gerade gar nicht aufrufen will, sondern dass ich eine Möglichkeit suche, wie diese automatisch gestartet werden können...
 

Yaslaw

n/a
Moderator
Mit deinem bis jetzt geposteten Code ist es mir unmöglich zu sagen, wu du es aufrufen musst.

Das du es von irgend woher aufrufen musst ist logisch, denn der Event wird nie und nimmer gestartet, wenn das Dokument bereits geöffnet ist.

Also entweder Template schliessen und neu öffnen, oder die Funktion erneut ausführen

Ps:
Das ganze klingt nach einer rechten Vergewaltigung von VBA in MS Word.
2 Mal Document_new() aufrufen......
An diener Stelle würde ich mir über das Konzept Gedanken machen.
 

tecla

Erfahrenes Mitglied
Genau das ist das Problem - die Events New bzw. Open werden logischerweise nicht gestartet.

Bin beim Googeln aber auch auf so Dinge wie AutoExec-Funktionen gestartet, die ich aber nicht zum Laufen gekriegt habe.

Die Frage ist konkreter, gibt es irgendeine Möglichkeit, einen Event zu erstellen, der beim Laden des Templates gestartet wird und eben nicht beim Öffnen bzw. beim Erstellen des Dokuments.

Also sowas wie

Template_OnLoad()
 

tombe

Erfahrenes Mitglied
Schau dir mal diese Seite hier an, da wird schön beschrieben wie man Makros automatisch zum Laufen bringt wenn eine Datei oder eine Vorlage geladen wird.
 

tecla

Erfahrenes Mitglied
Genau was ich suche!! Vielen Dank tombe!

Ich werds gleich ausprobieren und in den nächsten Tagen rückmelden.
 

tecla

Erfahrenes Mitglied
Nochmals vielen Dank!

Nachdem ich jetzt noch mit Hilfe dieser Seite rausgefunden habe, wie ich meine 2. Vorlage als globale Vorlage registrieren kann, läuft jetzt alles wie gewünscht.

Einfach irgendwo in der 2. Vorlage die Prozedur, die beim Laden der Vorlage laufen soll, Sub AutoExec() nennen.

Diese läuft dann automatisch ab, wenn man die 2. Vorlage vor dem attachen als globale Vorlage registriert, wie unter obigem Link beschrieben.