Microsoft Wordが最初に読み込まれたときにNewDocumentもDocumentOpenイベントも起動されません。 Wordのインスタンスが既に開いていて、新規または既存のドキュメントが開かれた場合、これらのイベントは正常に終了します。NewDocumentイベントが読み込み時に発生しないため、Word DocumentChangeイベントを処理する方法
私が見てきた提案は、他の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?
}
これは完全に_DocumentOpenで動作しますが、_NewDocumentでは機能しません。 _NewDocumentは、ユーザーが[ファイル] - > [新規]を実行したときにのみ起動され、Wordが新しいドキュメントで開くときには起動されないことを覚えています。これが本当であれば、単語が開くときに新しい文書を扱う方法に関するアイデアはありますか? _WindowActivateは、Wordが最初に開いたときだけでなく、Wordがフォーカスを取得するたびに起動します。だから私は_WindowActivateを処理しようとすることができますが、それは乱雑になるかもしれないように感じる。思考? –