CreateDispatch("Excel.Application")创建失败 却可以应用excel

cucumber_1987 2018-07-30 02:37:03
vs2010调用excel组件 实现一些基本操作。初始化成功,创建应用却失败,怀疑版本问题、怀疑过注册表内容、权限问题等。 这个创建失败后,继续操作,试了几次操作excel(读取保存等)没问题。代码如下:
COleVariant covTrue((short)TRUE),covFalse((short)FALSE),covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
CApplication app; //Excel程序
CWorkbooks books; //工作簿集合
CWorkbook book; //工作表
CWorksheets sheets; //工作簿集合
CWorksheet sheet; //工作表集合
CRange range; //使用区域
CoUninitialize();
book.PrintPreview(_variant_t(false));

HRESULT hr;
hr = CoInitialize(NULL);

if(FAILED(hr))
{
AfxMessageBox(_T("Failed to call Coinitialize()" ));
}

if(!app.CreateDispatch(_T("Excel.Application"))); //创建IDispatch接口对象 error
{
// MessageBox(_T("Error!Create Excel Application Server Failed!"));
// return;
}
//后面操作不写了 请大家指点
...全文
996 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cucumber_1987 2018-08-07
  • 打赏
  • 举报
回复
win10版本 office 2016 。
之前根据网上各种试验注册表等。
后面将这个CreateDispatch(_T("Excel.Application"))创建失败后操作不管,却可以正常创建、操作excel等。
czxstarhust 2018-08-06
  • 打赏
  • 举报
回复
1 先确保excel正确安装,网上一大堆确认注册表之类的
2 如果是win7将UAC降到最低试试(安装/注册表/等都没有问题的情况下)

cucumber_1987 2018-07-31
  • 打赏
  • 举报
回复
大家有没有遇到过啊
cucumber_1987 2018-07-30
  • 打赏
  • 举报
回复
vs2010 调用的office2016
cucumber_1987 2018-07-30
  • 打赏
  • 举报
回复
关于excel的操作,就代码这些。其他地方没有打开接口。

24,850

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧