Управление Backstage для Office 2010 или более поздней версии

Я работаю над надстройкой Word/Exce/PowerPoint, которая будет установлена ​​на ПК пользователя.

У меня есть следующие вопросы:

  1. Шаблоны проектов управления меню Backstage могут быть созданы в версии C#/VB/C++. Однако проекты надстроек могут быть созданы только в C#. Есть ли способ встроить в проект C++?

  2. Как я могу управлять закулисным меню в проекте C++/ATL? Я сделал проект "Общая надстройка", и он успешно загружается в MSWord, но функция GetCustomUI никогда не вызывается.

Вот код:

class ATL_NO_VTABLE CConnect : 
...
    public IDispatchImpl<AddInDesignerObjects::_IDTExtensibility2, &AddInDesignerObjects::IID__IDTExtensibility2, &AddInDesignerObjects::LIBID_AddInDesignerObjects, 1, 0>,
    public IDispatchImpl<IRibbonExtensibility, &__uuidof(IRibbonExtensibility), &LIBID_Office, /* wMajor = */ 2, /* wMinor = */ 4>

...

    BEGIN_COM_MAP(CConnect)
        COM_INTERFACE_ENTRY2(IDispatch, IRibbonExtensibility)
        COM_INTERFACE_ENTRY(AddInDesignerObjects::IDTExtensibility2)
        COM_INTERFACE_ENTRY(IRibbonExtensibility)
    END_COM_MAP()
...

    STDMETHOD(GetCustomUI)(BSTR RibbonID, BSTR * RibbonXml)
    {   
            // never called 

        return S_OK;
    }   
...

0 ответов

Другие вопросы по тегам