| 
    
     |  | かみちゃん さん ありがとうございました。 UCase("*.jpg;*.bmp;*.tif;*.gif;*.xls")で一度試してみたんですが、エラーが発生したため、UCaseでは、複数検索が出来ないと思っていました。
 おかげさまで、マクロが早くなり簡潔なコードになりました。
 
 ▼かみちゃん さん:
 >こんにちは。かみちゃん です。
 >
 >> 動くには動くんですが、いまいちです。
 >
 >TextBox1_Changeイベントで動かすことが適当かどうかが疑問ですが、
 >
 >> 一つの拡張子しか指定出来ない。
 >> '↓一度シートにロードしてからListBoxに張付けていますが、直接
 >> 'ListBoxにロードできないものか?
 >
 >これらについて、対応するとすれば、一例として、以下のように修正します。
 >
 >Option Explicit
 >Private g_strEXT As String
 >Dim vntFile() As Variant '★
 >
 >Private Sub TextBox1_Change()
 > Dim objFSO As FileSystemObject
 > Dim cntFound As Long
 >
 > Set objFSO = New FileSystemObject
 >
 > g_strEXT = UCase("*.jpg;*.bmp;*.tif;*.gif;*.xls") '★
 >
 > cntFound = Sample_FileSearch_SUB(objFSO, objFSO.GetFolder(Trim(TextBox1.Text)), GYO, cntFound) '★
 >
 > With ListBox1
 >  .Clear
 >  If cntFound > 0 Then '★
 >   .List = vntFile '★
 >   MsgBox "ファイルがありました" '★
 >  Else '★
 >   MsgBox "ファイルがありませんでした" '★
 >  End If '★
 > End With
 >End Sub
 >
 >Function Sample_FileSearch_SUB(objFSO As FileSystemObject, _
 >                  ByVal objFolder As Folder, _
 >                  GYO As Long, cntFound As Long) As Long '★
 > Dim objFile As File
 > Dim v As Variant '★
 > Dim i As Long '★
 >
 > v = Split(g_strEXT, ";") '★
 > For Each objFile In objFolder.Files
 >  With objFile
 >   For i = 0 To UBound(v) '★
 >    If UCase(.Name) Like v(i) Then '★
 >     ReDim Preserve vntFile(cntFound) '★
 >     vntFile(cntFound) = .Name '★
 >     cntFound = cntFound + 1
 >     Exit For '★
 >    End If '★
 >   Next '★
 >  End With
 > Next objFile
 >
 > Sample_FileSearch_SUB = cntFound '★
 >
 >End Function
 
 |  |