zoukankan      html  css  js  c++  java
  • 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父类 注册 使用

  • 相关阅读:
    javaScript中的onclick与jquery中的click区别
    javascript之parseInt的用法分析
    代码重构Refactor
    java-快捷生成Get/Set
    Java 调试和断点的介绍
    Java 运行报错:不支持发行版本 5
    实体类Json串转成DataTable
    sqlserver 如何瞬间执行上万条数据
    windows7远程连接服务器出现身份验证错误,又找不到加密Oracle修正
    MYSql 存储过程自定义跳出
  • 原文地址:https://www.cnblogs.com/klxll/p/3239785.html
Copyright © 2011-2022 走看看