我正在尝试将文件从共享文件夹复制到另一个文件夹。唯一的标识符是文件名中的前一天的日期(我每天根据日期重复此过程)。文件名中的日期格式为public int QtyRcvd {get;set;} //"get" to display, "set" to edit.
。我们每天都会收到一个新文件到需要复制的文件夹,命名约定为"yymmdd"
。
我有以下代码可以使用,但它会复制旧文件(就像今天它复制了T1234567_CPyymmddS1.txt
而不是180117
的文件。任何帮助都将不胜感激。
180125
答案 0 :(得分:3)
在SFilename
放入任何内容之前,您正在构建Ipan2
。此外,您不需要像这样的错误陷阱。如果该文件不存在,则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
答案 1 :(得分:1)
语句sFilename = Dir(" G:\"& Ipan2)应该在Ipan2 =" _CP "之后。 &安培; myDate1& " S1.TXT *"声明