因此,我正在使用VBA-Macro
打开Excel文件,并将数据下载到包含宏的工作表中。
过去我的工作非常完美,现在由于某种原因我遇到了错误:Error accessing file. Network connection may have been lost.
当我打开代码以查看它下落的位置时(我认为文件可能已更改位置或名称已更改),但是当我遍历代码(使用F8键)时,我立即得到了错误提示,代码行(SUB TITLE),并标记为黄色。
有人有这个错误的经验,并且知道我该如何解决吗?
非常感谢,彼得。
答案 0 :(得分:2)
当VB编辑器检测到源代码(在编辑器中看到的文本)与也保存在工作簿中的已编译二进制“ p”代码之间存在差异时,可能引发此错误(以及其他一般错误消息)。这种差异情况通常称为“腐败”工作簿。
临时修复程序是一个接一个地导出模块,表单和类,创建一个新工作簿,然后将它们重新导入。此时,您现在至少可以在以下位置编辑源代码以解决根本原因。
但是,如果源代码中未解决损坏的根本原因,那么每当VB编辑器下一次运行/编译代码的麻烦部分时,都会重新引入已编译的二进制“ p”代码中的损坏。
仅当您保存并重新打开工作簿后,这种损坏才会变得明显,此时VB编辑器将检测到源代码与工作簿中保存的二进制“ p”代码之间的差异,并再次引发错误。
我在下一篇文章中的解决方案深入分析了由于使用IMPLEMENTS
语句的类中无意中创建循环依赖项而导致此错误的一个原因: