Управление Backstage для Office 2010 или более поздней версии
Я работаю над надстройкой Word/Exce/PowerPoint, которая будет установлена на ПК пользователя.
У меня есть следующие вопросы:
Шаблоны проектов управления меню Backstage могут быть созданы в версии C#/VB/C++. Однако проекты надстроек могут быть созданы только в C#. Есть ли способ встроить в проект C++?
Как я могу управлять закулисным меню в проекте 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;
}
...