2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« .NETのDirectory.GetFiles(,検索パターン)の代替関数 | トップページ | VBScriptのReplace()関数は、チョー遅い! »

2008年4月30日 (水)

VBAのDir()関数のワイルドカードの誤動作を補正する。

If Like で補正します。

Dim File As String
Dim Folder As String
Dim Pattern1 As String
Dim Pattern2 As String
Folder = "c:\windows\system32"
If Right(Folder, 1) <> "\" Then Folder = Folder & "\"
Pattern1 = "*.txt"
Pattern2 = Replace(Replace(Pattern1, "[", "[[]"), "#", "[#]")
File = Dir(Folder & Pattern1)
Do While Len(File)
  If File Like Pattern2 Then
    Debug.Print File
  Else
    Debug.Print "!", File
  End If
  File = Dir()
Loop

« .NETのDirectory.GetFiles(,検索パターン)の代替関数 | トップページ | VBScriptのReplace()関数は、チョー遅い! »