VC++下OleRun出错的问题 20C

用VC++通过OLE打开Excel时,在某些电脑上程序运行到OleRun时总是提示“这种类型的数据不受支持”错误,这是什么原因?
void CAboutDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
_Application app;
Workbooks wbooks;
_Workbook wbook;
Worksheets wsheets;
_Worksheet wsheet;
Range rge;
///////
//利用模板文件建立新文档

char path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,path);
CString strPath = path;
strPath += "\aaa.xls";

::CoInitialize(NULL);
COleException *e = new COleException;
try
{
if(!app.CreateDispatch(TEXT("Excel.Application"),e))
{
throw e;
}

}
catch (COleDispatchException * e) 
{
    AfxMessageBox(e->m_strDescription);
    e->Delete();
    return;
}
//设置不可见
app.SetVisible(true);
app.SetCaption("aaa");

wbooks.AttachDispatch(app.GetWorkbooks(),true);

wbook.AttachDispatch(wbooks.Add(_variant_t(strPath)));

wsheets.AttachDispatch(wbook.GetSheets(),true);

rge.ReleaseDispatch();
wsheet.ReleaseDispatch();
wsheets.ReleaseDispatch();
wbook.ReleaseDispatch();
wbooks.ReleaseDispatch();
app.ReleaseDispatch();

}

1个回答

1、提示信息仅有“这种类型的数据不受支持”?有没有错误码?
2、出错的电脑上有没有安装Excel?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐