Public Function modCreditmove()
Dim fso, CB As String
Set fso = CreateObject("Scripting.FileSystemObject")
CB = ("H:\Credit*.xls")
If CB > 0 Then
fso.MoveFile ("H:\Credit*.xls"), "H:\Credit_Archive\"
End If
End Function
这是我用来移动归档文件的代码,当有文件要移动时,我有代码工作,然后当没有任何文件移动时它抛出了错误代码所以我试图添加一个if语句所以没有任何错误消息弹出,我得到运行时错误'13',类型不匹配可以有人帮助,所以我可以正确的方式这样做。感谢
答案 0 :(得分:1)
CB的类型为String。所以当你做CB> 0,它试图将它用作整数。
如果要检查模式中是否有任何文件,可以使用Dir。如果结果是空字符串,则找不到任何内容,因此您希望在dir返回非空的内容时移动文件。
Dim fso
Dim filePattern As String
filePattern = "H:\Credit*.xls"
If Dir(filePattern) <> "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile filePattern, "H:\Credit_Archive\"
End If
Dir接受通配符模式,因此我认为这完全符合您的要求。
答案 1 :(得分:0)
请改为尝试:
If (fso.FileExists("H:\Credit*.xls"))
fso.MoveFile ("H:\Credit*.xls"), "H:\Credit_Archive\"
End If
http://msdn.microsoft.com/en-us/library/x23stk5t(v=vs.84).aspx