本文由中国C#技术学习中心整理 如果你对本文有不明之处请到技术论坛讨论!
要操作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 { 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( ) { 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( ) { 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 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 ); myWordDoc.Close( ref Nothing, ref Nothing, ref Nothing ); 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( ); int iRanlen=strRan.Length; for( int i=0;i<4-iRanlen;i++ ) { strRan="0"+strRan; } return strDate+strRan; } private void WriteFile( string str ) { myWordDoc.Paragraphs.Last.Range.Text=str; } } }
本文由中国C#技术学习中心整理 如果你对本文有不明之处请到技术论坛讨论!
|