構文
Object.HasVBProject = expression
expression・・・True = マクロあり/False = マクロなし
HasVBProjectプロパティでマクロが含まれているかどうかを判別可能です。
もちろんExcel2007以降はマクロ付のエクセルファイルの拡張子は「.xlsm」なので、
そちらでも判別は可能です。
HasVBProjectのサンプルコード
Public Sub sample() '■本ブックの場合 Debug.Print ThisWorkbook.HasVBProject '■アクティブなブックの場合 Debug.Print ActiveWorkbook.HasVBProject End Sub
注意点
- HasVBProjectプロパティは実際に標準モジュールやクラスモジュール、ユーザーフォームがあるかどうかでマクロの有無を判定します。
- 上記理由により、.xlsmの拡張子でコードがない場合は「False」が返ります。
- Excel2003(.xls)形式の場合はHasVBProjectプロパティで有無の確認ができますが、本機能はExcel2007以降で使えるプロパティです。Excel2003で本プロパティは使用できません。
コメント