Microsoft Wordが最初に読み込まれるときに、NewDocumentイベントもDocumentOpenイベントも発生しません。Wordのインスタンスがすでに開いていて、新しいドキュメントまたは既存のドキュメントが開かれている場合、これらのイベントは正常に発生します。
私が見た提案は、他の2つのイベントの代わりに、DocumentChangeイベント(Wordのロード時に常に発生する)を処理することです。
私の質問は、これについてどうやって行くのかということです。DocumentChangeイベントにはパラメーターがないので、ドキュメント(新規または既存)がいつ開かれたかをどのように知ることができますか?
さらに、DocumentChangeイベントにはすでにロジックがあり、新規ドキュメントと既存ドキュメントの処理が異なるため、すべてのコードをイベントにスローすることはできません。
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?
}