文章收藏-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