如何防止 Excel 默认锁定文件?

如何防止 Excel 默认锁定文件?

当我双击网络共享上的 CSV 文件时,该文件会在 Microsoft Excel 中打开(这正是我想要的)。但是,Excel 认为我将修改该文件,并且其他人也一样,所以会锁定它。

在实践中非常很少真正想要修改这些文件,只是读取它们。如果我在后台的 Excel 窗口中打开该文件,它会阻止其他人打开同一个文件。

我知道我可以从 Excel 中的“文件”->“打开”对话框中手动以只读方式打开文件。但是,我几乎总是通过在 Explorer(或 Outlook,用于附件)中双击文件来打开文件。是否可以更改文件关联,以便 CSV 文件的默认处理程序为“只读模式下的 Excel”?是否有一个命令行参数可以在“打开方式...”对话框中使用来实现此目的?

或者更直白地说 - 当我在 Windows 资源管理器中查看 CSV 文件时,是否有比自己启动 Excel、选择文件 - >打开、从下拉列表中选择“只读”、手动导航到层次结构中的同一文件夹,然后打开文件更简单的以只读方式打开它的方法?

(当我想修改并保存一个文件时,我很乐意克服这些困难。)

答案1

通过在注册表中添加以下项,我能够得出令人满意的结论:

[HKEY_CLASSES_ROOT\Excel.CSV\shell\Open_in_read_only_Excel]
@="Open read-only in Excel"

[HKEY_CLASSES_ROOT\Excel.CSV\shell\Open_in_read_only_Excel\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE\" /r \"%1\""

这些会在 Windows 资源管理器的右键菜单中创建一个名为“在 Excel 中以只读方式打开”的条目。选中后,将使用标志启动 Excel /r(按照第二个键中的命令),以只读模式打开文件。

这并不完美 - 我宁愿这是默认以前,CSV 文件的操作是无法实现的,并且需要上下文选项才能以读写模式启动。不过,与以前的情况相比,这已经是一个巨大的进步。

答案2

这相当于安杰伊·道尔针对使用 DDE 的 Excel 2013 的回答,也将“打开(只读)”设置为默认操作:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Excel.CSV\shell]
@="OpenReadOnly"

[HKEY_CLASSES_ROOT\Excel.CSV\shell\OpenReadOnly]
@="Open (read-only)"

[HKEY_CLASSES_ROOT\Excel.CSV\shell\OpenReadOnly\command]
@="\"C:\\Program Files\\Microsoft Office 15\\Root\\Office15\\EXCEL.EXE\" /dde"

[HKEY_CLASSES_ROOT\Excel.CSV\shell\OpenReadOnly\ddeexec]
@="[open(\"%1\" /ou \"%u\",,1)]"

[HKEY_CLASSES_ROOT\Excel.CSV\shell\OpenReadOnly\ddeexec\topic]
@="system"

(是的,它,,1使文件变为只读。多么晦涩啊!)

答案3

微软自己有一款轻量级程序,名为 Microsoft Excel Viewer。(谷歌一下)查看文件时不会锁定文件。即使有全尺寸 Microsoft Excel,也可以安装它。

不幸的是,我还没有找到如何设置 Windows 使用“查看器”作为其默认 Excel 应用程序(除非我卸载全尺寸 Excel)。如果我能做到这一点,我们都会有一个非常巧妙的解决方案。 那么有人知道该怎么做吗?

答案4

如果您可以控制文件的保存方式,那么您可以使用一个选项来保存它,该选项在打开时提示只读访问。

文件 > 另存为 > 工具 > 常规选项... > 建议只读

相关内容