我的一些用户整天都在各种 Excel 2007 电子表格中进进出出。其中一位用户报告说,当她“有 50% 的时间”尝试从文件服务器打开电子表格时,会出现一条信息消息,指出:
foo.xlsx 已锁定,无法编辑
由‘另一位用户’。
以只读方式打开或单击“通知”以只读方式打开,并
在文档不再使用时收到通知。
十有八九,文档未被其他用户打开。我的用户立即尝试再次打开同一文档,并且成功了。
我想象这是由于 Excel 在服务器上留下了所有者文件造成的,但我不知道为什么。
一个额外的线索:当我的一个用户选择“通知”时,会立即弹出一个对话框,通知他们该文件可供他们编辑。
关于如何解决这个问题并让我的用户的日子过得更好,有什么指导吗?
答案1
直接来自Microsoft 知识库 313472:
如果 Word 确定文档的所有者文件已存在,则可能会发生这种情况。如果以下一个或多个条件成立,则可能会发生这种情况:
- Word 以前不正常退出,因此没有删除所有者文件。 - 或 -
- Word 的第二个实例正在后台运行并且文档已打开。- 或 -
- 该文档通过网络共享,并且另一个用户已打开它。
根据我的个人经验,我发现上述第一点和第三点的组合会相当频繁地重现此错误。
网络上原始文件旁边留存的临时文件(特别是如果文件很大,她复制粘贴了很多内容,或者文件整天打开)是原因。
要解决此问题,请首先确认网络上的其他用户未打开该文档。如果文档正在使用中,请以只读方式打开该文档。如果未使用,请退出所有 Word 实例,然后删除所有者文件。为此,请按照以下步骤操作。
注意:由于 Microsoft Windows 有多个版本,以下步骤可能与您的计算机不同。如果不同,请参阅产品文档以完成这些步骤。
- 退出所有 Word 实例。为此,请按照下列步骤操作:1. 保存所有工作,然后退出所有程序。2. 按 CTRL+ALT+DELETE 打开“Windows 安全”对话框。3. 单击“任务管理器”,然后单击“进程”选项卡。4. 单击 Winword.exe,然后单击“结束进程”。5. 在“任务管理器警告”对话框中,单击“是”。如果收到一条消息,指出程序没有响应,请单击“立即结束”。6. 对每个出现的 Winword.exe 重复步骤 d 和 e。7. 在“文件”菜单上,单击“退出任务管理器”。
- 启动 Windows 资源管理器,然后浏览到包含您在收到错误消息时尝试打开的文档文件的文件夹。
删除所有者文件。
所有者文件与您尝试打开的文档位于同一文件夹中。所有者文件名使用以下约定:以波浪符号 (~) 开头,后跟美元符号 ($),然后是文档文件名的其余部分。文件扩展名为 .doc。例如,Document.doc 的所有者文件名为 ~$cument.doc。
- 启动 Word。如果 Word 询问您是否要加载对全局或常规模板所做的更改,请单击“否”。
- 打开您的文档。
通过网络共享的文档的附加说明:
如果有多个人可能正在编辑文档,有时可能很难确定谁可能打开了文档。如图所示科技狂谈,找到答案的最佳方法是使用托管共享文件的系统上的计算机管理。
转到Computer Management -> System Tools -> Shared Folders -> Open Files
以查找锁定了文档的用户。如果无法联系用户断开连接,您可以强制断开连接,方法是右键单击锁定的文件并选择“关闭打开的文件”(警告:用户可能会丢失所做的更改)。
答案2
尝试关闭资源管理器中的“详细信息”和“预览”
我刚刚遇到了这个问题,而 MS 知识库文章没有帮助(告诉其他用户关闭文档?这是一个共享的 Excel 工作簿,它们应该由多个用户打开!)
无论如何,解决我们问题的方法是转动细节在资源管理器中关闭选项卡(这是在 Windows 7 下 - 单击Organise
菜单栏通常所在的位置,然后Layout
,然后确保Details
未勾选 - 并且也Preview
听起来是这样。)
这样做立即解决了我们的问题。似乎详细信息选项卡可见会导致文件打开时间过长,Office 应用程序无法访问它。这也解释了为什么人们在打开自己创建的、没有其他人使用的文档时会遇到问题。
答案3
尝试关闭索引服务
我遇到了这个问题,并通过关闭 Windows 中的索引服务解决了它。效果立竿见影,所以我怀疑索引服务在相关文件上死锁了。
在 XP 上,关闭索引服务的方法如下:单击“开始”按钮,然后单击“搜索”。在打开的窗口中,选择“更改首选项”(左下角)。单击“不使用索引服务”、“否,不启用索引服务”单选按钮,然后单击“确定”。
我通过下载发现了问题handle.exe
.handle.exe
告诉您哪个程序打开了该文件,在我的例子中,它是cidaemon.exe
。快速谷歌搜索确认它是 Windows 索引服务的实际索引器。
感谢微软,为我的一天又增加了 2 个小时的价值。
答案4
也许 Office 版本不兼容?
我今天看到了这个错误,当时另一个用户真的做过打开文件。问题是 Excel 告诉第二个用户这是“另一个用户”,而不是报告第一个用户的实际名称,这使得很难确定是谁打开了该文件。
我认为这应该是 Office/Excel 选项中的名称 - 这对两个用户来说都是正确设置的。
在我们的案例中,打开文件的第一个用户使用的是 Excel 2007;第二个用户使用的是 Excel 2010;也许存在一些不兼容性,导致第二个用户的 Excel 无法获取真实名称。
更新:安装补丁来修复名称解析
2012年9月12日更新:加载
修正消息中的错误名称。