用automation方法新建Excel文件,怎样保存?
从vchelp上下载了一个程序,新建excel的方法为:
ExcelApp->CreateDispatch("excel.application");
ExcelApp->SetVisible(TRUE);
Workbooks ExcelBook=ExcelApp->GetWorkbooks();
Sheets ExcelSheet=ExcelBook.Add(vtOptional);
_Workbook workBook.AttachDispatch(ExcelApp->GetApplication());
在对excel中添加内容后,该程序没有保存excel文件的代码,我自己添加了下面的代码
COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR)
workBook.SaveAs(COleVariant("C:\\2.xls"),vtOptional,vtOptional, vtOptional,vtOptional,vtOptional,0, vtOptional,vtOptional,vtOptional,vtOptional);
运行该代码,在保存的时候出现提示“找不到成员”。
请问这个文件怎么解决。
问题点数:100、回复次数:5Top
1 楼lonely001(独行客)回复于 2006-03-13 18:07:49 得分 20
http://www.cppblog.com/azhisoft/articles/419.htmlTop
2 楼wanglh(宏)回复于 2006-03-13 22:38:49 得分 0
upTop
3 楼jeapvan(多多)回复于 2006-03-14 07:41:51 得分 10
用自動化保存EXCEL,則會在你調用的時候打開EXCEL啊,你就可以在那裡做任何的操作了Top
4 楼laiyiling(陌生人[MVP])回复于 2006-03-14 08:19:09 得分 70
你上面的workBook是什么变量?
下面的帖子比较详细
http://topic.csdn.net/t/20050427/15/3970851.htmlTop
5 楼wanglh(宏)回复于 2006-03-14 10:04:08 得分 0
问题解决了,主要问题不是SaveAs函数的问题,而是我参考的代码有问题,参考代码为
http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=1204,这段代码的主要问题几个对象使用不正确,结果却能正确操作Excel,不得不为Excel的兼容性感到佩服。下面为我修改后主要代码:
Workbooks wbs;
Worksheets wss;
_Workbook wb;
_Worksheet ws;
Range range;
wbs = ExcelApp->GetWorkbooks();
wb = wbs.Add(vtOptional);
wss = wb.GetSheets();
ws=wss.GetItem(COleVariant((short)1));
ws.Activate();
另外参考代码中的Excel9文件导出有问题,该文件中导出了Sheets类,而不是WorkSheets类,希望各位朋友参考该代码的时候注意,最好自己重新导出一遍。Top




