k01ken’s b10g

He110 W0r1d!

VBA(Excel)でファイル関連のメモ

開発環境は、Windows 10 Pro(64bit)。

ファイルが存在するかチェック

If Dir("ファイルのフルパス") <> "" Then
  Debug.Print("ファイルは存在します")
Else
  Debug.Print("ファイルは存在しません")
End If

ファイル一覧を取得する

Dim buf As String
'例えば、拡張子が.xlsxのファイルとして
buf = Dir("*.xlsx") 'この時点で1つ目のファイル名が取得できる
Do While buf <> ""
  Debug.Print(buf)
  buf = Dir() '次のファイル名を取得
Loop

bufが空になるまでループする。Dir()をするたびに、1ファイルずつ読みだされる。

ファイルを削除する

ワイルドカードで指定もできる

Kill 絶対パス付きのファイル名

ファイルをコピーする

FileCopy ファイル名付きの絶対パスのコピー元,ファイル名付きの絶対パスのコピー先