【发布时间】:2011-11-18 16:56:22
【问题描述】:
我正在为 Excel 开发 C# 插件(使用 VSTO 工具)。我有一个异步进程正在运行,它不时弹出通知气泡,显示在靠近任务栏的所有窗口上方。
我可以将一个事件绑定到点击这些弹出的气泡。如果用户单击时隐藏了 Excel 插件,我想显示 Excel 窗口并导航到某个工作表。
这可能吗?
【问题讨论】:
我正在为 Excel 开发 C# 插件(使用 VSTO 工具)。我有一个异步进程正在运行,它不时弹出通知气泡,显示在靠近任务栏的所有窗口上方。
我可以将一个事件绑定到点击这些弹出的气泡。如果用户单击时隐藏了 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;
还有这个sn-p来激活你想要的工作表:
oExcelApp.Worksheet sheet = (oExcelApp.Worksheet)this.Sheets["Sheet2"];
sheet.Select(Type.Missing);
【讨论】: