← コード一覧へ戻る
実務ブック

マクロを保存できるファイル形式か確認する

ファイル形式だけでは、マクロが実際に含まれているかは判定できません。この例はマクロを保存できる形式かどうかを調べます。

実行前に確認

  • 拡張子やFileFormatだけでは実際のマクロの存在を断定できません。HasVBProjectも実行可能な手続きの存在までは保証しません。

1サンプルコード

Sub Sample3010()
    Select Case ThisWorkbook.FileFormat
    Case xlOpenXMLWorkbookMacroEnabled, xlExcel12, xlExcel8, xlOpenXMLTemplateMacroEnabled, xlOpenXMLAddIn
        MsgBox "マクロを保存できる形式です。実際の有無は別途確認が必要です。"
    Case Else
        MsgBox "この例の判定対象のマクロ対応形式ではありません。"
    End Select
End Sub

図で見る操作の流れ

イメージ図

概念図:マクロを保存できる形式かを分類します。

  1. 対象

    コードを保存したブックのFileFormat

  2. マクロ:比較

    指定したマクロ対応形式の一覧と照合

  3. 結果

    一覧に一致するかどうかをメッセージ表示

形式の判定だけです。実際のマクロや実行できる手続きの有無は分かりません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3010内にカーソルを置いてF5で実行します。マクロ対応形式かどうかが表示されますが、実際のマクロの有無はこの結果からは分かりません。

使っている機能の公式ドキュメント(Microsoft Learn)