2017-09-05 16 views
0

私たちのオフィスでは現在、マクロを含むテンプレートを使用しています。私たちはOffice 2016にアップグレードしようとしていますが、残念ながらマクロは以前と同じように完全に機能しません。VBA(Word 2016)のDocuments.addの後にコードを実行し続ける方法は?

現在の示唆は、テンプレートがカスタムダイアログから開かれ、Document_New()がテンプレート内で呼び出されることです。これはもう機能していないようです:Document_New()は、テンプレートがファイルエクスプローラから開かれたときにのみ呼び出され、別のマクロのDocuments.Add()で開かれたときは呼び出されません。

また、Documents.Addが呼び出され、その新しいドキュメントで他の関数が呼び出されているという解決策が多数見つかりました。たとえば、

Set doc = Documents.Add(Template:=strSkeuze, NewTemplate:=True) 
Call MsgBox(doc.Name) 

Word 2016では、これは動作していないようです。 MsgBoxは呼び出されず、デバッグモードでコードをステップ実行すると、コードはDocuments.Add()の後に実行を停止します。

しかし、私はこれが既知の変更であることはわかりません。Document_New()のようなテンプレートか、ドキュメントを開く親マクロからコードを実行するための回避策を探しています。

誰かがこれがまだ可能かどうか、これを解決する方法を教えてもらえますか?

答えて

0

アプリケーションのDocument_Newイベント(ドキュメントのDocument_Newイベントを使用していると仮定)を使用して追加されたドキュメントを検出できること、または最初のアクションで開いたドキュメントを人為的に生成することによって、ドキュメントが追加された後に取得されます。

関連する問題