zoukankan      html  css  js  c++  java
  • c#读Word文件,最后彻底释放资源

    我顶 字号:

    private void button5_Click(object sender, System.EventArgs e)
        {
          object filename="D:\\nettest\\window\\serial\\a.doc"; //要打开的文档路径
          string strKey="正文"; //要搜索的文本
          object MissingValue=Type.Missing;
          object oMissing = System.Reflection.Missing.Value;

          Word.Application wp=new Word.ApplicationClass();
    Word.Document wd=wp.Documents.Open(ref filename,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue);

          if (wd.Content.Text.IndexOf(strKey)>=0)
          {
            MessageBox.Show("文档中包含指定的关键字!","搜索结果",MessageBoxButtons.OK);
          }
          else
          {
            MessageBox.Show("文档中没有指定的关键字!","搜索结果",MessageBoxButtons.OK);
          }
          wd.Close(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wd);
          wd = null;

          wp.Quit(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wp);
          wp = null;
          System.GC.Collect();
        }

        private void button6_Click(object sender, System.EventArgs e)
        {
          object filename="D:\\nettest\\window\\serial\\a.doc"; //要打开的文档路径
          string strKey="正文"; //要搜索的文本
          object MissingValue=Type.Missing;
          object oMissing = System.Reflection.Missing.Value;

          Word.Application wp=new Word.ApplicationClass();
          Word.Document wd=wp.Documents.Open(ref filename,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue);

          wd.Content.Find.Text=strKey;
          if (wd.Content.Find.Execute(ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue))
          {
            MessageBox.Show("文档中包含指定的关键字!","搜索结果",MessageBoxButtons.OK);
          }
          else
          {
            MessageBox.Show("文档中没有指定的关键字!","搜索结果",MessageBoxButtons.OK);
          }
          wd.Close(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wd);
          wd = null;

          wp.Quit(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wp);
          wp = null;
          System.GC.Collect();
        }

        private void button7_Click(object sender, System.EventArgs e)
        {
          object filename="D:\\nettest\\window\\serial\\a.doc"; //要打开的文档路径
          string strKey="正文"; //要搜索的文本
          object MissingValue=Type.Missing;
          object oMissing = System.Reflection.Missing.Value;

          Word.Application wp=new Word.ApplicationClass();
          Word.Document wd=wp.Documents.Open(ref filename,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue,
            ref MissingValue,ref MissingValue);

          wd.Content.Find.Text=strKey;
          int i=0,iCount=0;
          Word.Find wfnd;

          if (wd.Paragraphs!=null && wd.Paragraphs.Count>0)
          {
            iCount=wd.Paragraphs.Count;
            for(i=1;i<=iCount;i++)
            {
              wfnd=wd.Paragraphs[i].Range.Find;
              wfnd.ClearFormatting();
              wfnd.Text=strKey;
              if (wfnd.Execute(ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue,ref MissingValue,
                ref MissingValue))
              {
    MessageBox.Show("文档中包含指定的关键字!","搜索结果",MessageBoxButtons.OK);
                break;
              }
            }
          }
          wd.Close(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wd);
          wd = null;

          wp.Quit(ref oMissing, ref oMissing, ref oMissing);
          System.Runtime.InteropServices.Marshal.ReleaseComObject (wp);
          wp = null;
          System.GC.Collect();
        }

  • 相关阅读:
    iOS 开发中的坑与相关技巧
    SDK 封装的相关看法
    线程问题---在iPad上会崩溃,在iPhone上不会崩溃
    添加新手引导页需要注意的几个小点
    iOS 七牛云上传并获取图片----【客户端】
    iOS 线程相关-----绝对de干货
    Vue.js 基础示例
    lib-flexible 结合 WKWebView 的样式错乱解决方法
    基于CommentCoreLibrary简单的弹幕实现
    页面上动态编译及执行java代码
  • 原文地址:https://www.cnblogs.com/swarb/p/9924395.html
Copyright © 2011-2022 走看看