VC怎样调用其它应用程序

我很想让我编的程序,它能够让别的程序运行.并且,能够更好的控制它.比如说:运行word,让它画表格.等等大哥,能不能给我一个完整的程序.我愚昧,有的不知道是怎么会事.也许... 我很想让我编的程序,它能够让别的程序运行.
并且,能够更好的控制它.
比如说:
运行word,让它画表格.等等
大哥,能不能给我一个完整的程序.我愚昧,有的不知道是怎么会事.也许你说一个完整的,我想我能看懂.谢谢!
展开
 我来答
home2001me
2007-09-26 · TA获得超过1072个赞
知道小有建树答主
回答量:993
采纳率:0%
帮助的人:1000万
展开全部
COM编程.这个已经很完整了呀.

以vc6.0为例
新建MFC工程会吧.
先新建MFC工程(选对话框),双击确定(OK),然后把第四步的内容复制到函数里面.要是没有基础的话,还是先学基础吧,这种事急不来的.就是我给你写好了一个,你还是不知道怎么写别的.

1\在类向导中Add Class-->from a type library
在打开中选择word安装目录下面的msword.olb
点打开,在其中选择你要的类.比如:
WordApplication;(在对话框中可能是_Application在这里被的重命名了,下同!)
WordDocuments;
WordDocument;
WordTables;
WordTable;
WordCell;
WordRange;
WordColumns;
WordRows;
在头文件中输入MSWORD.h(默认)

2\在BOOL C***App::InitInstance()中加入如下代码
if (CoInitialize(NULL)!=0)
{
AfxMessageBox("初始化COM支持库失败,你将不能导出数据到Excel表!");
}
3\使用的时候包含如下文件
#include "msword.h"
#include "comdef.h"
4\实现代码
WordApplication app;
WordDocuments docs;
WordDocument doc;
WordTables WordTables;
WordTable WordTable;
WordCell WordCell;
WordRange WordRange;
WordColumns WordCols;
WordRows WordRows;

if(!app.CreateDispatch("Word.Application"))
{
MessageBox("创建Word服务失败!",_T("提示"),MB_ICONERROR);
return;
}

docs.AttachDispatch(app.GetDocuments());
app.SetVisible(true);

//打开文件
IDispatch *dispatch=docs.Open(&_variant_t(strFileName),&vtMissing,&vtMissing,&vtMissing,
&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,
&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing);
if(dispatch)
{
doc.AttachDispatch(dispatch);
}
else
{//出错了
CString szErr="";
szErr.Format("打开文件出错,请查看文件是否存在!");
::AfxMessageBox(szErr);
//退出程序,释放对象
app.Quit(&vtMissing,&vtMissing,&vtMissing);
docs.ReleaseDispatch();
app.ReleaseDispatch();
return;
}

dispatch=doc.GetTables();
if(dispatch)
{
WordTables.AttachDispatch(dispatch);
}
else
{//出错了
CString szErr="";
szErr.Format("取得表格集合出错!");
::AfxMessageBox(szErr);
//退出程序,释放对象
app.Quit(&vtMissing,&vtMissing,&vtMissing);
docs.ReleaseDispatch();
app.ReleaseDispatch();
doc.ReleaseDispatch();
return;
}
WordTables.Add(....);
app.Quit(&vtMissing,&vtMissing,&vtMissing);
doc.ReleaseDispatch();
docs.ReleaseDispatch();
app.ReleaseDispatch();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式