我在下面的第3行代码中弹出了这个错误。在互联网上似乎没有对这种行为作出解释。
我正在看这个错误出现的原因,几分钟后修复了它自己。
Set Ftp = CreateObject("Reflection.FTP.3")
Ftp.Open "xxx.xxx.xxx.xxx", "username", "password"
Ftp.SetCurrentDirectory "DirectoryName/DirectoryName/DirectoryName"是什么错误?
运行时错误'-2147418113 (8000 Time):对象的“SetCurrentDirectory”方法“IReflectionFTP”失败
更多详细信息:
应用: Excel宏
语言: VB (VBA)
*是因为编码错误吗?*
不太可能。宏观经济运行时间很长,这是第一次出现。
*是因为FTP服务中断吗?*
也许是吧。但是日志每一秒都有录音,而且似乎没有中断。
发布于 2013-06-26 21:56:24
在我看来,这里有一个连接问题--也许是超时?我假设您的三行代码不会一个接一个地执行(即SetCurrentDirectory需要更多的代码)。如果Ftp对象没有登录的有效连接,则会出现此错误。将Open命令的IP更改为无效的IP命令,您将看到同样的错误。
尝试在SetCurrentDirectory命令之前设置以下代码行。
If FTP.Status = rcLoggedIn + rcConnected Then
Ftp.SetCurrentDirectory "DirectoryName/DirectoryName/DirectoryName"
Else
'Error handle
End If请注意,为了使对象能够正常工作,您已经晚了绑定对象,因此需要使用If语句:
If FTP.Status = 17 Then
另外,如果这是一个超时问题,那么我会将会话的超时时间设置为更长(即FTP.TimeoutSession = 300 )。
https://stackoverflow.com/questions/17329842
复制相似问题