vc打开word2003文件,填写表格并退出
来源:互联网 发布:韩国釜林事件知乎 编辑:程序博客网 时间:2024/05/21 16:57
完整程序及word文件从下载:http://www.pudn.com/downloads407/sourcecode/windows/file/detail1734028.html
把111.doc拷贝到c盘目录下
1.创建一个基于对话框的程序,选择默认设置即可;
2. 添加新类:【查看】-> 【建立类向导】->【Add Class】-> 【From a type Library】,选择:C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB文件(视office安装目录),在出现的类添加中,选择_Application, _Document, Documents,Selection四个类;环境会创建了文件msword.h,msword.cpp两个文件;
3. 在CTest1App::InitInstance()添加
if (!AfxOleInit()){return FALSE;}
4. 在对话框中添加一个按钮,双击,里面程序如下:
BeginWaitCursor();COleVariant vTrue((short)TRUE), vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);_Application m_App;//定义Word提供的应用程序对象;Documents m_Docs;//定义Word提供的文档对象;Selection m_Sel;//定义Word提供的选择对象;m_Docs.ReleaseDispatch();m_Sel.ReleaseDispatch();m_App.m_bAutoRelease=true;if(!m_App.CreateDispatch("Word.Application")){ AfxMessageBox("创建Word2003服务失败!"); exit(1); }//下面是定义VARIANT变量;COleVariant varFilePath("c:\\111.doc");//事先写好的表格文件COleVariant varstrNull("");COleVariant varZero((short)0);COleVariant varTrue(short(1),VT_BOOL);COleVariant varFalse(short(0),VT_BOOL);m_Docs.AttachDispatch(m_App.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来;m_Docs.Open(varFilePath,varFalse,varFalse,varFalse,varstrNull,varstrNull,varFalse,varstrNull,varstrNull,varTrue,varTrue,varTrue, vOpt, vOpt, vOpt, vOpt);//打开Word文档; m_Sel.AttachDispatch(m_App.GetSelection());//将Selection类对象m_Sel和Idispatch接口关联起来;m_Sel.MoveDown(COleVariant((short)4),COleVariant((short)1),COleVariant((short)0));m_Sel.MoveDown(COleVariant((short)5),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("123456789");m_Sel.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("李明");m_Sel.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("25");m_Sel.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("技术员");m_Sel.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("本科");m_Sel.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)0));m_Sel.TypeText("上海市虹口区民主路315号");//save word file_Document oActiveDoc; oActiveDoc = m_App.GetActiveDocument(); oActiveDoc.SaveAs(COleVariant("c:\\填写后表格.doc"), COleVariant((short)0), vFalse, COleVariant(""), vTrue, COleVariant(""), vFalse, vFalse, vFalse, vFalse, vFalse,vOpt, vOpt, vOpt, vOpt, vOpt);m_Docs.ReleaseDispatch();//断开关联;m_Sel.ReleaseDispatch();//退出WORD m_App.Quit(vOpt, vOpt, vOpt); m_App.Quit(vOpt, vOpt, vOpt);m_App.ReleaseDispatch();EndWaitCursor();MessageBox("word表格填写完毕!","提示",MB_ICONEXCLAMATION);
上面中的 MoveDown程序是从word录制宏得来,
Sub Macro1()'' Macro1 Macro' 宏在 2011-12-17 由 微软中国 录制' Selection.MoveDown Unit:=wdLine, Count:=2 Selection.MoveLeft Unit:=wdCharacter, Count:=2 Selection.TypeText Text:="12345" Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="丽丽" Selection.MoveRight Unit:=wdCell Selection.TypeText Text:="122" Selection.MoveRight Unit:=wdCell Selection.TypeText Text:="艺术" Selection.MoveRight Unit:=wdCell Selection.TypeText Text:="无" Selection.MoveRight Unit:=wdCell Selection.TypeText Text:="上海市虹口区民主路315号" ActiveDocument.SaveEnd Sub
其中常量值用调试器可以看到:
wdLine = 5;
wdCharacter = 1;
wdCell = 12;
- vc打开word2003文件,填写表格并退出
- 用word2003打开.docx文件
- java解析word2003 doc文件中的表格
- vc打开并读取txt文件
- 【VC】打开目录并选中文件
- vc++6.0实现打开cpp文件时避免退出
- VC 打开 Excel 文件后,excel.exe进程无法退出
- 打开一个表格结构填写数据 with R
- vc 添加打开文件对话框并读取文件
- vc 添加打开文件对话框并读取文件
- vc 添加打开文件对话框并读取文件
- vc 添加打开文件对话框并读取文件
- VC++中调用word进行word表格的填写
- VC++中调用word进行word表格的填写
- VC++中调用word进行word表格的填写
- Word2003表格 斜线表头
- 如何在word2003中打开word2007格式的文件
- WORD2003打开关闭出错,提示normal.dot文件的问题
- 贝叶斯算法之文本分类
- 中移动投身开放大潮重整数据业务
- 快速息怒的7个小方法
- 解决Exchange 2007 SP1环境下向部分邮箱发送邮件提示未送达“#550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##”问题
- VC++网络安全编程范例(10)-SSL网络通信
- vc打开word2003文件,填写表格并退出
- 客户区对话框拖动操作
- 我的,开始
- 由蚂蚁团队引发的思考:
- VC++网络安全编程范例(11)-SSL高级加密网络通信
- ADF中页面导航总结
- cs 5 下载地址 、视频教程、安装教程
- Android 简单视频刻录
- 发布链接外部数据库的MXD为服务时遇到的问题及解决方法