【发布时间】:2012-06-06 22:27:14
【问题描述】:
不知道为什么,但是下面的代码已经开始抛出一个未知错误。当宏运行时 Excel 停止响应。
- 为什么会出现这个错误?
- 具有相同功能的替代路由是什么?
此代码位于 Windows 7 机器上的 Excel 2010 xlsm 文件中。
Sub CopyFolderToCasinoDirectory()
'reference Microsoft Scripting Runtime
On Error Resume Next
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
fso.CopyFolder _
"\\xxxfileserve\department$\DBA\Opers\All Operators\yyy", _
"\\xxxfileserve\department$\DBA\Cas\yyy", _
True
On Error GoTo 0
Set fso = Nothing
End Sub
好的 - 我已经更改了路径,以便它尝试移动更少的文件 - 它犹豫不决,但最终还是通过了。我怀疑上述失败是因为指定目录中的文件太多?目前有 753 个文件 - 可能太多了?
RonDeBruin 给了我很多关于如何测试或改变逻辑的想法。一种可能是先在目标文件夹上使用 DeleteFolder,然后在目标文件夹上使用 CopyFolder?
【问题讨论】:
-
删除
On Error Resume Next你得到什么错误? -
我试过把这条线去掉,但 Excel 没有响应,即崩溃!
-
当你说“没有反应”时,你有没有试过让它离开一分钟?它在复制大量文件时可能会挂起。
-
@Bridge 我已经尝试将其放置几分钟并且 excel 变灰并且是
(Not Responding)...也许如果我非常耐心它会回来,但我想我会寻找一个解决问题。我相信每次都复制所有这些文件确实有点多。
标签: vba vb6 excel filesystemobject