vc中调用word的简单入门
来源:互联网 发布:wow for mac 国服 编辑:程序博客网 时间:2024/05/22 01:51
一个类型库是一个提供COM对象功能信息的文件或文件的一部分,而且类型库包含了有关类的信息。注意,类型库并不存储实际的对象,而只是存储有关这些对象的信息。类型库详细说明了一个自动化客户机为对象需要调用的方法和属性的信息,比如说它详细的描述了接受或返回的值。
每一个Microsoft Office应用程序都在一个dll文件中提供了多种类型库资源,这种dll文件叫做目标库(*.olb),如word2003的目标库是msword.olb
The COleDispatchDriver Class
vc提供了一个COleDispatchDriver类来处理自动化对象的IDispatch接口,关于COleDispatchDrive类的属性和函数请读者自行查阅类库,这里就不再赘述。
1.创建一个新的Dialog-Base MFC AppWizard Exe工程名为"WordAutomation";注意在MFC AppWizard - Step 2 of 4中的Automaiton选项上打上勾
2.在View菜单中,点击ClassWizard,然后进入Automation标签中点击Add Class,选择From A Type Library。找到Microsoft Office 2003类型库msword.olb,选择_Application,_Document,_Documents,Selection四个类,如有其他需要(例如画表也可选择其他的类)。
这个过程会在工程中创建两个新的文件:msword.h和msword.cpp,这些文件构成了word类型库的所选择的类和类的成员函数。在ClassView视图中查看从word类型库生成的所有的类,然后双击_Application类来查看它的定义,你就会注意到_Application类是来源于COleDispatchDriver。
class _Application : public COleDispatchDriver
{
......
}
至于这些类和成员函数的功能和用法,我有一个简便的方法,那就是使用word中工具菜单中的宏的录制功能,把你所想要进行的操作先用宏录制下来,然后查看这些宏代码,你就会清楚要使用哪个类,哪些成员函数和成员函数应该带些什么参数了。虽然这些代码都是用VB写的,但你可以很容易的转换成VC++中的代码。
3. 剩下的就是如何使用了。
_Application oWordApp;
oWordApp.CreateDispatch("Word.Application", NULL)
如:创建一个新的文档
_Document oDoc;
oDocs = oWordApp.GetDocuments();
oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt);
Selection oSel;
oSel = oWordApp.GetSelection();
oSel.TypeText("one");
如:保存文
oActiveDoc = oWordApp.GetActiveDocument();
oActiveDoc.SaveAs
COleVariant vTrue((short)TRUE),
vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
//开始一个Microsoft Word实例
_Application oWordApp;
if (!oWordApp.CreateDispatch("Word.Application", NULL))
{
AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
return;
}
//建立一个新的文档
Documents oDocs;
_Document oDoc;
oDocs = oWordApp.GetDocuments();
oDoc = oDocs.Add(vOpt, vOpt);
//给文档添加文本
Selection oSel;
oSel = oWordApp.GetSelection();
oSel.TypeText("one");
oSel.TypeParagraph();
oSel.TypeText("two");
oSel.TypeParagraph();
oSel.TypeText("three");
//保存文档
_Document oActiveDoc;
oActiveDoc = oWordApp.GetActiveDocument();
oActiveDoc.SaveAs(COleVariant("c://doc1.doc"),
COleVariant((short)0),
vFalse, COleVariant(""), vTrue, COleVariant(""),
vFalse, vFalse, vFalse, vFalse, vFalse);
//退出WORD
oWordApp.Quit(vOpt, vOpt, vOpt);
#include <atlbase.h>
{
AfxOleInit();
_Application app;
COleVariant vTrue((short)TRUE), vFalse((short)FALSE);
app.CreateDispatch(_T("Word.Application"));
app.SetVisible(FALSE);
Documents docs=app.GetDocuments();
CComVariant tpl(_T("")),Visble,DocType(0),NewTemplate(false);
docs.Add(&tpl,&NewTemplate,&DocType,&Visble);
Selection sel=app.GetSelection();
sel.TypeText(_T("/t/t/t/t/t第一次玩儿Word/r/n"));
sel.TypeText(_T("/t/t/t/t/t/t/t/t----------先来一个简单的/r/n"));
sel.ReleaseDispatch();
docs.ReleaseDispatch();
app.SetVisible(TRUE);
app.ReleaseDispatch();
- vc中调用word的简单入门
- VC++中调用word
- VC++中调用word进行word表格的填写
- VC++中调用word进行word表格的填写
- VC++中调用word进行word表格的填写
- 在VC中调用WORD
- VC调用word的疑难问题?
- VC++的中简单COM调用
- 在VC中调用WORD(显示,修改,存盘,运行宏)之三。调用word的各种对话框翻页等。
- 在VC中调用WORD(显示,修改,存盘,运行宏)之三。调用word的各种对话框翻页等
- VC中调用WebBrowser简单的实现过程
- VC 操作Word 2003的简单例子
- vc操作word的简单例子
- 在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏
- 在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏
- 在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏
- 在VC中调用WORD(显示,修改,存盘,运行宏)
- 在VC中调用WORD(显示,修改,存盘,运行宏)
- ASP.NET2.0连接SQLServer2005数据库
- Subversion快速入门教程
- 导入3DS模型生成Bullet物理世界
- JS动态设置倒数时间
- AJAX Timer控件的使用
- vc中调用word的简单入门
- J2ME编程中的横竖屏切换知识小结
- 工厂模式的好处
- 一个计算周次和本周时间范围的代码(c#)
- idhttp webbrowser
- CSS让网页(Li)中的内容自动换行的实现方法
- SQL Server 2005 重装时报:对性能监视器计数器注册表值执行系统配置检查失败
- 在emacs中使用google map api?!
- sql日期格式转换