问一下,WORD的编程接口在哪里能了解到? 只知道有个MSWORD.OLB,但具体里面的类,以及类里面提供的方法如何使用有没有什么地方能够学习的,我看网上的一些例子程序看得不太明白,有没有相关的资料呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 项目->添加类->TypeLib中的MFC类,然后选择OFFICE目录中的MSWORD.OLB 一加入会出现一大堆类。添加CApplication CSelection CDocuments三个类.实现如下: #include "stdafx.h" #include "wordtest.h" #include "wordtestDoc.h" #include "wordtestView.h" #include "CApplication.h" #include "CSelection.h" #include "CDocuments.h" #include <AtlBase.h> void CwordtestView::OnTestStep1() { // TODO: 在此添加命令处理程序代码 CApplication TestWordDoc; //定义一个WORD的应用对象 if(!TestWordDoc.CreateDispatch(_T("Word.Application"))) //启动WORD { AfxMessageBox(_T("居然你连OFFICE都没有安装吗?")); return; } AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看")); TestWordDoc.put_Visible(VARIANT_TRUE); //设置word可见,对应office2003的msword.olb //TestWordDoc.SetVisible(TRUE); //设置WORD可见。对应老版本msword.olb //当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句 AfxMessageBox(_T("看好了,就要新建一个空白文档了")); //通过WORD宏可以知道,由于要使用Documents,于是我们定义一个并从TestWordDoc中取得 CDocuments docs=TestWordDoc.get_Documents(); //准备调用Documents::Add函数了,需要定义4个参数。 //从WORD宏可以看出来3个参数的类型为: //Template字符,NewTemplate布尔,DocumentType数值 //但Add函数还需要一个参数是Visible,傻子也能看出来这个值表示是否显示出新文档 //并且可以给默认值(VT_EMPTY) CComVariant Template(_T("")); //为了简单,没有使用WORD的文档模板 CComVariant NewTemplate(false),DocumentType(0),Visible; docs.Add(&Template,&NewTemplate,&DocumentType,&Visible); AfxMessageBox(_T("下面,程序要向WORD发送字符啦")); //通过WORD宏可以知道,由于要使用Selection,于是我们定义一个并从app中取得 //Selection表示输入点,即光标闪烁的那个地方 CSelection sel=TestWordDoc.get_Selection(); //调用函数Selection::TypeText 向WORD发送字符 sel.TypeText(_T("HELLO\r\n大家好呀")); sel.TypeParagraph(); sel.TypeParagraph(); sel.TypeText(TEXT("lasdflj")); AfxMessageBox(_T("WORD准备要退出啦")); //以下一段是不用#include <AtlBase.h>时退出要做的。如果用#include <AtlBase.h>就不用了。 //VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数 //SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数 //SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置 //::VariantInit(&OriginalFormat); //清空变量 //RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法 //准备调用_Application::Quit函数了,需要定义3个参数。 //但是,这次我们使用CComVariant,这是一个模板类。 //在定义的时候直接调用带参数的构造函数,比VARIANT使用简单多了吧 CComVariant SaveChanges(false),OriginalFormat,RouteDocument; //使用 CComVariant 的不带参数的构造函数,默认就是使用VT_EMPTY,设置为空类型 //另外,除了CComVariant,你还可以使用COleVariant和_variant_t,但我个人最喜欢前者 //调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那 TestWordDoc.Quit(&SaveChanges,&OriginalFormat,&RouteDocument); TestWordDoc.ReleaseDispatch(); //释放对象指针。切记,必须调用 } 问一下,word2000 与word2003 编程方法是一样的吗? 我用的VC,要用VC往WORD里写表格,有相关的资料吗 熟悉OLE自动化,参考Word自带的VBA编程帮助(对象及关系) Word自带的VBA编程帮助在哪里能找到?我怎么找不到 当然是在Word中了,不过一般缺省安装Office的时候都不选上,自己选一下。然后在Word中按下Alt+F11进入脚本编辑器,查看帮助。 可以从网上下载一个Word VBA参考手册 发送数据时能否动态指定一块网卡出去(想做负载动态均衡) 利用图像分类实现自动化 在ceditview中,如何获得默认open函数打开的文件完整路径? 客户端怎么得到其他客户端在线? 转贴(主题:[讨论]看瞎你的眼!液晶显示器也暗藏视力陷阱) 问一个关于list控件的更新问题 如何执行返回参数的存储过程 怎么调试dll? VC中如何获得硬盘ID ?多谢了 有人知道TRACE它输出的信息在什么,地方能看见 小小数学题:如何判断一个动态增加的数超过某个数的整数倍 利用对话框输入数据在主程序中计算的问题
添加CApplication CSelection CDocuments三个类.实现如下: #include "stdafx.h"
#include "wordtest.h"
#include "wordtestDoc.h"
#include "wordtestView.h" #include "CApplication.h"
#include "CSelection.h"
#include "CDocuments.h" #include <AtlBase.h> void CwordtestView::OnTestStep1()
{
// TODO: 在此添加命令处理程序代码
CApplication TestWordDoc; //定义一个WORD的应用对象
if(!TestWordDoc.CreateDispatch(_T("Word.Application"))) //启动WORD
{
AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
return;
}
AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
TestWordDoc.put_Visible(VARIANT_TRUE); //设置word可见,对应office2003的msword.olb
//TestWordDoc.SetVisible(TRUE); //设置WORD可见。对应老版本msword.olb
//当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句 AfxMessageBox(_T("看好了,就要新建一个空白文档了"));
//通过WORD宏可以知道,由于要使用Documents,于是我们定义一个并从TestWordDoc中取得
CDocuments docs=TestWordDoc.get_Documents();
//准备调用Documents::Add函数了,需要定义4个参数。
//从WORD宏可以看出来3个参数的类型为:
//Template字符,NewTemplate布尔,DocumentType数值
//但Add函数还需要一个参数是Visible,傻子也能看出来这个值表示是否显示出新文档
//并且可以给默认值(VT_EMPTY)
CComVariant Template(_T("")); //为了简单,没有使用WORD的文档模板
CComVariant NewTemplate(false),DocumentType(0),Visible;
docs.Add(&Template,&NewTemplate,&DocumentType,&Visible); AfxMessageBox(_T("下面,程序要向WORD发送字符啦"));
//通过WORD宏可以知道,由于要使用Selection,于是我们定义一个并从app中取得
//Selection表示输入点,即光标闪烁的那个地方
CSelection sel=TestWordDoc.get_Selection(); //调用函数Selection::TypeText 向WORD发送字符
sel.TypeText(_T("HELLO\r\n大家好呀"));
sel.TypeParagraph();
sel.TypeParagraph();
sel.TypeText(TEXT("lasdflj")); AfxMessageBox(_T("WORD准备要退出啦"));
//以下一段是不用#include <AtlBase.h>时退出要做的。如果用#include <AtlBase.h>就不用了。
//VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
//SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数
//SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置 //::VariantInit(&OriginalFormat); //清空变量
//RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法
//准备调用_Application::Quit函数了,需要定义3个参数。
//但是,这次我们使用CComVariant,这是一个模板类。
//在定义的时候直接调用带参数的构造函数,比VARIANT使用简单多了吧
CComVariant SaveChanges(false),OriginalFormat,RouteDocument;
//使用 CComVariant 的不带参数的构造函数,默认就是使用VT_EMPTY,设置为空类型
//另外,除了CComVariant,你还可以使用COleVariant和_variant_t,但我个人最喜欢前者 //调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
TestWordDoc.Quit(&SaveChanges,&OriginalFormat,&RouteDocument); TestWordDoc.ReleaseDispatch(); //释放对象指针。切记,必须调用 }
问一下,word2000 与word2003 编程方法是一样的吗?
Word自带的VBA编程帮助在哪里能找到?我怎么找不到