在 Windows 7 中打开 xlsx 文件会打开 Excel 365,但不会加载文档

在 Windows 7 中打开 xlsx 文件会打开 Excel 365,但不会加载文档

我看到有人发布了类似的问题,但这些解决方案都不起作用,或者它们适用于不同版本的 Excel 和 Windows。让我尝试针对我的情况提出一个具体问题。

问题(烦恼):当我双击文件.xslx、从最近的文档中选择等时,Excel 会启动。但是,它启动时没有打开文件。没有显示错误消息。如果我打开它,文件会正常打开从 Excel;我无法启动 Excel文件已加载。我正在使用 Windows 7 和 Office 365。

我尝试过的:

  • 禁用选项 -> 高级 -> 常规 -> 忽略使用 DDE 的其他应用程序。为了好玩,我甚至尝试启用此功能,然后重新禁用它。
  • 取消与 Excel 的关联.xslx并重新关联
  • 在 Excel 上运行修复
  • 更新版本(这是企业安装,修复程序已推送给我)
  • 检查事件查看器中的 Windows 应用程序日志;尝试启动文件时没有出现错误。
  • 当我使用指定的文档直接从命令行运行 excel 时,即"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Path\to\my\file.xlsx",它会按预期启动。这让我认为问题出在我的 Windows 配置上,而不是 Excel 上。
  • assoc .xlsx节目.xlsx=Excel.Sheet.12
  • ftype Excel.Sheet.12节目Excel.Sheet.12="C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE" /dde
  • 其他在职的文件启动具有相同的assoc设置ftype
  • 资源管理器中的“编辑”上下文菜单命令与“打开”有同样的问题

我不能尝试的是:

  • 更改文件关联的具体细节;资源管理器中的文件夹选项中的文件类型在 Windows 7 中不存在,因此我无法更改命令行参数。但是,我已经以 Windows 7 方式检查了文件关联。

知道什么原因导致 Windows 在打开文件时无法按预期启动 Excel 吗?

更多线索

查看启动的进程,命令行中完全缺少文档路径;这是全部运行的内容:

“C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE”/dde

不知何故该文件没有被添加到命令行。

答案1

我只是想为精确的相同的症状(能够使用命令提示符打开,并通过 excel 内浏览,但不能从文件资源管理器打开)可以通过缺少 DDEExec 注册表项来解释。

例子:

HKEY_CLASSES_ROOT\Excel.Addin\shell\Open\ddeexec
HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec

每个父密钥都会缺少以下密钥:

HKEY_CLASSES_ROOT\Excel*\

我的解决方法是将每个密钥导出到工作计算机(具有相同的 Excel 版本)上,然后将其导入到问题系统上。当时我没有想到使用 PowerShell,因此只能自动完成一半的解决方案。此单行代码将导入.reg您指定的文件夹中的所有密钥。

gci "PATH TO FOLDER CONTAINING .REG FILES" |select -expandp fullname|%{&([scriptblock]::create("regedit /s $_"))}

答案2

我找到了一个解决方法。奇怪的是,它确实有效如果没有这个改变对于其他人来说,如果有人对 shell 的内部工作原理有更多了解,我们将不胜感激。通过在提升的命令提示符中输入以下内容(添加%1):

ftype Excel.Sheet.12="C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE" /dde "%1"

...文件路径现在已传递到 Excel,并且现在可以启动文件了。

相关内容