资源描述:
《VC 6.0动态生成Word表格实例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC 6.0动态生成Word表格实例 (1)首先,向你的项目中添加word2003类型库:方法是在MFCClassWizard中点击按钮AddClass,选择Fromatypelibrary,在弹出的浏览对话框中,浏览找到office2003安装路径下的msword.olb文件,例如:"C:ProgramFilesMicrosoftOfficeOFFICE11MSWORD.OLB",然后选择以下类,这些类都是后面实现生成word表格要用到的:_Application,Documents,_
2、Document,Range,Paragraph,Paragraphs,Cell,Cells,Table,Tables,Border,Borders,_Font,PageSetup(2)在使用到这些类型的类的头文件或者cpp文件的开头,包含以下头文件:#include"msword.h"(3)创建如下代码//1.定义对象_Application oWordApp; Documents oDocs;_Document oDoc;Range range
3、;Paragraph paragraph;Paragraphs paragraphs;Cell cell;Cells cells;Table table;Tables tables;Border border;Borders borders;_Font font;PageSetup pagesetup;//2.创建和连接word对象
4、,初始化连接,判断当前系统是否有word进程,然后然后创建或连接对象LPDISPATCH pDisp; LPUNKNOWN pUnk; CLSID clsid; CoInitialize(NULL); CLSIDFromProgID(L"Word.Application",&clsid); if(GetActiveObject(clsid,NULL,&pUnk)==S_OK) { pUnk->QueryInterface(IID_IDispatch,(void**)&pDisp)
5、; oWordApp.AttachDispatch(pDisp); } else { if(!oWordApp.CreateDispatch("Word.Application")){AfxMessageBox("创建Word服务失败!"); }}//初始化文档,生成WORD表格oDocs.ReleaseDispatch();oWordApp.m_bAutoRelease=true;BeginWaitCursor();oDocs=oWordApp.GetDocuments();COleVarian
6、tvOpt(DISP_E_PARAMNOTFOUND,VT_ERROR);oDoc=oDocs.Add(vOpt,vOpt,vOpt,vOpt);//加新文档pagesetup=oDoc.GetPageSetup();pagesetup.SetOrientation(1);//横向paragraphs=oDoc.GetParagraphs();//生成第一个表paragraph=paragraphs.GetLast();//以当前段落最后一行为表起始位置range=paragraph.GetRan
7、ge();//添加制作新表格tables=oDoc.GetTables();intnBhCount=3;table=tables.Add(range,5+nBhCount,6,vOpt,vOpt);borders=table.GetBorders();borders.SetEnable(1);//显示表框range=table.GetRange();cells=range.GetCells();cells.SetVerticalAlignment(1);//文字居中#defineDOC_TABLE
8、1_WIDTH60cells.SetWidth(DOC_TABLE1_WIDTH); cell=table.Cell(1,1);//合并第一行的三列cell.Merge(table.Cell(1,6));range=cell.GetRange();range.SetBold(1);range.SetText(" 病害统计信息");//居中cell=table.Cell(2,1);cell.Merge(ta