微软 Office 中的表格工具 Excel 默认情况下会将多个表格文件在同一个 Excel 窗口中打开,在窗口内部显示为多个小窗口。有些情况下这种处理方式对用户来说 并不方便,比如要对比两个表格内容,或者有多个显示器并希望将不同表格输出到不同的显示器上。幸好,在 Excel 选项中提供了这个设置,只是名称不太显眼。
要总是在新窗口(new instance)中打开表格(spreadsheet),需要关闭 Excel 的动态数据交换(Dynamic Data Exchange, 简称 DDE)功能。
注意:启用该功能会导致双击打开 Excel 文件的时候遇到错误“An error occurred when sending commands to the program”(向程序发送命令时遇到错误)。此时需要先打开 Excel 程序,然后从程序中打开该文件。详见 M$ 的帮助文档。
关闭方法,或者说开启多个 Excel 窗口的方法:
- 打开 M$ Excel 程序;
- 单击工具栏的“文件”(File)展开菜单,点击“选项”(Options)打开“Excel 选项“(Excel Options)对话框;
- 点击对话框左侧中的“高级”(Advanced),然后在右边的设置区翻到最下面;
- 在“一般”(也许是叫“通用”,General)版块里面有个“Ignore other applications that use Dynamic Data Exchange (DDE)”,将其前面的选框勾选上;
- 保存并重新打开 Excel 表格即可打开多个窗口的 Excel 了。
关于 DDE 的功能可以参考维基词条 Dynamic Data Exchange。简单来说就是,如果别的某个程序(比如 Word,Matlab 或者数据库等等)引用了 Excel 表格中的数据,DDE 可以在数据发生更改时通知别的应用程序来更新他们的数据,这样就可以自动保持数据的一致性。所以如果平常不太使用这么高阶的功能,又需要在不同的窗口打开 Excel 表格,就可以考虑这个设置。
目前还不清楚 Excel 表格之间的互相应用是否会受到此功能的影响。嗯,主要是水景太懒,不想试了。至少同一个表格内的单元格数据引用不会受到影响。如果有需要,在关闭 DDE 功能后应该立即做个测试:修改某个被引用的单元格,看是否影响引用它的那个表格中的数据是否会发生相应的改变。
如果有朋友测试了不同 Excel 表格之间的引用问题,还请回复告知一声。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/ms-excel-open-in-new-window/>。转载请保留此信息及相应链接。
专业版2016 提示:“向程序发送命令时出现问题”
啊,对不起,我只试过 2010 版(只能用到这个)。还以为都一样呢。我恐怕帮不上什么忙。
谢谢你的反馈。