

お世話になっております。  
EXCEL VBAで、あるフォルダの中にあるファイル(`C:\TEST\test1234.txt`)をif文にて  
ワイルドカード指定(test*.*)でイコールとなったら、ファイルの更新日時を  
取得するという方法を実装したいと思っています。

下記記述の方法では、test1234.txt=test*.*がfalseと判定され、更新日時取得の  
ルーティンを通りません。

このような仕様を実装したい場合、方法はあるでしょうか。

[code]

    Sub filedate()
    
    Dim fname             As String   '
    
    'wordのcell（1,2）にはtest*.*と入力されている
    fname = Worksheets("work").Cells(1, 2)
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    Set fl = CreateObject("Scripting.FileSystemObject")
    Set fl = fso.GetFolder("C:\TEST") ' フォルダを取得
    '上記C:\TEST内にはtest1234.txtが保存されている
    
    Set f = CreateObject("Scripting.FileSystemObject")
    For Each f In fl.Files ' フォルダ内のファイルを取得
        If f.Name = fname Then  ' 日時を取得したいファイル
            Dim d As Date
            d = f.DateLastModified ' 更新日時を取得
        End If
    Next
    
    Worksheets("check").Range("H27") = d
    Worksheets("check").Activate
    Worksheets("check").Range("A1").Select
    
[/code]


CC BY-SA 4.0
2020-02-19T11:43:57.193
63184
2020-02-20T03:19:54.250
2020-02-19T11:53:15.797
3060
37558
question
vba excel
あるフォルダの中のファイルをワイルドカードで特定し、更新日時を取得する

[code]

    If f.Name = fname Then
    
[/code]

を

[code]

    If f.Name Like fname Then
    
[/code]

に変えたら取得できると思います。


CC BY-SA 4.0
2020-02-20T03:19:54.250
63197
2020-02-20T03:19:54.250
35558
63184
answer