我尝试打开网络共享上的一个文件,但该文件已在使用中,Excel 提示我:
<file> is locked for editing
by ' '.
然后让我以只读方式打开它。
我的问题是 Excel 在哪里获取(或未获取)用户名,用户使用唯一的用户 ID 登录到 Windows 域(samba),并且他们都在 Excel 的本地副本中定义了用户名。
直到大约一个月前,Excel 才返回正确的用户名。
答案1
我从一个来源:
如果我没记错的话,“用户名”实际上是 Excel 选项中设置的名称,而不是实际登录的用户。
因此,它很可能就是任何旧垃圾。
您是否已检查共享上打开的文件以查明是否有人确实打开了它?
可能的原因(来源):
Excel 打开文件时会创建该文件的临时副本,然后在您使用该文件时对其进行更改。当您保存文件时,它会删除原始文件,用临时文件替换并删除临时文件。如果机器或应用程序在此之前崩溃,您可能会被临时文件卡住,无法删除。下次打开文件时,Excel 将尝试创建一个临时文件并意识到已经有一个临时文件,因此会显示文件已打开的消息。
尝试删除他的机器和服务器上的临时目录中的所有文件(可能需要重新启动)。
如果您想打开它而不知道谁拥有它,请检查以下方法:
转到计算机管理,共享文件夹可能会有所帮助。打开运行框,输入 Compmgmt.msc,然后转到共享文件夹并查看打开的文件。
尝试 NET FILE 命令。打开运行框,输入 CMD 以打开命令提示符。在提示符下,输入 NET FILE。它将显示在当前计算机上打开文件的所有远程用户。
如果上述两种方法失败,请转到此处:http://technet.microsoft.com/en-us/sysinternals/bb896655
此 SysInternal 工具将向您显示锁定文件的任何进程。如果其他两种更简单的方法没有找到任何线索,这就是您的答案。