这是我的第一个问题,我非常害怕我的回答可能已经在其他帖子上了。但是我已经搜索了几个小时,我实在无法解决这个问题。
所以这就是事情。
简而言之,我正在使用Windows窗体,该窗体必须打开某些工作簿并在这些工作簿中运行宏。
这些工作簿中的宏使用某些功能,这些功能不属于标准excel库。我在银行工作,每次打开某些exe文件时都会加载一些专有功能和加载项。
我可以通过以下方式启动一个excel应用程序:
Microsoft.Office.Interop.Excel.Application xlApp =
new Microsoft.Office.Interop.Excel.Application();
但这叫做normal
excel。如何在此特定的excel实例中添加所需的库?
另一种解决方案是使用 System.Diagnostics.Process.Start("CMD.exe","My fancy excel");
但这需要花费大量时间,因为必须为每个工作簿创建一个新实例。
需要任何想法或澄清吗?
谢谢大家的时间,希望我足够清楚!
通过自动化启动Excel时,它不会加载任何加载项。因此,您必须使用以下命令显式加载加载项:
Application.RegisterXLL
(用于.xll加载项),或AddIns.Add
/ AddIn.Installed = true
(用于.xla或.xlam加载项)。这是有关此主题的一个较旧的问题:以编程方式实例化Excel时加载加载项,以及相关的MSDN博客文章:http : //blogs.msdn.com/b/accelerating_things/archive/2010/09/16/loading-excel- add-ins-at-runtime.aspx和另一篇Microsoft支持文章:https : //support.microsoft.com/en-us/kb/213489。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句