在新窗口中打开Excel文件


106

当我运行Excel并在Windows资源管理器中双击一个Excel文件时,我希望它默认在新窗口中启动,以便可以将文档移动到单独的监视器。有什么办法可以得到这种行为?

Answers:


88

我也有这个问题。这是我所做的:

在Excel 2003中,转到“工具”->“选项”->“常规”选项卡。

确保选中“忽略其他应用程序”选项。

在Excel 2007和2010中,单击Office按钮-> Excel选项->高级。

在常规下,选中“忽略使用动态数据交换的其他应用程序”。

在此处输入图片说明

我不知道为什么它不是内置的。来源:http : //www.lytebyte.com/2008/05/13/how-to-open-two-excel-files-side-by-side-in -独立显示器/


8
哇!如何不明显的是那个
RBarryYoung

10
他们为什么不将选项称为“ jowfeio woif who82r wcjnmwvo 902r3hj2 w082f8”?那会更加明显!如果我能将这个答案+5,我会的。不,我会+10。谢谢谢谢!!!
Michael Bray 2012年

7
我注册了一个超级用户帐户只是为了赞成这个答案。谢谢!
尼尔·瓦斯

40
不适用于我(Office 2010&Win 7)。选中该选项时,无法打开任何Excel文件:There was a problem sending the command或类似文件。
Nolonar

18
不应使用此答案。请参阅当我双击Excel电子表格时,将打开Excel,但是文档并没有说明原因。另请参阅此答案
GSerg 2013年

18

它有点落后,并且不仅适用于Excel,而且适用于任何程序,但我用鼠标中键单击Windows 7任务栏中的Excel图标并创建一个新的Excel实例,然后在每个Excel实例中打开文档。

在此处输入图片说明

在此处输入图片说明

一旦有多个Excel实例运行,您可以通过按住Shift并右键单击图标来并排排列它们:

在此处输入图片说明


3
我没有意识到单击鼠标中键打开了一个新实例!我最初跳过了这个答案,但它确实很聪明!
弥敦道(Nathan Goings)

13

在不同的窗口中打开所有工作簿有某些缺点。一方面,如果您在一个工作簿中编写了引用另一个工作簿的公式,则该公式将包含另一个工作簿的完整文件路径。另一方面,从一个工作簿复制/粘贴到另一个工作簿将减少可用于目标数据的选项的数量,例如保持列宽等。出于您的目的,这些事情可能无关紧要,但基本上,如果您在多个窗口中使用多个工作簿时遇到任何“怪异”行为,则可以尝试在同一窗口中打开它们以查看怪异现象是否消失。

我的偏好是保留默认行为以在同一窗口中打开Excel工作簿,当我希望在不同窗口中打开单个工作簿时,我右键单击该文件,然后选择“在新窗口中打开”。为了做到这一点,我编写了这个小实用程序。免费。随时安装。


我认为,如果我从Outlook中打开Excel文件,您的实用程序看上去似乎并不简单,对吧?假设答案是“正确的”,那么真正好用的是让通常在Excel中打开的文件实际上在“隐藏”应用程序中打开,然后该应用程序可以在新实例中打开文件或以某种方式检测(例如,按住SHIFT键)我想在一个现有实例中打开,然后如果有多个实例,请问我哪个实例。如果可以的话,我会买(以合理的价格)。
Michael Bray

您是正确的:该实用程序无法直接在Outlook中运行。您的建议很有趣。但是实施它会使我的效用方式比我原本打算的更具侵入性和资源密集性。
Nick Spreitzer

1
只要更新到Excel 2016年不是免费的,但是从2013年开始治愈你的头痛:现在有一个更好的选择
TJJ

8

我遵循此处发布的指南。

简而言之:

  1. 打开regedit(win + R,regedit)
  2. 浏览到 HKEY_CLASSES_ROOT/Excel.Sheet.12/shell/Open/command
  3. 右侧的标签中:
    • 右键单击(Default),选择Modify...在其后"%1"附加一个空格(包括引号)
    • 重命名commandcommand2
  4. 左侧的标签中:
    • command文件夹下方(保留其名称不变),
      将其重命名ddeexecddeexec2
  5. 浏览到 HKEY_CLASSES_ROOT/Excel.Sheet.8/shell/Open/command
  6. 重复步骤3和4
  7. 如果您希望此设置也对csv文件有效,请
    浏览到HKEY_CLASSES_ROOT/Excel.CSV/shell/Open/command
  8. 重复第3步和第4步(或仅重复第6步:))

这适用于Microsoft Excel2007。如果进行更新,则可能必须重复这些步骤。

我个人喜欢这种手动方法,因为它是可逆的。关于其他一些建议的解决方案,我喜欢这样一个事实,您可以轻松地打开两个具有相同名称的文件。


我会说这是最有效的方法。在Excel 2010中可用。谢谢!
Bill Stidham '17

更加有效(因为它不会破坏复制和粘贴功能):更新到
Excel2016。– TJJ

这为我工作为Excel 2007
Varun的夏尔马

6

Excel 2007中:如果你有机会获得编辑Windows注册表,这里有几个注册表文件中添加一个新的实例(无论是默认或没有)打开,当你在你的文件,用鼠标右键单击这样你就可以使用这两个功能选项。

还有一个.reg文件也可以“卸载”它。在excel 2007(32位Windows)中进行了测试。我相信该技术与hyperslug的答案中的技术相同:DDE与否。


现在好多了!我只需要在注册表文件的路径中添加“(x86)”,因为我是在64位上运行的。
David Schmitt,2010年

太可惜了,包含该帖子中引用脚本的zip文件现在丢失了
Antonio

1
@Antonio我似乎仍然把它们摆在身边,但是它缺少一个(要从上下文菜单中进行远程操作),并且我还没有在较新的excel版本上对其进行测试,因此,后果自负。mega.nz/#!sANxXZiS!DM_DsD6gqiHBEUhCW7Q_7DMNy0SNHrwk8Xi4l45iVO4
mtone 2015年

5

由于hyperslug的答案对我不起作用,因此我按照他的链接中的“选项B”操作,现在从开始菜单中打开一个新的(空)Excel,然后将要打开的文件拖放到新窗口中。


很简单,但是可以工作-大卫,谢谢。令人难以置信的是,这种简单的事情需要变得如此困难和违反直觉。
Amos M. Carpenter

4

在Office 2013中,他们解决了此问题。每个工作簿都在Office 2013中位于其自己的窗口中。


2
每本书都有其自己的窗口,但是它们都仍属于同一Excel实例(当您具有要与多个打开的工作簿一起使用的代码时,这可能会造成很大的混乱)。
2013年

3

这是我(我创建的)用于解决同一问题的另一组注册表文件:http : //www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/A_1007-Option-to-open-excel- 2007-documents-in-a-new-instance.html?sfQueryTermInfo = 1 + 30 + excel + instanc + new

提供右键单击菜单以在新实例中打开excel文件,并有选择地使其成为默认行为,但是如果工作簿需要剪切和粘贴并在它们之间设置格式,则仍保留在现有实例中打开它的选项。


2

最后一个适用于我的Windows 7和Excel 2010的regedit指令

要启动多个Excel实例,我们通过不使用DDE打开文件来更改它。在Excel-> Excel选项->高级中选中“忽略使用动态数据交换(DDE)的其他应用程序”框

如果这不起作用,则对于Windows Vista和Windows 7,我们需要编辑注册表以完全删除DDE。重要说明:此部分,方法或任务包含告诉您如何修改注册表的步骤。但是,如果您错误地修改了注册表,则可能会出现严重的问题。因此,请确保您认真执行这些步骤。为了增加保护,请在修改注册表之前先对其进行备份。然后,如果出现问题,您可以还原注册表。

  1. 单击“开始”,在“搜索”框中,键入regedit,然后按Enter。
  2. 找到注册表子项:HKEY_CLASSES_ROOT \ Excel.Sheet.14 \ shell \ Open
  3. 删除ddeexec子项。
  4. 单击命令子项,然后从右窗格中双击“默认值”。将值数据替换为:“ C:\ Program Files \ Microsoft Office \ OFFICE14 \ EXCEL.EXE”“%1”双击命令字符串值,将其数据替换为:(f'^ Vn-} f(ZXfeAR6。 jiEXCELFiles>!De @] Vz(r = f 1lfq?R&“%1”

谢谢萨莉汤(Sally Tang),在此论坛上 https://social.technet.microsoft.com/Forums/office/zh-CN/ee76d08d-3306-406d-894c-16fd3cb824d9/each-workbook-in-separate-windows-excel -2010-windows-7?forum = excel


听起来基本上与此处详述的方法相同:dottech.org/26491/…。重复上其他各种Excel.X条目获取所有的Excel喜欢打开可能文件(CSV,XLS等)

这对我不起作用。我只收到一条消息,说“ [文件名] .xlsx参数不正确。”
zr00

2

另一个解决方案是将.reg具有以下内容的文件合并到Window的注册表中(EXCEL.EXE根据您拥有的版本和安装路径更改路径,并添加要重新映射的任何其他文件类型(Excel.Sheet.12用于.xlsx文件和Excel.Sheet.8用于.xls文件)):

(您可能需要备份现有的HKEY_CLASSES_ROOT\Excel.Sheet.12HKEY_CLASSES_ROOT\Excel.Sheet.8分支(通过regedit.exe在要恢复这种变化情况下的出口)。

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Excel.Sheet.12]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell]
@="Open"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" /r \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected\ddeexec]




[HKEY_CLASSES_ROOT\Excel.Sheet.8]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell]
@="Open"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" /r \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected]

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
command=-

[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected\ddeexec]

如果在应用此文件后,要在同一窗口中打开另一个文件,请使用文件菜单打开另一个文件,它将在当前窗口中打开。


2

Microsoft已经对此进行了修补。您可以在此处下载补丁:

https://support.microsoft.com/zh-cn/help/2636670/how-to-open-excel-files-in-separate-windows-in-windows-7

运行补丁程序将完成“ 让我自己修复 ”部分中所说的所有事情。


这应该是公认的答案。
OSKA

不,不应该。因为它不能解决两个实例之间的复制和粘贴问题。没有真正解决此问题的方法。仅有一个解决方案:更新到
Excel2016。– TJJ

复制粘贴有效。显然,它不会粘贴到数据的相对链接。顺便说一句,Office倾向于随着时间的推移破坏这些内容,因此请再次修补此修补程序。
Lockhrt

我应用了此补丁,它工作了几个星期。然后它停止工作,我不得不再次应用补丁。
pacoverflow


1

我使用Excel 2010,并希望打开一个新实例,以便能够在电子表格之间轻松切换。我使用的是Alt + Tab,不适用于excel的默认设置。如果这是您希望为每个电子表格打开一个新实例的主要原因,则可以通过以下方法解决:

  1. 开启Excel
  2. 打开文件菜单
  3. 点击“选项”
  4. 点击“高级”
  5. 向下滚动到“显示”部分
  6. 选中“在任务栏中显示所有窗口”框

这样可以更轻松地在电子表格之间进行切换,但是,如果您要同时查看两个电子表格(例如,如果您有多个监视器),则仍然必须打开一个新的excel实例并从该实例中打开文件。


0

禁用DDE似乎是最好的选择,但是正如其他人指出的那样,当您尝试通过Windows资源管理器打开电子表格时,这会导致Excel打开空白窗口。如果您通常通过Windows资源管理器打开电子表格,我发现最好的选择是重新关联扩展并指定您自己的命令。

为此,以管理员身份打开命令提示符并运行以下命令(修改路径以匹配您的Office安装):

C:\WINDOWS\system32>FTYPE XLSX.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1"
C:\WINDOWS\system32>ASSOC .xlsx=XLSX.FILETYPE
C:\WINDOWS\system32>FTYPE XLSM.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1"
C:\WINDOWS\system32>ASSOC .xlsm=XLSM.FILETYPE

每当您双击一个Excel文件时,这将导致一个新窗口打开。当您右键单击Excel图标并选择一个最近的电子表格时,它也可以解决此问题。但是,当您通过Excel中的“打开”对话框打开电子表格时,该行为将无法解决,这些行为仍会在同一窗口中打开。

注意:如果将上述命令放在批处理文件中,则需要使用"%%1"代替"%1"

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.