调用ole函数错误,高手忙?
比如:
Variant Ex,Wb,Sheet;
Ex.OlePropertySet("Visible",false);
Wb = Ex.OlePropertyGet("WorkBooks").OleFunction("Add");
Sheet = Wb.OlePropertyGet("ActiveSheet");
在调用Ex.OlePropertySet("Visible",false);时到
OlePropertySet(name, static_cast<TAutoArgsBase&>(args));出错,
为IsBound() e:\bcb\emuvcl\utilcls.h/4349
怎么回事啊??
template <class P1, class P2, class P3, class P4, class P5,
class P6, class P7>
Variant Variant::OleFunction(const String& name,
P1 p1, P2 p2, P3 p3, P4 p4, P5 p5,
P6 p6, P7 p7)
{
TAutoArgs<7> args;
args[1] = p1; args[2] = p2; args[3] = p3;
args[4] = p4; args[5] = p5; args[6] = p6;
args[7] = p7;
return OleFunction(name, static_cast<TAutoArgsBase*>(&args));//出
}
同下面接的一,下面的帖子都有,再怎回事? 奇怪的是再一工程可以,再另一都不行了?到底什突?
http://topic.csdn.net/t/20050117/12/3731404.html
[解决办法]
//需要先调用
Variant V = Variant::CreateObject( ProgId ); ProgId是相关组件的ProgId
[解决办法]
等专业户吧
[解决办法]
从你的代码来看,确实是没有创建OLE对象?
- C/C++ code
Ex = CreateOleObject("Excel.Application");Ex.OlePropertySet("Visible",false);