mayu
2023/12/20 (水) 23:16:40
fc5d2@6c788
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
通報 ...