「word vba 開いているファイル名 取得」
という検索が行われていました。
WordのVBA(Visual Basic for Applications)で、開いているファイルの名前を取得する方法を探している方による検索です。
オブジェクト変数を使う例
ファイル名を取得してどうするのかがわからないので、参考になりそうなマクロをご紹介しておきます。
Dim doc As Document
For Each doc In Documents
Debug.Print doc.Name
Next
End Sub
上記のマクロを実行すると、イミディエイトウィンドウにファイル名が書き出されます。
For Each~Next文で、開いている全てのWord文書を表すDocumentsコレクションから個々のWord文書を表すDocumentオブジェクトを順番に取得して、DocumentオブジェクトのNameプロパティをDebug.Printしています。
カウンター変数を使う例
オブジェクト変数を使わない以下のようなコードでも同じ結果を得られます。
Dim i As Long
For i = 1 To Documents.Count
Debug.Print Documents(i).Name
Next i
End Sub
マクロの学習をはじめたばかりの方は、まずは、これらのFor Each~Next文やFor~Next文をスラスラ書けるようになることを目指すことおすすめします。
オブジェクト変数を使うFor Each~Next文は、通常オブジェクト変数を使わないFor~Next文でも書けますので、マクロ学習の一つとして、For Each~Next文をFor~Next文で書き直してみるのもおすすめです。
最終更新日時:2022-01-08 05:45
Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAで開いている全てのファイル名・文書名を取得する