问题
我们有一个excel vba宏,我们一直用它来将工作表复制到一个新的工作簿中,以创建一个文件的“报告”版本多年。
此代码行的代码失败:
ThisWorkbook.Worksheets(array_sheet).Copy
并抛出以下错误:
找不到文件:'C:\ Users \ my_username \ AppData \ Local \ Temp \ VBXXXX.tmp'
运行时错误'1004':Worksheet类的复制方法失败
可能是个人资料/安全设置问题
最近,我们聘请了一位使用Windows 7和Excel 2010的新员工,这是我们其他员工使用的问题。新用户遇到此问题,就像我在Windows 10,Excel 2016上一样。我也可以在Excel 2016中的Citrix环境中成功运行代码。这使我相信它可能是某种类型的安全权限/配置文件设置问题,并且与Windows或MS Office版本无直接关系。我的机器上有管理员权限,我的同事也遇到了这个问题。
到目前为止我所知道的
错误的另一个奇怪特征是在旧代码中复制 每张纸单独,它不会在同一张纸上出错 每一次,很少在第一张纸上。
我们发现的唯一解决方案是关闭并重新打开excel 100%的时间解决问题。
.tmp文件每次都有不同的编号,而.tmp文件则是 正在引用是在进程中创建的,如果我让它存在则存在 挂起或进入调试。
我们尝试在单独复印纸张时添加延迟,但是 这不能解决错误,也不会清除引用的错误 临时目录。
我已经在Stack Overflow上提出了类似的问题,这不是重复 - 我们遇到的问题与其他帖子不同,并不是由相关的建议解决方案修复。
这是我们的软件/操作系统设置表和错误状态:
| User | OS/Software | Status | |-------------|---------------------------|---------------| | Old User | windows 7/ office 2010 | works | | Old User | citrix excel 2016 | works | | Me (new pc) | citrix excel 2016 | works | | New User | citrix excel 2016 | works | |-------------|---------------------------|---------------| | New User | windows 7/ office 2010 | does not work | | Me (new pc) | windows 10/ office 2016 | does not work |
有没有人遇到过类似的问题?有任何建议的解决方案吗?
答案 0 :(得分:2)
我听说有人说这是因为他们的反病毒。我还没能测试过。我唯一的另一个想法是,可能有一个Windows更新破坏了这个VBA代码,因为这在过去几个月内刚刚开始发生在我的代码中。
答案 1 :(得分:0)
C:\Users\my_username\AppData\Local\Temp\
中删除readonly属性,然后重试。