我让 Excel 2013 64 位运行一个宏,该宏会遍历我本地驱动器中的一系列文件,打开它们,刷新里面的电源查询,保存并关闭;这个过程每天运行,而且从一开始就运行良好。
昨天,其中一个文件无法保存,提示“由于共享冲突,无法保存您的更改”,然后 Excel 试图强迫我用另一个名称保存。我也无法删除或剪切该文件,提示“该文件已在系统中打开”。
从昨天开始,这种行为已经蔓延到另外两个文件,导致它们无法使用。我找不到合理的解释,也没有解决方案,而这个过程对我的公司来说至关重要。
保存在另一个目录中也不是一种选择,因为这些文件被映射为许多 Tableau 报告的源文件,必须在其当前位置和名称下读取它们。
任何帮助或见解都将非常感谢!
答案1
你需要弄清楚什么保持文件锁定,这样就无法写入。Excel 本身(可能有一个第二同时打开了 Excel 实例?您的应用程序是否在另一个实例中运行???前一个实例是否崩溃,导致文件被锁定???)或者另一个程序(如防病毒应用程序)打开了该文件。
有多种方法可以监视文件以检查正在访问该文件的内容,例如在 StackExchange 上回答。微软提供简要说明,并网络间谍和莱皮德提供进一步的解释。
另一个有用的工具是锁猎人,它将告诉您哪个进程正在锁定文件并允许您解锁它。
答案2
在运行 Catalina (OS X 10.15.4) 的 Mac 上,在“系统偏好设置/隐私”中为每个 Microsoft Office 工具(Excel、Powerpoint、Word)启用“完全磁盘访问”似乎可以解决问题。该解决方案在 G-Suite 支持和 Microsoft 网站上被重点介绍,但奇怪的是这些线程被锁定了...