WHY
マクロ組む際、誰もがぶち当たるであろうDir関数(特にmac勢は、、、とどこかの記事でみました)
今回の学習で手こずったところがあるのでメモとして残しておく。
Dir関数
ファイル操作の基礎中の基礎である「Dir関数」
VBA.
ws = Dir("パス")
と記述することでファイルまたはフォルダ名の文字列の値を返す。
なにもない場合は空が返ってくる。
パス
macの場合、区切りには「¥」ではなく「/」を使う。
詳しくはコードのどこかに
VBA.
MsgBox ThisWorkbook.Path
とすればまあ書き方の参考にはなる。
拡張子
ワイルドカードを使ってファイルの拡張子をしていするときは*.xls*と書く。
macではワイルドカードが使えないという噂も聞いたが自分の場合特に問題はなかった。
Application.PathSeparator
区切り文字「/」を返す。
「/」なのか「¥」なのか「:」なのか不安な場合はこれ書けばいいとおもう。
つまり、仮に(1,1)セルにパスを記述していた場合、
VBA.
FileName = Dir(Cells(1, 1) & Application.PathSeparator & "*.xls*")
とすることでそのディレクトリ内の「xlsm」「xlsx」ファイル等が取得できる。
とりあえず何が返されているか不安な時はメッセージボックスで確認...
はやくWindowsがほしい。