CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请教各位大侠,引入word10之后,怎样取得当前的页的页码?

楼主scorpioZ(蝎子嘻嘻)2004-12-01 20:29:07 在 .NET技术 / C# 提问

BuiltInDocumentProperties在c#中没法用啊 问题点数:0、回复次数:7Top

1 楼lucbesson(女娃哈哈)回复于 2004-12-01 21:05:50 得分 0

 
  要操作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;    
      }    
    }    
  }  
   
    ----------------------------  
  用.net操作word       你再尝试一下吧,看看有什么方法   !Top

2 楼scorpioZ(蝎子嘻嘻)回复于 2004-12-02 01:23:46 得分 0

谢谢楼上的,给出了这么长代码;可是你说的这些,我都知道的  
   
  只是reference   word10.0之后,word的com对象,app,doc什么的,方法很多,没办法一个一个的找到我所需要的;查msdn也查不到,网上类似的资料也少,所以只能够在这边问  
   
  还是拜托各位大哥了Top

3 楼scorpioZ(蝎子嘻嘻)回复于 2004-12-02 15:02:15 得分 0

没人知道么?Top

4 楼lucbesson(女娃哈哈)回复于 2004-12-02 15:06:06 得分 0

你难道非要那么做吗   ?  
   
  我也是新手,嘿嘿    
   
  顶Top

5 楼wangxt(海贝)回复于 2004-12-02 16:14:59 得分 0

帮你顶Top

6 楼scorpioZ(蝎子嘻嘻)回复于 2004-12-02 17:15:03 得分 0

因为我也看过vba中自动添加页码的代码,可是不知道放在c#里面怎么用   >_<Top

7 楼scorpioZ(蝎子嘻嘻)回复于 2004-12-03 10:55:39 得分 0

顶!Top

相关问题

  • word页码问题?
  • word页码问题
  • 请教word页码的简单问题
  • word文档的页码问题
  • 打印页码
  • 设置页码
  • Word页码从第3页开始显示,如何实现!
  • 在word中如何可以得到文档的页码??急!!
  • 请问一个关于WORD中页码的问题。
  • 如何在Word中实现每栏一个单独页码?

关键词

  • 文件
  • 组件
  • word
  • 试题
  • 文档
  • 代码
  • office
  • ref nothing
  • itemtodoc
  • myworddoc

得分解答快速导航

  • 帖主:scorpioZ

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo