• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#中如何结束Excel(Office)进程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

要确保退出 Office 应用程序,自动化代码一定要满足以下条件:

  • 将每个对象声明为新变量。例如,将下面的代码行
    oBook = oExcel.Workbooks.Add() 
    更改为以下内容:
    Excel.Workbooks oBooks; Excel.Workbook oBook; oBooks = oExcel.Workbooks oBook = oBooks.Add() 
  • 停止使用某个对象时,应使用 System.Runtime.InteropServices.Marshal.ReleaseComObject。这样可以减少 RCW 的引用计数。
  • 要释放对变量的引用,请将变量设置为等于 NothingNull
  • 使用 Office 应用程序对象的 Quit 方法通知服务器关闭。

 

【示例如下】

private void NAR(object o)
{
    try
    {
        System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
    }
    catch {}
    finally
    {
        o = null;
    }
}

private button1_Click(System.Object sender, System.EventArgs e)
{
    Excel.Application oApp = new Excel.Application();
    Excel.Workbooks oBooks = oApp.Workbooks;
    Excel.Workbook oBook = oBooks.Add();
    Excel.Worksheet oSheet = oApp.ActiveSheet;

    NAR(oSheet);
    oBook.Close(false);
    NAR(oBook);
    NAR(oBooks);
    oApp.Quit();
    NAR(oApp);

    System.Console.WriteLine("Sleeping...");
    System.Threading.Thread.Sleep(5000);
    System.Console.WriteLine("End Excel");
}

更详细的说明请参考微软支持文档:http://support.microsoft.com/kb/317109


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C语言的getopt发布时间:2022-07-13
下一篇:
CodeforcesBetaRound#17C.Balance(字符串计数dp)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap