这将启动一个新的Excel工作簿:
Excel.Application oXL;
Excel._Workbook oWB;
oXL = new Excel.Application();
oXL.Visible = true;
oWB = (Excel._Workbook)(oXL.Workbooks.Add( Missing.Value ));
然而,如果有人想要......
- 'GetObject'(在熟悉的自动化范例中)到已经加载并在屏幕上打开的工作簿?或
- 按路径名访问并将数据写入已关闭的工作簿?
这两者都可以通过旧标准来实现。最好是后者虽然我现在不是选择者。谢谢你的帮助。
答案 0 :(得分:2)
您可以使用以下方式获取现有的Excel实例:
Marshal.GetActiveObject("Excel.Application")
如果没有Excel运行实例,这将抛出COMException。
自动显示Excel实例的一个缺陷是,您的调用可能会因Excel繁忙而失败。您可能需要实施IMessageFilter以避免此问题。
至于按路径访问已关闭的工作簿 - 您需要打开工作簿:
oXL.Workbooks.Open(...)