C#/ .Net的Excel XLSTART问题

时间:2010-11-18 15:28:46

标签: c# .net excel

我有一个C#应用程序(.Net 1.1)并使用excel interop来显示一些reoprts。事实证明,打开excel工作簿时,XLSTART中的文件不会被读取,就好像已经运行了/ automation命令行开关一样。

从C#启动XLS表时,有没有办法启用XLSTART?

2 个答案:

答案 0 :(得分:2)

此行为是设计使然。您可以按照Microsoft的描述自己在XLSTART文件夹中加载加载项:

  

<强> Add-ins do not load when using the CreateObject command in Excel

另一个选项是使用Process.Start启动Excel,然后通过调用AccessibleObjectFromWindow函数从正在运行的实例启动自动化对象。

示例代码如何在C#或VB中执行此操作可以在相关问题中找到:

  

<强> How to use use late binding to get excel instance?

请注意,您不必像给定的示例那样使用后期绑定。像这样修改示例应该为您提供强类型Excel.Application对象:

Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
    BindingFlags.GetProperty, null, ptr, null);

答案 1 :(得分:0)

因为它使用互操作,所以它将Excel作为自动化服务器打开。这与使用/ automation开关是一回事。以这种方式打开Excel时,将禁用所有自动打开的文件和自动运行的宏。