如何检测Excel是从自动化开始的(VSTO Add In context)

时间:2015-01-23 09:00:12

标签: c# excel automation vsto excel-addins

上下文:

我正在运行VSTO Excel应用程序上下文插件,当我在其他可见模式下自动启动MS Excel时,我也会加载我的插件。

现在,有必要知道MS Excel是否由其他具有自动化功能的流程启动,例如

  • 的CreateObject()
  • ExcelApplicatoin.Visible = true

(" / automation -embedding")

目前,我评估以下Excel属性:

ThisAddIn.Application.UserControl

但是当在CreateObject期间启动MS Excel时,属性仍然是" False"。

有没有人有任何想法解决这个问题?我没有找到其他属性来解决这个问题。

1 个答案:

答案 0 :(得分:1)

我认为可以使用cmd参数:

bool isExcelStartedByAutomation = (Environment.GetCommandLineArgs().Contains("/automation") && Environment.GetCommandLineArgs().Contains("-Embedding"));