執筆:EugeneAmnis
Excel 2019 for Mac での Dir関数
Dir関数と言えば、Mac版の VBA では必ず問題になる関数ですがExcel 2019では大きな改善が見られました。今回は Mac版での Dir関数の挙動について説明していきます。
Dir関数
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 dirTest()
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
Windows版では以下のように動きます。
- ファイル、フォルダ確認
- ワイルドカード
Mac版ではExcel 2016まではワイルドカード付きのDir関数は使用できませんでした。
Excel 2019
Excel 2019から使用可能になりました。Windows版と同じ挙動をしています。ただし、初めてアクセスするフォルダではアクセス権の付与が必要です。(アクセス権についてはここで説明しています。)
- ファイル、フォルダ確認
- ワイルドカード
これを初めて確認した時、あまりの感動にパソコンでしかツイートしないと決めていたのについスマホでつぶやいてしまいました。それだけMacのVBA使いに取っては衝撃の走る出来事でした。
リンク
リンク