首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除Rogue Excel应用程序

清除Rogue Excel应用程序
EN

Stack Overflow用户
提问于 2016-01-12 18:39:05
回答 1查看 57关注 0票数 1

我有一个作业服务器,可以在一天中(使用MS查询)自动化各种报表。不可避免地,一个或多个报告将被提交,留下一个打开的Excel实例,该实例必须清除。

清理作业使用Interop,如下所示:

代码语言:javascript
复制
Excel.Application xl;

for (int i = 0; i < 20; i++)
{
    try
    {
        xl = (Excelx.Application)Marshal.GetActiveObject("Excel.Application");
        xl.Visible = true;
        xl.Quit();
    }
    catch (Exception ex)
    {
        break;
    }
}

它大部分时间都能工作,但偶尔我会得到一个不想死的Excel实例。第二天早上,我可以在任务管理器中手动终止这个过程,但是我还没有找到在前一天晚上运行的清理工作中复制这个过程的方法。

如果有人能指点我如何在上面的工作中添加一个后续任务,这会稍微“粗鲁”一些,并且会杀死任何名为EXCEL.exe的东西,它会很感激这个提示。

而且,我必须为机器上的每一个用户运行这个任务。如果有办法解决这个问题,我也会欢迎你的反馈。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-19 13:23:03

看来,强行关闭这些进程是可行的办法:

代码语言:javascript
复制
foreach (var process in Process.GetProcessesByName("excel"))
{
    process.Kill();
}

https://stackoverflow.com/a/3345421/1278553

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34751369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档