Excel VBA上でApplication.VBProject プロパティ、および、Application.VBE プロパティを使用するには事前に設定を行わなければならない事をご存じでした?
私はしっかり嵌りましたので、今後忘れないためにメモ。
VBProject/VBE プロパティを含むVBAを実行した時のエラー
初期状態で下記サンプルを実行すると
Sub GetVBProjectCount()
Debug.Print Application.VBE.VBProjects.Count
End Sub
下記エラーが表示されます。
実行時エラー ‘1004’:
アプリケーション定義またはオブジェクト定義のエラーです。
対処法
msdnで調べてみたところ、設定方法がしっかり載ってますね。
- VBEを起動し、参照設定に[Microsoft Visual Basic for Applications Extensibility x.x]を追加
Excel 2013のx.xは5.3になります。
- [開発]タブの[マクロのセキュリティ]をクリック、[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]にチェック
セキュリティレベルが下がるリスクが考えられます。
ご利用は計画的に!