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

VBA编程调用word的代码!各位高手帮解释一下!

楼主waiwaizz()2006-06-02 09:46:20 在 VB / VBA 提问

我的系统里面用到这样一段用VBA编程调用word的代码!我是初学的。如果用专业的的话来说,应该怎么样来描述delphi中调用word的这Delphi里封装的三个主要交互控件:TWordApplication,TWordDocument,TwordFont.  
  本程序的主要实现技术如下:  
  const  
      BF_Name:array[1..10]   of   String=('一、','二、','三、','四、','五、','六、','七、',     '八、','九、','十、');  
      JG:String='       ';  
  var  
      ItemIndex:OleVariant;  
      NewDocument:_Document;  
      FZ,TL,BF,STH,i,WTS,YTS:integer;  
      temp,AppPath,BGName:string;  
      procedure   SetFont(aBold,aItalic,aShadow,aSize:integer);  
      begin  
          SJ_WF.ConnectTo(SJ_WD.Sentences.Get_Last.Font);  
          SJ_WF.Name:='宋体';  
          SJ_WF.Bold   :=   aBold;  
          SJ_WF.Italic   :=   aItalic;  
          SJ_WF.Shadow   :=   aShadow;  
          SJ_WF.Size   :=   aSize;  
      end;  
  begin  
      AppPath:=ExtractFilePath(Application.ExeName);     //取得本程序的路径  
      //显示进度窗口  
      RateProcess_F.Show;  
      RateProcess_F.CZ_P.Caption:='正在链接Microsoft   Office   Word......';  
      RateProcess_F.Rate_Gauge.MaxValue:=SJT_ADOQ.RecordCount+25;  
      RateProcess_F.Repaint;       //重绘窗口,否则显示不出新设置的控件属性  
      try  
          SJ_WA.Connect;  
      except  
          MessageBox(handle,'无法连接,也许没有安装Word','连接出错',   MB_Ok   or   MB_ICONERROR);  
          RateProcess_F.Close;  
          Abort;  
      end;  
      RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+10;  
      //SJ_WA.Visible   :=   False;  
      //SJ_WA.Caption   :=   '题库管理系统';  
      //建立一个新文档  
  NewDocument:=SJ_WA.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);  
      RateProcess_F.CZ_P.Caption:='正在新建Microsoft   Office   Word   文档......';  
      RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;  
      RateProcess_F.Repaint;  
      //建立WordDocument连接,   用第二种方法不容易出错  
      //SJ_WD.ConnectTo(SJ_WA.Documents.Item(ItemIndex));  
      SJ_WD.ConnectTo(NewDocument);  
      SJ_WD.Windows.Item(ItemIndex).Caption:='数据库原理与应用期末试卷';  
  //此文档的第一个窗口的标题  
      RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;  
      RateProcess_F.Repaint;  
      //因为Word进行拼写检查需要很多时间,所以首先关闭检查  
      SJ_WA.Options.CheckSpellingAsYouType   :=   False;  
      SJ_WA.Options.CheckGrammarAsYouType   :=   False;  
      //设置Word的字体  
      SetFont(1,0,0,22);  
      //设置段落对齐方式  
      SJ_WD.Range.InsertAfter('数据库原理与应用期末试卷'+#13);  
      RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;  
      RateProcess_F.Repaint;  
  SJ_WA.Documents.Item(ItemIndex).Paragraphs.Alignment:=wdAlignParagraphLeft;  
      SJ_WD.Range.InsertAfter('学校___________   班级________     姓名___________   得分_____   '   +#13);  
      SetFont(0,0,0,14);  
  个技术呀!请各位帮指点一下!不胜感激!  
  问题点数:10、回复次数:2Top

1 楼yumanqing(笨鸟)回复于 2006-06-02 09:48:41 得分 0

加分吧Top

2 楼waiwaizz()回复于 2006-06-02 09:54:36 得分 0

大哥  
  你帮我解释一下  
  我应该怎么说清楚这个技术呀?我就给你加分Top

相关问题

关键词

得分解答快速导航

  • 帖主:waiwaizz

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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