我在C# .NET
操縱Excel工作表開發的小應用程序,我不知道爲什麼有些用戶一直告訴我,當他們打開Excel文件中的窗口不會出現在前面/頂,雖然我設置可見真和最大化窗口狀態。力量把excel窗口帶到前面?
這是讀取的Excel文件中的函數:
public static void OpenExcel(string fileName, bool visibility, FunctionToExecute fn = null)
{
string addInPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Microsoft\\AddIns\\mDF_XLcalendar.xla");
deleg = fn;
app = new Excel.Application();
app.Workbooks.Open(addInPath);
app.Workbooks.Open(fileName);
app.ScreenUpdating = true;
app.DisplayAlerts = true;
app.Visible = visibility;
app.UserControl = true;
app.WindowState = Excel.XlWindowState.xlMaximized;
EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(application_WorkbookBeforeClose);
EventSave_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeSaveEventHandler(Open_ExcelApp_WorkbookBeforeSave);
app.WorkbookBeforeClose += EventDel_BeforeBookClose;
app.WorkbookBeforeSave += EventSave_BeforeBookClose;
}
任何想法?
難道是因爲你設置'WindowState'後,你實際上打開工作簿? – gunr2171
如果你的.NET代碼仍然留下了一些代碼來執行您的Excel應用程序打開後,然後將焦點設置回你的計劃。如果你的程序有GUI,那麼它將在Excel之上。這麼一件事,你可以嘗試是招行開擴Excel中的烏爾代碼 –
我想這結束,但它沒有工作,事情是,我不能重現我的機器上的問題,因爲它工作得很好在我的... –