LoginSignup
0
0

More than 3 years have passed since last update.

MacでVBA Dir関数を使う場合

Posted at

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がほしい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0