1
我正在开发Excel的C#添加(使用VSTO工具)。我有一个异步进程正在运行,不时弹出一个通知窗口,显示在任务栏附近的所有窗口上方。C#show hide Excel窗口
我能够绑定一个事件来点击这些弹出的气泡。如果用户单击时隐藏Excel加入项,我想显示Excel窗口并导航到某个表单。
这可能吗?
我正在开发Excel的C#添加(使用VSTO工具)。我有一个异步进程正在运行,不时弹出一个通知窗口,显示在任务栏附近的所有窗口上方。C#show hide Excel窗口
我能够绑定一个事件来点击这些弹出的气泡。如果用户单击时隐藏Excel加入项,我想显示Excel窗口并导航到某个表单。
这可能吗?
你可以找到运行感谢这个代码的Excel实例:
oExcelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
(详细信息在此线程:Get instance of Excel application with C# by Handle)
您可能要检查是否Excel是对用户可见:
oExcelApp .Visible = true;
而且这个片段来激活您想要的表:
oExcelApp.Worksheet sheet = (oExcelApp.Worksheet)this.Sheets["Sheet2"];
sheet.Select(Type.Missing);
非常感谢。不过,我的用户最有可能打开几个专业。有没有办法只显示有关的excel?在我的应用程序中,我在.xls文件下有一个ThisWorkBook.cs类。我可以以某种方式存储对此的引用,以便在需要时再显示它? – Jerome
@jerome G:定义“关注excel” - 你将如何决定哪一个Excel过程是正确的?特别是当他们都加载你的插件? –
另请参阅此线程:http://stackoverflow.com/questions/158706/how-to-properly-clean-up-excel-interop-objects-in-c-sharp/159419#159419好清理你的对象和关于如何选择工作表的一些提示。顺便说一句,你确定你会打开Excel的几个**实例吗?或几个工作表? – JMax