Microsoft Access 掲示板

インポートするExcelファイル名の日付部分を、インポートしたレコードの取込日フィールドに追加したい / 4

9 コメント
views
4 フォロー
4

Excelのファイル名から日付を取得する

'正規表現のグループ変数による部分置換
Function FindDateX(argStr As String) As Variant
    With CreateObject("VBScript.RegExp")
        .Global = False
        .Pattern = ".*?\((\d{4})\D?(\d{1,2})\D?(\d{1,2})[^)]?(?=\)).*"
        If .Test(argStr) Then
            Dim sDate As String
            sDate = .Replace(argStr, "$1/$2/$3")
            If IsDate(sDate) Then FindDateX = CDate(sDate)
        End If
    End With
End Function
'呼び出し例
Sub Test2()
    Debug.Print FindDateX("C:\Users\中略\発注書(2023.12.19).xls")
    Debug.Print FindDateX("C:\Users\中略\発注書(2023年12月19日).xls")
    Debug.Print FindDateX("C:\Users\中略\発注書(20231219).xls")
    Debug.Print FindDateX("C:\Users\中略\発注書(2023-12-9).xls")
End Sub
通報 ...