Как добавить пользовательскую кнопку ленты во вкладке Report в Outlook - PullRequest
0 голосов
/ 18 марта 2019

Я хочу добавить свою кнопку на вкладке «Отчет» в Outlook. Я могу добавить кнопку ленты во вкладке «Главная» Outlook. Здесь я прикрепил изображение, где я хочу добавить свою собственную кнопку ленты.

enter image description here

Спасибо

Ответы [ 2 ]

1 голос
/ 18 марта 2019

XML-код ленты находится здесь,

<ribbon>
    <tabs>
      <tab idMso="TabReadMessage">
        <group id="grpMessageRibbon" Label="My Group">
          <button id="btnTest" Label="My Button" size="large" />
        </group>
      </tab>
    </tabs>    
  </ribbon>

Загрузка XML-ленты на основе идентификатора ленты.

  public string GetCustomUI(string ribbonID)
        {
            string ribbonXML = String.Empty;

            if (ribbonID == "Microsoft.Outlook.Report")
            {
                ribbonXML = GetResourceText("MicrosoftOutlookReport.xml");
            }

            return ribbonXML;
        }

Спасибо

0 голосов
/ 18 марта 2019

idMso встроенной вкладки, показанной на скриншоте, - TabReadMessage. Вам просто нужно вернуть соответствующую разметку XML ленты в обратном вызове GetCustomUI.

Приложения Microsoft Office вызывают метод GetCustomUI для получения строки XML, определяющей пользовательский интерфейс вашей настраиваемой ленты.

public class Connect : Object, Extensibility.IDTExtensibility2, IRibbonExtensibility 
... 

public string GetCustomUI(string RibbonID) 
{ 

   StreamReader customUIReader = new System.IO.StreamReader("C:\\RibbonXSampleCS\\customUI.xml"); 

   string customUIData = customUIReader.ReadToEnd(); 

   return customUIData; 
 }

Обратите внимание, иногда вам нужно возвращать разметку XML для различных значений ribbonID, передаваемых в качестве аргумента. В этом случае вы получите обратный вызов onLoad (также для инспекторов).

    public string GetCustomUI(string ribbonID)
    {
        string ribbonXML = String.Empty;

        if (ribbonID == "Microsoft.Outlook.Mail.Read")
        {
            ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml");
        }

        return ribbonXML;
    }

См. Настройка ленты для Outlook для получения дополнительной информации.

Подробнее о пользовательском интерфейсе Fluent (также известном как Ribbon UI) можно прочитать в следующих статьях MSDN:

Помните, что по умолчанию, если надстройка VSTO пытается манипулировать пользовательским интерфейсом Microsoft Office (UI) и не работает, сообщение об ошибке не отображается. Однако вы можете настроить приложения Microsoft Office для отображения сообщений об ошибках, связанных с пользовательским интерфейсом. Вы можете использовать эти сообщения, чтобы определить, почему пользовательская лента не отображается или почему лента появляется, но элементы управления не отображаются. См. Как: Показать ошибки интерфейса пользователя надстройки для получения дополнительной информации.

...