用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、提示信息仅有“这种类型的数据不受支持”?有没有错误码?
2、出错的电脑上有没有安装Excel?