- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExelVBA Dirでのファイル名検索について)
ExelVBA Dirでのファイル名検索について
このQ&Aのポイント
- Excel VBAを使って、指定したフォルダからjpgとpng形式の画像のファイル名を取得する方法について質問です。
- 現在のコードでは、ワイルドカードを使用して2回Do Loopを繰り返す必要がありますが、もっとシンプルにコードを書きたいという要望があります。
- Excel 2003を使用しているため、いくつかの試みを行ったが、型の一致エラーが発生してしまいました。よりスッキリした方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>わざわざDo White Loopを2回繰り返しさないといけいないのか… はい,その通りです。 作成例: sub macro1() dim myPath as string dim myFile as string dim a as variant dim i as long, n as long mypath = "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\" a = array("*.jpg","*.png") for i = 0 to ubound(a) myfile = dir(mypath & a(i)) do until myfile = "" n = n + 1 cells(n, "A") = myfile myfile = dir() loop next i end sub
その他の回答 (1)
- mu2011
- ベストアンサー率38% (1910/4994)
回答No.2
安直です。 pngFileName = Dir(path & "*.png") → pngFileName = Dir(path & "*.??g")
質問者
お礼
おぉ、なるほど!これは盲点でした!これならば曖昧であるものの、確かにjpgとpngを一度に指定できますね。有難う御座います!
お礼
なるほど!こういう時にArrayを使うといいんですね! 今まで配列の類はどんな時に使うのか全然イメージがわかなかったので、 そういう意味でも大変参考になりました。 2回Loopはするものの、この書き方ならコードがシンプルで分かり易くなりますね。 ぱっと見てすぐに理解できない部分が多少ありますが、そこは自力で調べてなんとかモノにしたいと思います。 勉強になりました、有難うございます!