Vba: 開いているすべてのワークブックのリストを取得する方法


VBA でFor Eachループを使用すると、開いているすべての Excel ブックのリストを取得できます。

実際にこれを行う一般的な方法は次のとおりです。

 Sub ListAllOpenWorkbooks()

Dim wbName As String
Dim wb As Workbook

'add each open workbook to message box
For Each wb In Application.Workbooks
    wbName = wbName & wb.Name & vbCrLf
Next

'display message box with all open workbooks
MsgBox wbName

End Sub

この特定のマクロは、開いているすべての Excel ワークブックのリストを含むメッセージ ボックスを生成します。

次の例は、このマクロを実際に使用する方法を示しています。

例: VBA を使用して、開いているすべてのワークブックのリストを取得する

次の 3 つの Excel ブックが現在開いていると仮定します。

  • 野球データ.xlsx
  • サッカーデータ.xlsx
  • ホッケーデータ.xlsx

VBA を使用して、開いているすべてのブックの名前を一覧表示したいとします。

これを行うには、次のマクロを作成できます。

 Sub ListAllOpenWorkbooks()

Dim wbName As String
Dim wb As Workbook

'add each open workbook to message box
For Each wb In Application.Workbooks
    wbName = wbName & wb.Name & vbCrLf
Next

'display message box with all open workbooks
MsgBox wbName

End Sub

このマクロを実行すると、次の出力が表示されます。

メッセージ ボックスには、開いている各ワークブックの名前が表示され、それぞれの一意のワークブックが独自の行にリストされます。

For EachループでvbCrLf定数を使用してキャリッジ リターンを挿入し、カーソルを次の行に移動したことに注意してください。

これにより、開いている各ワークブックをメッセージ ボックス内の個別の行に一覧表示できるようになりました。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBAを使用してファイル名を変更する方法
VBAを使用してフォルダー内のファイルを一覧表示する方法
VBAを使用してフォルダー内のすべてのファイルを開く方法
VBAを使用してファイルが存在するかどうかを確認する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です