QT 使用QAxObject 新建excel 出现的问题
代码:#include <QAxObject>
main()
{
QAxObject excel("Excel.Application");
excel.setProperty("Visible", false);
QAxObject *workbooks = excel.querySubObject("WorkBooks");
QAxObject *workbook;
...........
.....
}
提示的错误:
CoCreateInstance failure <CoInitialize has not been called.>
QAxBase::setControl: requested control Excel.Application could not be instantiated
QAxBase::dynamicCallHelper: Object is not initialized, or initialization failed
看到有人说要安装Office, 我已经装了Office,还是会出现这个错误。
请高手帮忙 --------------------编程问答-------------------- 加上这个试试:
HRESULT r = OleInitialize(0);
if (r != S_OK && r != S_FALSE)
{qWarning("Qt:初始化Ole失败(error %x)",(unsigned int)r);}
看看这个:
http://blog.sina.com.cn/s/blog_8a7012cf01014aot.html --------------------编程问答-------------------- 对,COM/ActiveX 编程必须 CoInitialize !
在Qt下,由于 QApplication 中需要使用系统 粘贴板,已经调用过 CoInitialize 了,所以很容易被忽略这个问题。 --------------------编程问答-------------------- 非常感谢两位。
加了三行代码就通过了。还要#include <sapi.h>
补充:移动开发 , Qt