VSTO:如何强制Visual Studio运行Excel的新实例
Visual Studio需要运行EXCEL.EXE
的实例,以便在Visual Studio中以devise模式编辑Excel工作表。 不幸的是,如果它发现一个已经运行,它将使用那个。 如果该实例碰巧正在工作,或者正在运行一个macros,macros有时会崩溃。 如果由于某种原因我需要杀死它(我经常这样做),那么VS显然也会停止工作。
解决方法是closures所有EXCEL.EXE
实例,运行VS,打开VSTO项目,然后VSfind没有正在运行的Excel实例并运行它自己的,然后我可以重新打开我以前的实例。 但是这并不总是可能的,所以我想find一种让VS每次都能打开一个新实例的方法。
我是一个VB的家伙,所以我的代码可能缺乏(虽然它只是从这里复制)。
首先你要声明一个variables来保存新的Excel实例:
Excel.Application oXL;
然后,您需要将该variables设置为一个新的实例并使其可见:
oXL = new Excel.Application(); oXL.Visible = true;
然后只在代码中引用该实例,例如,
oXL.Workbooks.Open …