文章收藏-FAQ 位置:电脑学习网

用 .NET 操作 Word

    要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目〉添加引用〉浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将 库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!

    在CS代码文件中对命名空间的应用,如:using Word;范例如下:

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using Word;

    namespace ExamSecure
    {
     ///
     /// ItemToDoc 的摘要说明。
     ///
     public class ItemToDoc : System.Windows.Forms.Form
     {
      object strFileName;
      Object Nothing;
      Word.ApplicationClass myWordApp=new Word.ApplicationClass();
      Word.Document myWordDoc;
      string strContent=““;

      private System.ComponentModel.Container components = null;

      public ItemToDoc()
      {
       //
       // Windows 窗体设计器支持所必需的
       //
       InitializeComponent();

       //
       // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
       //
      }
      [STAThread]
      static void Main()
      {
       System.Windows.Forms.Application.Run(new ItemToDoc());
      }
      ///
      /// 清理所有正在使用的资源。
      ///
      protected override void Dispose( bool disposing )
      {
       if( disposing )
       {
        if(components != null)
        {
         components.Dispose();
        }
       }
       base.Dispose( disposing );
      }

      #region Windows Form Designer generated code
      ///
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      ///
      private void InitializeComponent()
      {
       //
       // ItemToDoc
       //
       this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
       this.ClientSize = new System.Drawing.Size(292, 273);
       this.Name = “ItemToDoc“;
       this.Text = “ItemToDoc“;
       this.Load += new System.EventHandler(this.ItemToDoc_Load);

    }
      #endregion
      private void ItemToDoc_Load(object sender, System.EventArgs e)
      {
       WriteFile();
      }
      private void WriteFile()
      {

       strFileName=System.Windows.Forms.Application.StartupPath+“\\试题库【“+GetRandomString()+“】.doc“;
       Object Nothing=System.Reflection.Missing.Value;
       myWordDoc=myWordApp.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);

       #region 将数据库中读取得数据写入到word文件中

       strContent=“试题库\n\n\r“;
       WriteFile(strContent);

       strContent=“试题库“;
       WriteFile(strContent);


       #endregion

       //将WordDoc文档对象的内容保存为DOC文档
       myWordDoc.SaveAs(ref strFileName,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);
       //关闭WordDoc文档对象
       myWordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
       //关闭WordApp组件对象
       myWordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
      }

      ///
      /// 获取一个随即字符串
      ///
      ///
      private string GetRandomString()
      {
       DateTime iNow=DateTime.Now;
       string strDate=iNow.ToString(“yyyyMMddHHmmffff“);

       Random ran=new Random();
       int iRan=Convert.ToInt32(10000*ran.NextDouble());
       string strRan=iRan.ToString();
       //位数不足则补0
       int iRanlen=strRan.Length;
       for(int i=0;i〈4-iRanlen;i++)
       {
        strRan=“0“+strRan;
       }
       return strDate+strRan;
      }

    ///
      /// 将字符串写入到Word文件中
      ///
      /// 要写入的字符串
      private void WriteFile(string str)
      {
       myWordDoc.Paragraphs.Last.Range.Text=str;
      }
     }
    }

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822