first Automation
//创建一个容器
CEmbWordCntrItem * pItem = NULL;
CEmbWordDoc * pDoc = GetDocument();
pItem = new CEmbWordCntrItem(pDoc);
CLSID clsid = {0};
//创建Automation服务器
CLSIDFromProgID(L"Word.Document", &clsid);
pItem->CreateNewItem(clsid);
//显示
pItem->DoVerb(OLEIVERB_SHOW, this);
CRect rcClient;
GetClientRect(&rcClient);
pItem->SetItemRects(&rcClient);
m_pSelection = pItem;
菜单 View 添加Command OnText { //获取Word.Document的接口 _Document doc m_pSelection->GetDispatch(); _Application app = doc.GetApplication(); Selection sel = app.GetSelection(); //输入文字 sel.TypeText("Hello World");
IDispatch * CEmbWordCntrItem::GetDispatch() { IDispatch * piDispatch = NULL; m_lpObject->QueryInterface(IID_IDispatch, (LPVOID*)&piDispatch);
} 导入MSWORD.OLB 类型库
//客户端模式 //创建服务器 //显示 _Application app; app.CreateDispatch("Word.Application"); app.SetVisible("TRUE"); Documents docs = app.GetDocuments(); COleVariant varTemplate(_T""); COleVariant newTemplate(0L); COleVariant varDocumentType(0L); COleVariant varVisiable;
_Document doc = docs.Add(&varTemplate,
&newTemplate, &varDocumentType, &varVisiable); Section sel = app.GetSelection(); sel.TypeText("Hello"); doc.Save();
/////// Atuomation服务器 EXE
AfxGetMainWnd()->ShowWindow(); GetActiveView()->SetWindowText DLL
IAutoExe autoexe; autoexe.CreateDispatch("AutoExe.Document"); autoexe.SetVisible(TRUE); autoexe.DetachDispatch();
添加dll 添加类 CCmdTarget父类 注册 使用
最新文章
- js动画
- javaweb初学记录
- MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)
- 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- Android SQLiteOpenHelper(一)
- opengl绘制正弦曲线
- sql server中index的REBUILD和REORGANIZE
- 解决未能从程序集xxx中加载类型System.ServiceModel.Activation.HttpModule的问题
- HW7.6
- set集合(一)
- python redis模块的常见的几个类 Redis 、StricRedis和ConnectionPool
- PHP爬虫框架Beanbun使用
- PL2303 USB转串口 com
- 程序员之路:python3+PyQt5+pycharm桌面GUI开发(转)
- 把tree结构数据转换easyui的columns
- Roslyn编译器
- Python安装模块出错(No module named setuptools)解决方法
- 终端FQ
- 计算服务器的pv量算法
- MongoDB之集合管理二