C# Microsoft.Office.Interop.Excel无法打开Excel窗口

3
我这里有一个主方法,只是试图打开一个Excel工作簿。这个脚本在其他机器上可以工作,但我无法让它在这台机器上工作。它启动了一个后台EXCEL.exe进程,但没有打开Excel窗口。
如果我在任务管理器中结束该进程,然后打开Excel,在文档恢复窗格中显示mySheet字符串变量的工作簿。所以某些东西被打开了,我只是看不到它。我在这里漏掉了什么?
使用Visual Studio 2017中的控制台应用程序。Excel 2016 64位。
using Excel = Microsoft.Office.Interop.Excel; 

static void Main(string[] args)
    {
        try
        {
            string mySheet = @"C:\\Users\\dwh002\\Documents\\ZIP_COUNTY_032017.xlsx";
            var excelApplication = new Excel.Application();
            excelApplication.Visible = true;
            var workbooks = excelApplication.Workbooks;
            var workbook = workbooks.Open(mySheet);
        }
        catch (Exception)
        {
            throw;
        }

我正在Visual Studio中以我的身份运行它(我是计算机管理员)。没有比这更简单的了。我有一个类似的脚本,使用Microsoft.Office.Interop.Outlook程序集打开Outlook邮件窗口,它完美地工作。某些事情告诉我这可能与Interop.Excel程序集有关。 - David Hedrick
你可以尝试在结尾处加上 Console.ReadLine(),以防止应用程序关闭时发生一些不必要的清理。 - Rand Random
Console.ReadLine(); 没有起作用。 - David Hedrick
1
尝试将 Visible = true 行移动到 workbooks.Open 行之后。我很沮丧地无法重现你的问题。 - HaveSpacesuit
移动Visible = true这行代码成功了。我不确定为什么这台机器是唯一一个在这个顺序中有问题的,但我很高兴它能正常运行。 - David Hedrick
显示剩余2条评论
1个回答

2
在workbooks.Open行下面添加Visible = true代码行可以解决问题。我不确定为什么这台机器是唯一一个在这个顺序中遇到问题的,但我很高兴它起作用了。

非常感谢。这对我也起作用了。但是原因是什么? - Arash.Zandi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接