#Excel 2019 for Mac での Dir関数
Dir関数と言えば、Mac版の VBA では必ず問題になる関数ですがExcel 2019では大きな改善が見られました。Mac版での Dir関数の挙動について説明していきます。
##Dir関数
Dir関数は指定されたパスが存在したら、ファイル名またはフォルダ名(オプション)を返す関数です。パスが存在しない場合は”“(空?)が帰ってきます。ワイルドカードを使う事により、指定されたパスを連続してファイル名を返してくれます。体感では利用者が多いと思われる関数です。
Mac版ではExcel 2016まではワイルドカード付きのDir関数は使用できませんでした。
ファイル、フォルダ確認
Sub dirTest()
Dim path As String
path = ThisWorkbook.Worksheets(2).Range("B3").value
ThisWorkbook.Worksheets(2).Range("B6").value = dir(path)
End Sub
ワイルドカード
Sub dirTest2()
Dim buf As String, i As Integer
buf = dir(Range("B3") & Application.PathSeparator & "*.csv")
i = 10
Do While buf <> ""
Cells(i, 2).value = buf
buf = dir()
i = i + 1
Loop
End Sub
##Windows10での挙動
当たり前ですが普通に動きます。見づらいですが結果を画像として貼っていきます。
##MacOS catalinaでの挙動
Excel 2019から使用可能になりました。Windows版と同じ挙動をしています。ただし、初めてアクセスするフォルダではアクセス権の付与が必要です。
長年、Excel for Macを使ってきてDir関数が使える日が来るとは思っていませんでした。尚、ブログでも書いています。