关于数据导入excel时,编译问题?

天为峰 2003-08-22 02:37:11
AnsiString asFileName;

Variant Ex,Cell,Wb,Sheet;

......

Wb=Ex.OlePropertyGet("ActiveWorkBook"); //得到激活的工作薄

.....

//保存为文件
Wb.OleFunction("SaveAs",(Variant)asFileName);
但这一句编译时,老是出错:
[C++ Error] sysvari.h(1842): E2450 Undefined structure 'TAutoArgs<1>'
[C++ Error] sysvari.h(1842): E2449 Size of 'args' is unknown or zero
[C++ Error] sysvari.h(1842): E2450 Undefined structure 'TAutoArgs<1>'
[C++ Error] sysvari.h(1843): E2094 'operator+' not implemented in type 'TAutoArgs<1>' for arguments of type 'int'
[C++ Error] sysvari.h(1844): E2450 Undefined structure 'TAutoArgs<1>'
[C++ Error] sysvari.h(1844): E2285 Could not find a match for 'Variant::OleFunction(const AnsiString,undefined)'

怎么会事啊?!

我反复试过,如果我把
Wb.OleFunction("SaveAs",asFileName.c_str());
改写为
Wb.OleFunction("Save");
,或者注释掉,就没有问题!
各位大侠,再帮我看看,
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoleeflying 2003-08-22
  • 打赏
  • 举报
回复

写错了点东东,改一下:

我用SaveDialog保存时,这样写
Wb.OleFunction("SaveAs",SaveDialog1->FileName.c_str())通过编译,但运行时总是抛出异常,
改写为Wb.OleFunction("SaveAs",SaveDialog1->FileName)就一切正常;
所以我感觉这个东东还是认AnsiString的
xiaoleeflying 2003-08-22
  • 打赏
  • 举报
回复
我用SaveDialog保存时,这样写
Wb.OleFunction("SaveAs",SaveDialog1->FileName.c_str())通过编译,但运行时总是抛出异常,
改写为Wb.OleFunction("SaveAs",SaveDialog1)就一切正常;
所以我感觉这个东东还是认AnsiString的
天为峰 2003-08-22
  • 打赏
  • 举报
回复
我已经解决了,改为如下语句就可:
Wb.Exec(Procedure("SaveAs")<<asFileName);

但不知道为什么^_^

13,825

社区成员

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

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