我正在编写一个c ++函数,它接收作为LPVARIANT类型的参数传递的Excel Range。
在该函数中,我想使用#import创建的Excel :: Range类来操作Range以方便使用。如何在Excel :: Range?
中包装作为VARIANT传递的对象Web上的所有示例似乎都假设从父对象检索范围对象,这些对象已经是Excel :: classes。
答案 0 :(得分:1)
这样的事情:
VARIANT* pArg = NULL;
// Call Excell to get pArg
//...
// Get Excel::Range from VARIANT
Excel::RangePtr range;
if (V_VT(pArg) == VT_DISPATCH || V_VT(pArg) == VT_UNKNOWN))
V_UNKNOWN(pArg)->QueryInterface(&range);