CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

在c++ builder中控制microsoft word遇到了不能执行的问题,请教。

楼主xinxing0123()2006-03-10 10:26:48 在 C++ Builder / VCL组件使用和开发 提问

我在精通c++   builder   5中看的程序,但是不能执行,请教该代码中哪条有问题:  
        #include   <vcl.h>  
        #pargma   hdrstop  
        #include   "unit2.h"  
  #include   <comjbt.hpp>  
  #pragma   packge(smar_init)  
  #prragma   resource   "*.dfm"  
  TForm1   *Form1;  
  _fasstcall   TForm::TForm1(TComponent*   Owner)  
            :TForm(Owner)  
  {}  
  void   _fastcall   TForm1::Button1Click(TObject*   Sender)  
  {  
      Variant   V;  
      AnsiString   str;  
      int   i;  
      V=CreateOleObject("Word.Application");  
      V.Exec(Procedure("AppShow"));                       //此条不能执行  
      V.Exec(Procedure("FileNew")<<"Normal");     //此条不能执行  
      Query1->SQL->Add("Select   company,contact,phon   from   customer");  
      Query1->Open();  
      while(!Query1->Eof){  
            str="";  
            for(i=0;i<(Query1->FieldCount-1);i++)  
                    str=str+Query1->Fields->Fields[i]->AsString+""+13;  
            V.Exec(Procedure("Insert")<<str);  
            Query1->Next();  
        }  
      Query1->Close();  
      V.Exec(Procedure("FileSaveAs")<<Edit1->Text);  
      Button1->Caption="保存完毕!";  
  }  
   
   
  请问上面不能执行的代码是为什么,是否命令有错误。  
  什么地方能下载到有关word自动控制的帮助文档?  
  请指教,不盛感激!! 问题点数:20、回复次数:10Top

1 楼wohow()回复于 2006-03-10 17:47:57 得分 10

V=CreateOleObject("Word.Application");  
  如果成功V就代表Word应用程序对象,之后一般需要生成Documents等对象来操纵。CB中相关函数有4个:  
  Variant::OleFunction  
  Variant::OleProcedure  
  Variant::OlePropertyGet  
  Variant::OlePropertySet  
  Word中的函数可以打开Word->工具->宏->Visual   Basic编辑器,打开工具栏上面的“对象浏览器”,Word里的OLE功能在这里一般都能找到Top

2 楼jsxxq()回复于 2006-03-16 22:53:44 得分 2

建议从CBC中唤起Word,具体功能实现用VBA在Word中做,事半功倍!Top

3 楼xinxing0123()回复于 2006-03-27 11:22:03 得分 0

 
  楼上能说得再详细点吗?谢谢!Top

4 楼xinxing0123()回复于 2006-03-27 11:26:31 得分 0

wohow:你那有关于操作word的例子代码吗?能贴上一个吗.Top

5 楼xinxing0123()回复于 2006-03-27 17:41:21 得分 0

wohow:当启动一个word应用程序后,怎样建立一个新文档?Top

6 楼wohow()回复于 2006-03-29 12:24:09 得分 5

#include   <Utilcls.h>  
   
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
  Variant   word;  
  try  
  {  
  word   =   Variant::CreateObject("Word.Application");  
  }  
  catch(EOleSysError   &e)  
  {  
  //Are   you   sure   your   Word   is   correct?  
  return;  
  }  
  try  
  {  
  word.OlePropertySet("Visible",   false);  
  Variant   abc   =   word.OlePropertyGet("Documents").OleFunction("Add");  
  Variant   range   =   abc.OleFunction("Range");  
  range.OleProcedure("InsertAfter",   "abc");  
  abc.OleProcedure("SaveAs",   "D:\\abc.doc");  
  }  
  catch(EOleSysError   &e)  
  {  
  //Failed   to   do   it.  
  }  
  try  
  {  
  word.OleProcedure("Quit",   0);  
  }  
  catch(EOleSysError   &e)  
  {  
  //What?  
  }  
  }  
  Top

7 楼xinxing0123()回复于 2006-04-06 16:49:02 得分 0

OleProcedure和OleFunction在使时有什么区别?Top

8 楼wohow()回复于 2006-04-11 12:45:28 得分 2

有些编程语言把没有返回值的称为过程Procedure,相当于C/C++中返回void的,有返回值的称为函数Function,相当于C/C++除了void返回类型之外的函数。Variant::OleFunction()执行函数,Variant::OleProcedure()执行过程。Top

9 楼zyyoung(倡导开源)回复于 2006-04-11 15:11:21 得分 1

mkTop

10 楼moondaoke(月下刀客)回复于 2006-04-12 15:31:20 得分 0

用wordapplication方便一些啊Top

相关问题

  • C++Builder
  • C++? VC++? C++ Builder?
  • 用c++ builder操纵Word的问题。
  • 是应该选择Microsoft Visual C++还是Borland C++Builder?
  • Visual C++ vs C++ Builder
  • C++ Builder Vs Visual C++
  • C++builder CGI debug
  • install C++ Builder 5 ???
  • 汉化(c++ builder)
  • VC和C++Builder

关键词

  • c++ builder
  • c/c++
  • 函数
  • 执行
  • word
  • 代码
  • application
  • oleprocedure
  • olefunction
  • eolesyserror

得分解答快速导航

  • 帖主:xinxing0123
  • wohow
  • jsxxq
  • wohow
  • wohow
  • zyyoung

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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