zoukankan      html  css  js  c++  java
  • C#中如何结束Excel (Office)进程

    要确保退出 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

  • 相关阅读:
    select,radio,checkBox,获取/设置选中项的值和文本
    前端自学习网站
    ECMAScript 6
    常见几种浏览器兼容性问题
    HTML+CSS
    高级程序设计JavaScript
    年龄显示0.5岁
    编译原理
    underscore.js常用的API
    python中的字符串
  • 原文地址:https://www.cnblogs.com/jancco/p/2489067.html
Copyright © 2011-2022 走看看