使用C#/ .Net的Excel XLSTART问题

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

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

此行为是devise使然。 您可以按照Microsoft的说明,自行加载XLSTART文件夹中的加载项:

在Excel中使用CreateObject命令时不加载加载项

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

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

如何使用后期绑定来获得excel实例?

请注意,您不必使用后期绑定,如所示的例子。 像这样修改示例应该给你一个强types的Excel.Application对象:

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

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