MFC 操作Excel,在线程中调用 ExcelApp.CreateDispatch(Excel.Application,NULL)失败

VC操作Excel,在线程中调用 ExcelApp.CreateDispatch("Excel.Application",NULL)返回失败

 

解决办法: 在线程的执行函数里面调用 AfxOleInit ,初始化COM库

 

解析:工程向导生成的代码主线程已经凋用 OleInitialize 这个 API初始化COM库了,所   以在主线程里面调用ExcelApp.CreateDispatch不会报错;但当你自己开启了新的线程,

            在新开启的线程中若仍需操作Excel文件的话,就需要在新线程中重新初始化COM库,即再次调用OleInitialize。

 

相关函数扩展:

CoInitialize(NULL)        Initializes the COM library on the current thread and identifies the concurrency model as single-thread apartment (STA).


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部