Compartilhar via


Como adicionar comandos a menus de atalho

Este tópico demonstra como adicionar comandos a um menu de atalho em um aplicativo do Office usando um suplemento do VSTO.

Aplica-se a: as informações neste tópico se aplicam a projetos em nível de documento e projetos de suplemento do VSTO. Confira Recursos disponibilizados pelo aplicativo do Office e pelo tipo de projeto.

Como adicionar comandos a menus de atalho no Office

  1. Adicione um item XML da faixa de opções a um projeto de suplemento do VSTO ou em nível de documento. Para obter mais informações, confira Como começar a personalizar a faixa de opções. In

  2. Gerenciador de soluções, selecione ThisAddin.cs ou ThisAddin.vb.

  3. Na barra de menus, escolha Exibir>Código.

    O arquivo de classe ThisAddin é aberto no Editor de Código.

  4. Adicione o código a seguir à classe ThisAddin. Esse código substitui o método CreateRibbonExtensibilityObject e retorna a classe XML da faixa de opções para o aplicativo do Office.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
          return new Ribbon1();
    }
    
  5. No Gerenciador de soluções, selecione o arquivo XML da faixa de opções. Por padrão, o arquivo XML da faixa de opções é denominado Ribbon1.xml.

  6. Na barra de menus, escolha Exibir>Código.

    O arquivo XML da faixa de opções é aberto no Editor de Código.

  7. No Editor de Código, adicione o XML que descreve o menu de atalho e o controle que você deseja adicionar ao menu de atalho.

    O exemplo a seguir adiciona um botão, um menu e um controle de galeria ao menu de atalho de um documento do Word. A ID de controle desse menu de atalho é ContextMenuText. Para obter uma lista completa das IDs de controle de atalho do Office 2010, confira Arquivos de ajuda do Office 2010: identificadores de controle de interface de usuário do Office Fluent.

    <?xml version="1.0" encoding="UTF-8"?>
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
      <contextMenus>
        <contextMenu idMso="ContextMenuText">
          <button id="MyButton" label="My Button" insertBeforeMso="HyperlinkInsert" onAction="GetButtonID" />
          <menu id="MySubMenu" label="My Submenu" >
            <button id="MyButton2" label="Button on submenu" />
          </menu>
          <gallery id="galleryOne" label="My Gallery">
            <item id="item1" imageMso="HappyFace" />
            <item id="item2" imageMso="HappyFace" />
            <item id="item3" imageMso="HappyFace" />
            <item id="item4" imageMso="HappyFace" />
          </gallery>
        </contextMenu>
      </contextMenus>
    </customUI>
    
  8. No Gerenciador de soluções, escolha MyRibbon.cs ou MyRibbon.vb.

  9. Adicione um método de retorno de chamada à classe Ribbon1 para cada controle que você deseja manipular.

    O método de retorno de chamada a seguir manipula o botão Meu botão. Esse código adiciona uma sequência ao documento ativo na localização atual do cursor.

    public void GetButtonID(Office.IRibbonControl control)
    {
        Microsoft.Office.Interop.Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the context menu named My Button.";
    }