【问题标题】:How do I make an Office 2013/2016 application run in separate process on Microsoft Windows?如何使 Office 2013/2016 应用程序在 Microsoft Windows 上以单独的进程运行?
【发布时间】:2019-01-08 17:56:41
【问题描述】:

我正在开发一个 Excel 插件。它适用于 2013 年之前的 Excel 版本。但是当它针对 Excel 2013 运行时,很多功能都被破坏了。我发现根本原因是所有窗口都在 Excel 2013 中的一个进程中运行。即使用户明确启动一个新窗口通过双击桌面上的快捷方式或单击开始菜单中的项目,不会创建新进程。 这会导致进程之间的状态冲突。状态栏和功能区是共享的。例如,当我在一个窗口中更新状态栏信息时,其他窗口的也会更新。当我在一个窗口中选中/取消选中功能区按钮时,其他窗口的按钮也会被选中/取消选中。 我认为一个可能的解决方案是更改一些配置以使其像以前一样工作。但我在谷歌上搜索没有发现任何相关内容。

有没有人知道怎么做或者有其他解决方法?

【问题讨论】:

  • 您可以在问题标签中声明您使用的编程语言。它可以增加获得帮助的可能性。也添加 VBA,即使您不使用它。出于同样的原因。
  • 希望this 能帮到你。

标签: excel vba vsto office-interop office-2013


【解决方案1】:

使用 Excel 2013,您的默认设置是在现有 Excel 进程中创建一个新窗口。为了强制创建 Excel 进程的单独实例,您有以下选项:

选项 1

在命令提示符下,运行 EXCEL /X,您将打开 Excel 窗口作为新实例。 /X 命令开关强制创建一个新实例。

选项 2

  1. 右键单击Windows任务栏中的Excel图标
  2. 转到列出应用程序的位置
  3. 按住键盘上的 ALT 键并单击“Excel 2013/2016”
  4. 它应该给你这个提示,“你想启动一个新的 Excel 实例吗?”
  5. 点击“是!”

选项 3

使用此技术直接打开现有文档:

  1. 按住 Alt。
  2. 右键单击 Excel 文件。
  3. 点击打开。
  4. 继续按住 Alt,直到弹出“您要启动 Excel 的新实例”对话框。
  5. 点击是。

更多详情,请访问: http://sqlblog.com/blogs/marco_russo/archive/2012/07/24/running-excel-2013-in-a-separate-instance-excel-powerpivot.aspx

【讨论】:

    【解决方案2】:

    重新。 "右键单击 Windows 任务栏中的 Excel 选项卡并按住 ALT 键"
    -此选项在带有 Excel 2016 的 Windows 10 中不可用。 但是,Excel /X 选项有效,并且如上所述,在新进程中创建了第二个更改撤消缓冲区。

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2013-11-15
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多