CopyFileW返回0但GetLastError也返回0

时间:2012-03-26 01:03:34

标签: file

如下所示,使用不存在的目标文件夹从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

1 个答案:

答案 0 :(得分:0)

请勿从VBA致电GetLastError,请使用Err.LastDllError