c# - 强制将 excel 窗口带到前面?

标签 c# excel

我有一个用 C# .NET 开发的小应用程序,可以操作 excel 表,我不知道为什么有些用户一直告诉我,当他们打开 excel 文件时,窗口没有出现front/top 尽管我将 visible 设置为 true 并将窗口状态设置为最大化。

这是读取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;     
} 

有什么想法吗?

最佳答案

一些对我有用的魔法:

app.WindowState = XlWindowState.xlMinimized; // -4140
app.WindowState = XlWindowState.xlMaximized; // -4137

关于c# - 强制将 excel 窗口带到前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118881/

相关文章:

python - 使用 python pandas 将现有的 excel 表 append 到新的数据框

c# - 编码问题。我哪里错了?

c# - 从 C# 表单登录 Skype

c# - 如何获取excel表格中被占用单元格的范围

c# - 如何在浏览器中打开 Excel 中的超链接

excel - Perl Spreadsheet::ParseExcel 无法解析并返回 undef

c# - 为什么这个 List.Except 在某些情况下这么慢(以及如何加快速度)?

c# - async 在这个例子中有什么好处吗?

c# - 使用 DataGridView 控件和 Access 数据库查询时如何处理错误?

vba - 交叉引用文档的 VLookup