有写在VBA宏,我想从C++调用:如何将_variant_t转换为IXMLDOMDocumentPtr?
Public Function MacroName() As DOMDocument
我做这样的:
_variant_t ret = d_pApp->Run(_bstr_t("MacroName")).bstrVal;
现在,我想投这ret到IXMLDOMDocumentPtr ...
IXMLDOMDocumentPtr d_plDomDocument;
d_plDomDocument = static_cast<IXMLDOMDocumentPtr>(ret);
那么,这是行不通的。错误说,类型是错误的。 然后投射的正确方法是什么?
我怀疑'.bstrVal'返回一个'BSTR',而不是'VARIANT'。但是这意味着'Run'已经返回一个变体。那里发生了一些错误。 – MSalters
这是正确的!删除.bstrVal后,它工作正常:) – aurel