• 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父类 注册 使用

  • 相关阅读:
    Nexus OSS 3 搭建 Docker & Git LFS 仓库
    YARN FairScheduler
    k8s基本概念及使用
    k8s 基本使用
    10款非常实用的在线网站原型设计工具
    Spark常见问题及性能调优
    spark常见问题处理
    TensorFlow 基本使用
    c语言数组的操作
    在Android开发中遇到的MediaPlayer问题
  • 原文地址:https://www.cnblogs.com/klxll/p/3239785.html
Copyright © 2020-2023  润新知