我在 Windows 10 PRO 上使用 MS Office Home & Business 2019,我的电脑速度非常快(i7 第 6 代处理器,配备 16GB RAM 和 SSD 驱动器)。
打开 Excel 文件时出现以下问题(仅从 Windows 资源管理器双击文件时):
当我打开第一个文件(从 Windows 资源管理器)时,它打开得很快,但前提是之前没有打开其他 Excel 文件
当我打开第二个文件(从 Windows 资源管理器)时,文件最多需要 10 秒钟才能打开。文件有多大并不重要。但另一方面,如果我将同一个文件从 Windows 资源管理器拖放到现有的 Excel 中,它会快速打开(或者如果我通过 Excel-->文件-->打开打开它)???
可能是什么问题呢?
我尝试过的事情:
- 不同的计算机
- 格式化硬盘 + 全新 Windows 10 + Office 安装
- 在安全模式下运行 Excel
*我在使用 Excel 2010 和 2013 版本时没有遇到此问题。问题出现在 365 版本中,然后也出现在 2019 版本中。
更新:我最近升级到了 MS Office 365(小型企业版),但问题仍然存在。
答案1
坦率地说,由于 Excel 的特殊架构,我不相信这个长期存在的问题有解决方案。
这个问题已经存在大约十年了,许多人声称已经找到了各种解决方案。我尝试了其中几种解决方案,但没有一种对我有用。
然后我开始跟踪启动时Excel的运行情况。
从视觉层面来看,我观察到,如果 Excel 处于最小化状态,则调用第二个电子表格会导致第一个电子表格恢复并显示,然后第二个电子表格才会出现在前面。更有趣的是,当多个电子表格处于最小化状态时,打开一个新电子表格会导致显示最后调用的电子表格,然后新调用的电子表格才会出现在前面。
在进程级别,这甚至更奇怪。始终只有一个名为的进程EXCEL.EXE
。启动新电子表格时,我们会看到以下内容:
EXCEL.EXE
新的电子表格中会出现一个新- 短暂等待
- 出现最后一个电子表格,紧接着出现新的电子表格
- 新的程序
EXCEL.EXE
自动终止,只剩下原始程序EXCEL.EXE
自行运行并显示两个电子表格。
这让我想起了 SDI 和 MDI Office 的演变,当时 Office 程序曾经有两种运行模式:
- SDI(单文档界面)——每个文档都有自己的程序实例,每个文档在任务栏上显示为单独的条目
- MDI(多文档界面) - 仅运行一个程序实例,在任务栏中仅显示一个条目。
每个 Office 程序中曾经有一个名为“在任务栏中显示所有窗口”的选项,用于控制 Office 程序是以 SDI 还是 MDI 模式启动。然而,这个选项 在 Office 2013 中已删除。
当前的 Office 模式是 MDI,其中所有显示的文档都只有一个程序实例。但是,他们确实设法在任务栏上为每个文档设置了单独的条目。
当微软 Office 架构师为 Office 2013 做出这一决定时,Word 显然拥有更好的开发人员,因为新打开的 Word 文档会立即出现,即使只有一个winword.exe
实例。Excel 开发人员显然采用了一种更繁琐的 Excel 实例间通信模式,因此如果 Excel 已在运行,新的 Excel 实例需要更长的时间与旧实例进行通信,让其知道有一个新的电子表格需要打开和显示。
解决方案:没有。我能提供的唯一“解决方案”是恢复到 Excel 2013 之前的版本,但这肯定不是解决方案。微软做出了决定,我们必须遵循。
答案2
在注册表编辑器(开始 >> regedit
)中,将以下键的值设置为[open("%1" /ou "%u")]
:
HKEY_CLASSES_ROOT\Excel.CSV\shell\Open\ddeexec
HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec
HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec
以下是其中一个注册表设置的屏幕截图:
答案3
这不是一个解决问题的方法,但希望它能够帮助您或其他人。
由于您没有发布任何链接,我理解您没有找到任何相关帖子。我将在这里提供我发现的一些内容(即使没有描述确切地同样的问题,或软件版本,他们可能帮助),在某些情况下提取最相关的内容。我会等待您的反馈。
-
“我使用 Revo 彻底卸载了 Office 及其所有痕迹。我进行了完全重新安装(因为修复无法完成),这解决了问题”
“这些电脑上预装的音频驱动程序似乎是问题的根源”
-
您有 Realtek 声卡吗?
-
关闭 Cortana
杀
sysmon
答案4
在 Excel 2021 中也遇到了同样恼人的问题(最近刚从 2013 升级,没有这个问题)。从文件资源管理器或命令行/脚本打开文件时,如果 Excel 已经打开,则文件打开完成之前会有明显的延迟(大约 3 秒,有时长达 10 秒)。一个不太理想的解决方法是最小化 Excel,然后文件立即准备就绪,然后再返回。
但是永久的解决方案是在新实例中打开 Excel,并使用excel.exe
启动开关/x
和可选的/e
开关跳过启动屏幕进行处理。如果在脚本或命令行中打开 Excel 文件,则只需使用以下语法(假设标准安装路径):
"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /e /x "<FilePath>"
要从文件资源管理器在新进程中打开 Excel,您必须编辑要使用的所有 Excel 文件扩展名的注册表 shell Open 命令。对于扩展.xlsx
名,注册表设置位于 ,对于扩展名,注册表设置位于HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command
,对于.xlsm
扩展名,注册表HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Open\command
设置位于。.csv
HKEY_CLASSES_ROOT\Excel.CSV\shell\Open\command
对于默认值,只需添加/x
和可选/e
:
"C:\Program Files\Microsoft Office\Root\Office16\EXCEL.EXE" /e /x "%1"
在单独的进程中运行 Excel 工作簿有一些限制,也许最重要的是您不能在不同的工作簿之间进行选择性复制和粘贴。