Weder das NewDocument-Ereignis noch das DocumentOpen-Ereignis werden beim ersten Laden von Microsoft Word ausgelöst. Wenn eine Instanz von Word bereits geöffnet ist und wenn ein neues oder ein vorhandenes Dokument geöffnet wird, werden diese Ereignisse problemlos ausgelöst.Behandeln des Word DocumentChange-Ereignisses, da das NewDocument-Ereignis beim Laden nicht ausgelöst wird
Der Vorschlag, den ich gesehen habe, ist die Behandlung des DocumentChange-Ereignisses (das immer ausgelöst wird, wenn Word geladen wird) anstelle der beiden anderen Ereignisse.
Meine Frage ist, wie würde ich darüber gehen? Das DocumentChange-Ereignis hat keine Parameter. Woher weiß ich also, wann das Dokument (neu oder vorhanden) gerade geöffnet wurde?
Außerdem habe ich bereits Logik im DocumentChange-Ereignis und die Verarbeitung für neue und vorhandene Dokumente ist anders, so dass ich nicht einfach meinen gesamten Code in das Ereignis werfen kann.
private void ThisAddIn_Startup(object sender, System.EventArgs a)
{
this.Application.DocumentChange += new ApplicationEvents4_DocumentChangeEventHandler(Application_DocumentChange);
}
private void Application_DocumentChange()
{
// How do I handle NewDocument or DocumentOpen?
}
Dies funktioniert perfekt für _DocumentOpen, funktioniert aber nicht für _NewDocument. Ich erinnere mich irgendwo zu lesen, dass _NewDocument nur ausgelöst wird, wenn ein Benutzer Datei-> Neu und nicht, wenn Word mit einem neuen Dokument öffnet. Wenn das stimmt, irgendwelche Ideen, wie man mit einem neuen Dokument umgeht, wenn sich das Wort öffnet? _WindowActivate wird jedes Mal ausgelöst, wenn Word den Fokus erhält, nicht nur beim ersten Öffnen von Word. Also könnte ich versuchen, _WindowActivate zu handhaben, aber ich fühle, dass das chaotisch werden könnte. Gedanken? –