【发布时间】:2010-05-07 13:21:03
【问题描述】:
在我通过 com interop 与 Excel 交互的 winforms 应用中,
我正在尝试附加到现有的 Excel 进程(如果有的话)。获取对象似乎运行良好,但如果 Excel 应用程序被最小化(这很可能在我的用例中),我无法恢复窗口并将其置于前面。
我试过以下说法:
try
app = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
catch (Exception) { /* ignore */ }
if (app == null)
{
app = new Excel.Application();
app.Visible = true;
}
if (app.ActiveWindow.WindowState == Excel.XlWindowState.xlMinimized)
app.ActiveWindow.WindowState = Excel.XlWindowState.xlNormal;
wb = ...
wb.Activate();
这些都没有任何效果。我怎样才能做到这一点?
(请注意:我的问题与存在实例的情况有关,因此“Visible = true”不是必需的,this thread 不适用。 em>)
【问题讨论】:
标签: excel interop windowstate