有寫在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