Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 開いている全てのファイル名・ブック名を取得するExcelマクロ

開いている全てのファイル名・ブック名を取得するExcelマクロ

対象:Excel2003, Excel2007, Excel2010

「開いているexcelファイルを全て取得」
という検索が行われていました。

開いているExcelファイルの名前を取得する方法を探している方による検索でしょうか。

[スポンサードリンク]

開いているファイル名を取得するWordマクロをご紹介しています。

ほとんど同じコードで、Excelでも開いているファイル名・ブック名を取得できます。

オブジェクト変数を使う例

オブジェクト変数を使った、For Each ~ Next文では以下のようなコードです。

Sub 開いているファイル名を取得する_オブジェクト変数()
 Dim wbk As Workbook

 For Each wbk In Workbooks
  Debug.Print wbk.Name
 Next
End Sub

上記のマクロを実行すると、イミディエイトウィンドウにファイル名が書き出されます。

For Each ~ Next文で、Workbooksコレクションをなめて、個々のWorkbookオブジェクトのNameプロパティをDebug.Printしています。

Wordマクロとはオブジェクトが違うだけです。

カウンター変数を使う例

オブジェクト変数を使わない場合は以下のようなコードです。
Sub 開いているファイル名を取得する_カウンター変数()
 Dim i As Long

 For i = 1 To Workbooks.Count
  Debug.Print Workbooks(i).Name
 Next i
End Sub

「1」からWorkbooksの数だけループを回して、カウンター変数・iを使って、個々のWorkbookオブジェクトのNameプロパティをDebug.Printしています。

個人用マクロブックをイミディエイトウィンドウから閉じる方法を記事にしましたが、その中でご紹介している
「for i = 1 to workbooks.count : ? workbooks(i).name : next」
というコードは、このカウンタ変数を使ったマクロを一行にしたものです。

関連語句
VBA, Visual Basic for Applications

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 開いている全てのファイル名・ブック名を取得するExcelマクロ

「Workbooks・Workbook」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.