📘 Excel逆引き事典

【VBA】開いている全ブックを確認メッセージを出さずに取得する方法

日々の業務の中で、大量のExcelファイルを扱うことがあるかもしれません。その中で、開いている全ブックを一括処理したい場合、一つ一つ確認メッセージが出るたびに「はい」をクリックするのは労力がかかります。この記事では、VBAを使って開いている全てのワークブックを取得し、確認メッセージを表示させない方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub GetOpenWorkbooks()
    Dim wb As Workbook
    Application.DisplayAlerts = False '警告メッセージを出さないようにする
    For Each wb In Workbooks
        If Not wb.Name Like "Book*" Then '新規ブックの名前は「Book1」「Book2」...と自動付与されるため、それ以外のワークブックのみ処理対象とする
            Debug.Print wb.Name '開いている全ブックの名前を表示する(デバッグウィンドウに表示)
        End If
    Next wb
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。