如下所示,使用不存在的目标文件夹从VBA调用CopyFileW,使CopyFileW返回值为0,但GetLastError也返回0,表示操作成功。如何从失败的CopyW操作中获取错误代码?
Dim Ret As Long
sFrom = "\\?\UNC" & Mid(sFrom, 2)
Ret = CopyFileW(StrPtr(sFrom), StrPtr(sTo), False)
If Ret = 0 Then
Call LogErrorFilFol(GetFileFromPath(sFrom), GetFolderFromPath(sFrom), _
"WCopyFile error - " & ErrorMsg(GetLastError), FileID)
End If
答案 0 :(得分:0)
请勿从VBA致电GetLastError
,请使用Err.LastDllError
。