用MFC实现打开word文件

84 篇文章 0 订阅
18 篇文章 2 订阅

  在用MFC打开word文件时,需要导入.olb文件。
  通过VC++6.0 工具栏上的View / ClassWizard->Add Class选择From a Type Library…定位需要的库文件导入。
本例使用的路径为:
C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB。
  如图(1)、图(2)所示:  

这里写图片描述

图(1)导入msword.olb文件

这里写图片描述

图(2)按“Ctlr+鼠标左键”导入相应的类,比如_Application、Documents、_Document

详细步骤如下:
1. 在VC++6.0中,新建一个基于对话框的MFC AppWizard(exe),命名为:OpenWord,如图(3)、图(4)所示:

这里写图片描述

图(3)创建一个MFC工程:OpenWord

这里写图片描述

图(4)选择“应用程序的类型”为:Dialog based

2. 为Resource Files里,为对话框添加三个控件:一个静态文本控件、一个编辑框控件、一个按钮控件。如图(5)所示:
这里写图片描述

图(5)添加三个控件

点击工具栏上的【View】/【ClassWizard】,导入对应的msword.olb文件,如上面的图(1)、图(2)所示。
4.双击对话框里的【打开】按钮,添加一个响应函数为OnButopen(),如图(6)所示:

这里写图片描述

图(7)添加“打开”按钮的响应函数OnButopen()

代码如下:

void COpenWordDlg::OnButopen() 
{
    // TODO: Add your control notification handler code here
    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
        "All Files(*.doc)|*.doc||",AfxGetMainWnd());    //构造文件打开对话框
    CString strPath;                    //声明变量
    if(dlg.DoModal() == IDOK)                       //判断是否按下"打开"按钮
    {
        strPath = dlg.GetPathName();                //获得文件路径
        m_Path.SetWindowText(strPath);      //显示文件路径
        //Word应用程序 
        _Application app;
        Documents docs;
        _Document doc;
        //初始化连接
        app.CreateDispatch("word.Application");
        CComVariant a (_T(strPath)),b(false),c(0),d(true);
        docs.AttachDispatch( app.GetDocuments());
        doc.AttachDispatch(docs.Add(&a,&b,&c,&d));

        //显示
        app.SetVisible(true);   
        //释放环境
        doc.ReleaseDispatch();
        docs.ReleaseDispatch();
        app.ReleaseDispatch();
    }
}

4.为编辑框关联一个Control类型的变量: m_Path,如图(8)所示:

这里写图片描述

图(8)为编辑框IDC_EDIT1关联一个Control类型的变量:m_Path

5.在OpenWorldDlg.h头文件中导入msword.h和atlbase.h

#include "msword.h"
#include <atlbase.h>

如图(9)所示:

这里写图片描述

在XXXDlg.h里添加两个引用

6.初始化COM库。在应用程序类InitInstance中添加如下语句:

::CoInitialize(NULL);

如图(10)所示:

这里写图片描述

图(10)在XXX.cpp的InitInstance()函数中,添加COM库的初始化语句

这里的XXX.cpp 指得是工程名.cpp文件:OpenWord.cpp

7.效果如下:
这里写图片描述

图(11)用MFC打开word文件效果图

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值