//创建一个容器
    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父类 注册 使用

first Automation的更多相关文章

  1. Workload Automation分析及其使用

    Workload Automation介绍 Workload Automation是提供一个在设备上运行各种workload的工具,使用Python编写.WA具有良好的框架结构,方便快捷的扩展.包含几 ...

  2. SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configur

    参见:http://msdn.microsoft.com/zh-cn/library/ms191188(SQL.105).aspx Ole Automation Procedures 选项 [本主题为 ...

  3. SharePoint 2013 中的 PowerPoint Automation Services

    简介                许多大型和小型企业都将其 Microsoft SharePoint Server 库用作 Microsoft PowerPoint 演示文稿的存储库.所有这些企业在 ...

  4. Automation Test in Maya Plugin Development

    现状和问题- 开发插件的功能A的时候随手建立场景, 测试插件的功能A. 测试通过后,测试场景就被丢掉.- 发现插件的功能A有bug时, 修改代码, 然后随手建立场景, 测试bug. 测试通过后,测试场 ...

  5. Study plan for automation test framework

    虽然部门的automation建立起来有两年多,去年项目一直很忙,仅限于应用(e.g 运行脚本测试或者写一些简短的测试脚本),但是一直没有深入研究其组成框架.近期希望抽出时间来做深入学习. 初步计划从 ...

  6. 自动化测试 using System.Windows.Automation;

    frameworke3.0 及以上 using System.Windows.Automation; UIAutomationClient.dll UIAutomationClientsideProv ...

  7. UI Automation Test

    UI Automation test is based on the windows API. U can find the UI Automation MSDN file from http://m ...

  8. Azure Automation (1) 入门

    <Windows Azure Platform 系列文章目录> 通过Azure Automation(自动化),开发人员可以自动完成通常要在云环境中执行的手动.长时间进行.易出错且重复性高 ...

  9. Azure Automation (2) 定期删除存储账号中的文件

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL ...

随机推荐

  1. 【iPhone手机老提示升级怎么办】

    首先复制链接 https://oldcat.me/web/NOOTA9.mobileconfig  然后到自带浏览器(Safari)打开,点击GO,后会弹出安装,安装即可,如果出现密码的,这个密码是你 ...

  2. [转]ping检测网络连接异常

    转载地址:http://blog.csdn.net/feizxiang3/article/details/26672781 一般来说当出现网络无法连接时,习惯性的用ping命令来ping某个ip地址, ...

  3. Webview组件和HTML的介绍

    Deviceone平台并不是基于html5的跨平台开发工具.我们开发一个app都是使用原生的组件,但是在某些场景下html5也是非常好的选择,比如复杂的图文混排(类似新闻),比如报表chart之类用h ...

  4. c++中的重载(Overload)、覆盖(重写,Override) 、隐藏与using声明

    这些概念有时记住了,但可能没多久就忘了,还是记下来吧.网上找的一篇不错:这里  1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中,不包括继承来的): (2)函数名字相同: (3) ...

  5. nodejs httpserver

    用nodejs服务器去拿取后台的数据.(我刚开始学的nodejs的时候是一个蒙圈的宝宝 t.t,开始接触的时候,在本地搭建去拿数据.之前菜鸟的我都不知道路由是神马[囧囧]). --> index ...

  6. 我的sql 记录

    ----------2017-01-03 21:56:56---------- --字符串分隔 start------------- use LDSQL GO CREATE function [dbo ...

  7. this的用法

    因为循环是非常快的,我们手动点击的时候,for循环已经循环完了.如果在循环里面添加点击事件,点击事件的i的值就是循环结果的那个值,而不是对应的循环的值,此时,我们就需要用到this   来实现  点击 ...

  8. Python之操作Redis、 RabbitMQ、SQLAlchemy、paramiko、mysql

    一.Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.Redis是一个key-value存储系统.和 ...

  9. MySQL数据表操作

    创建数据表 打开数据库 USE 数据库名称 mysql> USE D1; Database changed 使用 USE D1:表示打开数据库D1,我们可以通过SELECT DATABASE() ...

  10. 读《编写可维护的JavaScript》第四章总结

    第四章 变量 函数和运算符 4.1 ① 变量声明 变量声明是通过var语句来完成的,并且所有的var语句都提前到包含这段逻辑的函数的顶部执行. function doSomething() { + v ...