関数・メソッド

マクロが含まれているか確認する【HasVBProjectプロパティ】【ExcelVBA】

構文

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で本プロパティは使用できません。

関連記事

コメント

タイトルとURLをコピーしました