jishiping等大虾请帮忙看看OLE的奇怪问题

csw 2003-09-18 01:47:05
我用下面的代码:
::CoInitialize(NULL);

Variant WordApp,Wdocuments,Wdoc;

AnsiString WAppName="Word.Application" ;

// Using OLE to Link WORD and Excel
WordApp=Variant::CreateObject(WAppName) ;

Wdocuments=WordApp.OlePropertyGet("Documents");
Wdoc=Wdocuments.OleFunction("Open","TestWord.doc");
跑到OleFunction这里就出错了,提示是olesyserror.我记得我以前这么用过似乎没什么问题啊,请帮忙看看怎么回事。。
断点是断在:
Variant Variant::OleFunction(const String& name, P1 p1)
{
TAutoArgs<1> args;
args[1] = p1;
return OleFunction(name, static_cast<TAutoArgsBase*>(&args));
}
return 这一句。
我的运行环境是2k ad server,+bcb6.0没打补丁。。
谢谢
...全文
20 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingcaiyao 2003-09-18
  • 打赏
  • 举报
回复
1.注意包含utilcls.h这个头文件,#include "utilcls.h"
2.在后台打印的话应该将Visible属性设置为TRUE
csw 2003-09-18
  • 打赏
  • 举报
回复
哎呀。真的可以,跟上边的代码有区别吗?。。
7rainbow 2003-09-18
  • 打赏
  • 举报
回复
try
{
word_pub=CreateOleObject("Word.Application");
}
catch(...)
{
ShowMessage("无法启动Word");
return ;
}

word_pub.OlePropertySet("Visible", true);
try{
word_pub.OlePropertyGet("Documents").OleFunction("Open",Edit1->Text.c_str());
}
catch(...)
{
return ;
}

csw 2003-09-18
  • 打赏
  • 举报
回复
谢谢季大虾。
jishiping 2003-09-18
  • 打赏
  • 举报
回复
OLE、COM编程,我也不熟悉。
jishiping 2003-09-18
  • 打赏
  • 举报
回复
OLE、COM编程,我也不熟悉。
csw 2003-09-18
  • 打赏
  • 举报
回复
谢谢,前面的代码通过了,我的目的是实现一个后台打印的功能(不能弹出word等)
我该如何写呢?
另外前面的代码怎么不行呢。。谢谢。当然这是后话。。
ccrun.com 2003-09-18
  • 打赏
  • 举报
回复
String strDocFileName="C:\\123.doc";

Procedure Open("Open");
Wdocuments=WordApp.OlePropertyGet("Documents");
Wdocuments.Exec(Open<<strDocFileName);
ccrun.com 2003-09-18
  • 打赏
  • 举报
回复
String strDocFileName="C:\\123.doc";

Procedure Open("Open");
Wdocuments=WordApp.OlePropertyGet("Documents");
Wdocuments.Exec(Open<<strDocFileName);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧