根据文件名中的日期复制文件
Copy a file based on date within the filename
我正在尝试将文件从共享文件夹复制到另一个文件夹。唯一的标识符是文件名中前一天的日期(我每天根据日期重复这个过程)。文件名中的日期格式为 "yymmdd"
。我们每天都会收到一个新文件到需要复制的文件夹中,命名规则是这样的T1234567_CPyymmddS1.txt
.
我有以下应该工作的代码,但它复制了旧文件(就像今天它复制了一个文件 180117
而不是 180125
。任何帮助将不胜感激。
Sub iSeries()
Dim myDate1 As String
Dim Ipan1 As String
Dim Ipan2 As String
Dim sFilename As String
sFilename = Dir("G:\" & Ipan2)
myDate1 = Format(Date - 1, "yymmdd")
Ipan1 = "157782_panama_iseries_" & mGlobalDate & ".txt"
Ipan2 = "*_CP*" & myDate1 & "S1.TXT*"
On Error GoTo Quit
'source path below
FileCopy "G:\" & sFilename, _
"C:\" & mFilePath & "\" & Ipan1
Quit:
End Sub
在 Ipan2
中放入任何内容之前,您正在构建 SFilename
。此外,您不需要像这样的错误陷阱。如果该文件不存在,那么 SFilename
将为空,因此只需对其进行测试。
尝试:
Sub iSeries()
Dim myDate1 As String
Dim Ipan1 As String
Dim Ipan2 As String
Dim sFilename As String
myDate1 = Format(Date - 1, "yymmdd")
Ipan1 = "157782_panama_iseries_" & mGlobalDate & ".txt"
Ipan2 = "*_CP" & myDate1 & "S1.TXT*" ' second * removed
sFilename = Dir("G:\" & Ipan2)
Debug.Print "Ipan2 (search criteria) : " & Ipan2
If sFilename = "" Then
MsgBox "File not found"
Else
Debug.Print "sFilename (match found) : " & sFilename
'source path below
FileCopy "G:\" & sFilename, _
"C:\" & mFilePath & "\" & Ipan1
End If
End Sub
语句 sFilename = Dir("G:\" & Ipan2) 应该在 Ipan2 = "_CP" & myDate1 & "S1.TXT*" 语句[=10 之后=]
我正在尝试将文件从共享文件夹复制到另一个文件夹。唯一的标识符是文件名中前一天的日期(我每天根据日期重复这个过程)。文件名中的日期格式为 "yymmdd"
。我们每天都会收到一个新文件到需要复制的文件夹中,命名规则是这样的T1234567_CPyymmddS1.txt
.
我有以下应该工作的代码,但它复制了旧文件(就像今天它复制了一个文件 180117
而不是 180125
。任何帮助将不胜感激。
Sub iSeries()
Dim myDate1 As String
Dim Ipan1 As String
Dim Ipan2 As String
Dim sFilename As String
sFilename = Dir("G:\" & Ipan2)
myDate1 = Format(Date - 1, "yymmdd")
Ipan1 = "157782_panama_iseries_" & mGlobalDate & ".txt"
Ipan2 = "*_CP*" & myDate1 & "S1.TXT*"
On Error GoTo Quit
'source path below
FileCopy "G:\" & sFilename, _
"C:\" & mFilePath & "\" & Ipan1
Quit:
End Sub
在 Ipan2
中放入任何内容之前,您正在构建 SFilename
。此外,您不需要像这样的错误陷阱。如果该文件不存在,那么 SFilename
将为空,因此只需对其进行测试。
尝试:
Sub iSeries()
Dim myDate1 As String
Dim Ipan1 As String
Dim Ipan2 As String
Dim sFilename As String
myDate1 = Format(Date - 1, "yymmdd")
Ipan1 = "157782_panama_iseries_" & mGlobalDate & ".txt"
Ipan2 = "*_CP" & myDate1 & "S1.TXT*" ' second * removed
sFilename = Dir("G:\" & Ipan2)
Debug.Print "Ipan2 (search criteria) : " & Ipan2
If sFilename = "" Then
MsgBox "File not found"
Else
Debug.Print "sFilename (match found) : " & sFilename
'source path below
FileCopy "G:\" & sFilename, _
"C:\" & mFilePath & "\" & Ipan1
End If
End Sub
语句 sFilename = Dir("G:\" & Ipan2) 应该在 Ipan2 = "_CP" & myDate1 & "S1.TXT*" 语句[=10 之后=]