• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Dir 関数で複数条件を指定するには?)

Dir関数で複数条件を指定する方法は?

このQ&Aのポイント
  • VBAのDir関数を使用して複数条件を指定する方法について教えてください。
  • 例えば、拡張子がexeとdllのファイルを書き出すことは可能でしょうか?
  • また、このコードを実行すると実行時エラー13が発生します。その原因も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 確実に拡張子を設定するならば、 >If Right(MyFileName, 3) = "exe" Or Right(MyFileName, 3) = "dll" Then を If Right(MyFileName, 4) = ".exe" Or Right(MyFileName, 4) = ".dll" Then にしてください。まさか"hoge.hogeexe"だとか"hoge.hogedll"のような まがいものは紛れ込まないとは思いますが。

fibwrhhzlc7
質問者

お礼

そうします! ご回答ありがとうございました。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

無理にDir関数をこじ開けるより、 素直に以下のようにする方法でどうですか? Windows以下のファイルを検索し、ファイル名の 末尾がexeのものとdllのものを取り出す、という 仕様です。 Sub Sample()   Dim MyFileName As String   MyFileName = Dir("C:\Windows\", 0)   Do While MyFileName <> ""     If Right(MyFileName, 3) = "exe" Or Right(MyFileName, 3) = "dll" Then       Debug.Print MyFileName     End If     MyFileName = Dir()   Loop End Sub

fibwrhhzlc7
質問者

お礼

あ・・・そうですね。 dirを通過してからifしちゃえばいいですね。 ご回答ありがとうございました。