Word Automationを使用して、アクティブなドキュメントをプログラムで保存したいと思います。Office 2007/2010では、ドキュメント内のVBAコードを保持するために、ドキュメントを「マクロ対応」として明示的に保存する必要があります。
ユーザーに選択を求めるのではなく、アプリケーションでアクティブなドキュメントにVBAコードがあるかどうかを判断できるようにしたいと思います。それは可能ですか?
Word Automationを使用して、アクティブなドキュメントをプログラムで保存したいと思います。Office 2007/2010では、ドキュメント内のVBAコードを保持するために、ドキュメントを「マクロ対応」として明示的に保存する必要があります。
ユーザーに選択を求めるのではなく、アプリケーションでアクティブなドキュメントにVBAコードがあるかどうかを判断できるようにしたいと思います。それは可能ですか?
はい、これはHasVBProject
プロパティを介して決定できます。例えば:
If ActiveDocument.HasVBProject = True Then
'Code to save as .dotm
Else
'Code to save as .dotx
End If
後でこの投稿に出くわす可能性がある人にとっては、このコードをマクロの存在をテストするドキュメントの外に配置する必要があることに注意してください(そうしないと、それ自体が検出されます)。よく使用される2つのオプションは、外部アプリケーションまたはWordのスタートアップフォルダーに保存されているテンプレートからコードにアクセスすることです。