1个回答
展开全部
vc6.0
Microsoft Office Word
方法/步骤
1
打开vc6.0,新建一个MFC的基本对话框工程,我这里随便给它命名为1_1
2
点击查看,建立类向导,点击Add Class,选择From a type library。选择Microsoft Office安装目录下的MSWORD.OLE文件(我的默认路径是C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLE),打开。弹出一个增加类的界面,按shift全选(在程序设计的过程中,我们会知道哪些类是必要的,这里不管它),OK
3
在类视图区,会发现增加了很多类。下面我们首先进行COM组建的初始化,在应用程序的InitInstance函数中增加以下代码:
if(CoInitialize(NULL)!=S_OK)
{
AfxMessageBox("初始化COM组件失败!");
return FALSE;
}
4
接下来自己新建一个类,用来封装操作Word的API函数。点击插入,新建类,class type选择Generic Class(没有基类的),类名为CMeOffice。
5
打开文件视图区,编译头文件MeOffice.h,在其中加入:
#include"comdef.h"
#include"atlbase.h"
#include"msword.h"
和
public:
_Application m_wdApp;
Documents m_wdDocs;
_Document m_wdDoc;
Selection m_wdSel;
BOOL CreateApplication(); //创建Application
BOOL CreateDocument(); //创建Document文档
BOOL WriteText(LPSTR szStr);//向文档中写入数据
6
编辑MeOffice.cpp文件,加入自定义函数的实现(下面的代码的逻辑其实很好懂、看函数名就基本能明白函数的功能):
//这个函数打开一个没有文档的应用程序界面
BOOL CMeOffice::CreateApplication()
{
if(FALSE==m_wdApp.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建Application失败!");
return FALSE;
}
m_wdApp.SetVisible(TRUE); //是否显示
return TRUE;
}
BOOL CMeOffice::CreateDocument()
{
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("Application没有成功创建!");
return FALSE;
}
m_wdDocs.AttachDispatch(m_wdApp.GetDocuments());
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("AttachDispatch失败");
return FALSE;
}
CComVariant Template("");
CComVariant NewTemplate(false),DocumentType(0),Visible;
m_wdDocs.Add(&Template,&NewTemplate,&DocumentType,&Visible);
//上面的代码足够新建一个文档
m_wdDoc=m_wdApp.GetActiveDocument();
if(!m_wdDoc.m_lpDispatch)
{
AfxMessageBox("GetActiveDocument失败");
return FALSE;
}
m_wdSel=m_wdApp.GetSelection();
if(!m_wdSel.m_lpDispatch)
{
AfxMessageBox("GetSelection失败");
return FALSE;
}
return TRUE;
}
BOOL CMeOffice::WriteText(LPSTR szStr)
{
m_wdSel.TypeText(szStr);
return TRUE;
}
7
好了,类我们已经封装好了。现在我们可以调用封装的函数,实现操作word的功能。
在对话框类中新建一个成员变量 CMeOffice m_meOffice;
在对话框初始化函数中加入下面的代码:
m_meOffice.CreateApplication();
m_meOffice.CreateDocument();
m_meOffice.WriteText("我是中国人民的儿子,我深深地爱着我的祖国!");
8
运行程序,就自动新建了一个Application,里面有一个Document,上面显示“我是中国人民的儿子,我深深地爱着我的祖国!”
9
主窗口的对话框没有隐藏,看起来很别扭,但我已经受不了了。写这个比想象的困难不少~
Microsoft Office Word
方法/步骤
1
打开vc6.0,新建一个MFC的基本对话框工程,我这里随便给它命名为1_1
2
点击查看,建立类向导,点击Add Class,选择From a type library。选择Microsoft Office安装目录下的MSWORD.OLE文件(我的默认路径是C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLE),打开。弹出一个增加类的界面,按shift全选(在程序设计的过程中,我们会知道哪些类是必要的,这里不管它),OK
3
在类视图区,会发现增加了很多类。下面我们首先进行COM组建的初始化,在应用程序的InitInstance函数中增加以下代码:
if(CoInitialize(NULL)!=S_OK)
{
AfxMessageBox("初始化COM组件失败!");
return FALSE;
}
4
接下来自己新建一个类,用来封装操作Word的API函数。点击插入,新建类,class type选择Generic Class(没有基类的),类名为CMeOffice。
5
打开文件视图区,编译头文件MeOffice.h,在其中加入:
#include"comdef.h"
#include"atlbase.h"
#include"msword.h"
和
public:
_Application m_wdApp;
Documents m_wdDocs;
_Document m_wdDoc;
Selection m_wdSel;
BOOL CreateApplication(); //创建Application
BOOL CreateDocument(); //创建Document文档
BOOL WriteText(LPSTR szStr);//向文档中写入数据
6
编辑MeOffice.cpp文件,加入自定义函数的实现(下面的代码的逻辑其实很好懂、看函数名就基本能明白函数的功能):
//这个函数打开一个没有文档的应用程序界面
BOOL CMeOffice::CreateApplication()
{
if(FALSE==m_wdApp.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建Application失败!");
return FALSE;
}
m_wdApp.SetVisible(TRUE); //是否显示
return TRUE;
}
BOOL CMeOffice::CreateDocument()
{
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("Application没有成功创建!");
return FALSE;
}
m_wdDocs.AttachDispatch(m_wdApp.GetDocuments());
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("AttachDispatch失败");
return FALSE;
}
CComVariant Template("");
CComVariant NewTemplate(false),DocumentType(0),Visible;
m_wdDocs.Add(&Template,&NewTemplate,&DocumentType,&Visible);
//上面的代码足够新建一个文档
m_wdDoc=m_wdApp.GetActiveDocument();
if(!m_wdDoc.m_lpDispatch)
{
AfxMessageBox("GetActiveDocument失败");
return FALSE;
}
m_wdSel=m_wdApp.GetSelection();
if(!m_wdSel.m_lpDispatch)
{
AfxMessageBox("GetSelection失败");
return FALSE;
}
return TRUE;
}
BOOL CMeOffice::WriteText(LPSTR szStr)
{
m_wdSel.TypeText(szStr);
return TRUE;
}
7
好了,类我们已经封装好了。现在我们可以调用封装的函数,实现操作word的功能。
在对话框类中新建一个成员变量 CMeOffice m_meOffice;
在对话框初始化函数中加入下面的代码:
m_meOffice.CreateApplication();
m_meOffice.CreateDocument();
m_meOffice.WriteText("我是中国人民的儿子,我深深地爱着我的祖国!");
8
运行程序,就自动新建了一个Application,里面有一个Document,上面显示“我是中国人民的儿子,我深深地爱着我的祖国!”
9
主窗口的对话框没有隐藏,看起来很别扭,但我已经受不了了。写这个比想象的困难不少~
追问
请问这个函数在哪里,我找不到啊
追答
你说的是哪个函数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询