运行 Ex.OlePropertySet("Visible",false) 就报错,请指教,谢谢

luolf 2011-12-09 05:13:00
try
{
Ex= Variant::CreateObject("Excel.Application");
}
catch(...)
{
MessageBox(0, "启动 Excel 出错, 可能是没有安装Excel.","ListView2Excel", MB_OK | MB_ICONERROR);
return;
}
Ex.OlePropertySet("Visible",false);

当执行到 // 隐藏Excel界面
Ex.OlePropertySet( "Visible ", false);
时就报错了,提示(Sysvari.h中):
OlePropertySet(name, static_cast <TAutoArgsBase&> (args));
这一行通不过。

这是怎么回事呀?
怎么也想不明白。
求高手解答,谢谢!
...全文
188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2011-12-12
  • 打赏
  • 举报
回复
CreateObject换成CreateOleObject再试试。
luolf 2011-12-12
  • 打赏
  • 举报
回复
重启后也不能解决问题
luolf 2011-12-12
  • 打赏
  • 举报
回复
Variant::CreateObject("Excel.Application");
这个执行之后 任务管理器中显示有excel进程
但之前任务管理器中没有未结束的office进程
ccrun.com 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 luolf 的回复:]
估计是跟我其他的控件使用有冲突
[/Quote]

这个是完全有可能的。特别是一些三方控件。
luolf 2011-12-12
  • 打赏
  • 举报
回复
不行,估计是跟我其他的控件使用有冲突
我另单独新建一个,代码没有变化,一点问题没有
ccrun.com 2011-12-09
  • 打赏
  • 举报
回复
执行到OlePropertySet("Visible",false);出现异常,通常是创建的Excel对象有问题导致的。看看任务管理器中是否有未结束的Office进程,或者重启再试。
luolf 2011-12-09
  • 打赏
  • 举报
回复
这样已经试过了,还是不行
缘中人 2011-12-09
  • 打赏
  • 举报
回复
看错了,抱歉,
这样呢
Ex.OlePropertySet("Visible",(Variant)false);
缘中人 2011-12-09
  • 打赏
  • 举报
回复
应该是OleFunction吧
Ex.OleFunction("Visible",false);

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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