码迷,mamicode.com
首页 > 编程语言 > 详细

用MFC实现打开word文件

时间:2015-04-09 19:58:43      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:mfc   office   导入   

  在用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文件效果图

用MFC实现打开word文件

标签:mfc   office   导入   

原文地址:http://blog.csdn.net/sanqima/article/details/44962041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!