Visão geral da faixa de opções do Office Fluent

Observação

O uso de CommandBars em alguns aplicativos do Microsoft Office foi substituído pelo novo componente de faixa de opções da interface do usuário do Office Fluent.

A faixa de opções do Office Fluent substitui o sistema anterior de menus em camadas, barras de ferramentas e painéis de tarefas de versões anteriores do Office. A faixa de opções tem um sistema mais simples de interfaces otimizado para oferecer eficiência e detectabilidade. A Faixa de Opções aprimorou menus de contexto, dicas de tela, uma minibarra de ferramentas e atalhos do teclado que melhoram a eficiência e a produtividade do usuário.

Além disso, é possível usar a RibbonX (Ribbon Extensibility) para aprimorar a experiência do usuário. Você usa XML (Extensible Markup Language) e uma das várias linguagens de programação convencionais para manipular os componentes da Faixa de Opções. Como o XML é texto sem formatação, é possível criar arquivos de personalização em qualquer editor de texto, ou usar o seu editor de XML favorito. Também é possível reutilizar arquivos personalizados com um mínimo de ajustes, pois cada aplicativo usa o mesmo modelo de programação. Por exemplo, você pode reutilizar os arquivos de personalização que você cria no Word, Excel, Access ou PowerPoint.

O uso de arquivos de marcação XML para personalizar a Faixa de Opções reduz sensivelmente a necessidade de criar suplementos complexos baseados no modelo de objeto CommandBars. No entanto, os suplementos gravados em versões anteriores do Office continuam funcionando na Faixa de Opções com pouca ou nenhuma modificação. Você pode criar personalizações no nível do aplicativo para a faixa de opções no Word, no Excel ou no PowerPoint fazendo qualquer uma das seguintes ações:

  • Use suplementos COM em código gerenciado ou não gerenciado.
  • Use suplementos específicos do aplicativo, como arquivos .ppam e .xlam.
  • Use modelos (arquivos.dotm) no Word.

Em um cenário típico, o código do suplemento COM contém procedimentos que retornam marcação XML de um arquivo de personalização externo ou do XML que está no próprio código. Quando o aplicativo é iniciado, o suplemento carrega e executa o código que retorna a marcação XML. O Office valida a marcação XML em um esquema XSD e, em seguida, carrega-a na memória e aplica-a à faixa de opções antes que a faixa de opções seja exibida. Os itens e controles do menu usam procedimentos de retorno de chamada para executar código no suplemento.

As personalizações no nível de documento usam a mesma marcação XML e um arquivo de Formatos Open XML com uma destas extensões: docx, .docm, .xlsx, .xlsm, .pptx ou pptm. Nesse cenário, você cria um arquivo de personalização que contém a marcação XML e o salva em uma pasta. Em seguida, você modifica as partes no contêiner Formatos Open XML para apontar para o arquivo de personalização. Quando você abrir o documento no aplicativo do Office, o arquivo de personalização será carregado na memória e será aplicado na faixa de opções. Os comandos e controles então chamam o código contido no documento para fornecer a sua funcionalidade.

Soluções existentes

Em versões do Office anteriores ao Office 2007, os desenvolvedores usaram o modelo de objeto CommandBars para criar o código do Visual Basic que modificou a interface do usuário. No Office, esse código herdado continua funcionando na maioria dos casos sem modificação. No entanto, as alterações feitas nas barras de ferramentas no Office 2003 agora aparecem em uma guia Suplementos no Office.

O tipo de personalização que aparece depende do design original do suplemento. Por exemplo, o Office cria um grupo Comandos de Menu que contém itens adicionados à estrutura de menus anterior (menus Arquivo, Inserir, Ferramentas e assim por diante). Ele também cria um grupo Comandos da Barra de Ferramentas que contém itens adicionados às barras de ferramentas internas anteriores (como as barras de ferramentas Padrão, Formatação e Imagem). Além disso, as barras de ferramentas personalizadas de um suplemento ou documento aparecem no grupo Barras de Ferramentas Personalizadas da guia Suplementos.

Procedimentos de retorno de chamada adicionam funcionalidade à faixa de opções

Com a Ribbon Extensibility, você especifica retornos de chamada para atualizar propriedades e executar ações a partir da sua interface do usuário em tempo de execução. Por exemplo, considere o método de retorno de chamada onAction para um botão na seguinte marcação RibbonX: <button id="myButton" onAction="MyButtonOnAction" />

Essa marcação informa ao Office para chamar a função MyButtonOnAction quando o botão for selecionado. A função MyButtonOnAction tem uma assinatura específica que depende de sua escolha de idiomas; a seguir está um exemplo no Visual C#.

public void MyButtonOnAction (IRibbonControl control) 
   { 
      if (control.Id=="myButton") 
      { 
         System.Windows.Forms.MessageBox.Show("Button clicked!"); 
      } 
   } 

Personalizando a faixa de opções com suplementos COM

A personalização no nível de aplicativo resulta em uma Faixa de Opções modificada que aparece no aplicativo independentemente do documento que estiver aberto. Basta criar suplementos de COM principalmente para fazer essas modificações. Para personalizar a faixa de opções usando suplementos COM:

  1. Crie um projeto de suplemento COM. O suplemento que você cria deve implementar a interface Extensibility.IDTExtensibility2 que todos os suplementos COM implementam, bem como a interface IRibbonExtensibility que está no namespace Microsoft.Office.Core.
  2. Crie o suplemento e o projeto de instalação. Em seguida, instale o projeto.
  3. Inicie o aplicativo do Office. Quando o suplemento é carregado, ele dispara o evento IDTExtensibility2::OnConnection , que inicializa o suplemento, assim como nas versões anteriores do Office.
  4. Em seguida, é chamado o método QueryInterface que determina se a interface IRibbonExtensibility será implementada.
  5. Se ela for implementada, será chamado o método IRibbonExtensibility::GetCustomUI que carrega a marcação XML do arquivo de personalização XML ou da marcação XML incorporada no procedimento e carrega as personalizações no aplicativo.
  6. A interface do usuário personalizada agora está pronta para o usuário.

Personalizando a faixa de opções com arquivos de formatos XML do Office Open

Para personalizar a interface do usuário usando marcação XML, siga estas etapas:

  1. Crie o arquivo de personalização em qualquer editor de texto. Adicione a marcação XML que inclui novos componentes à Faixa de Opções, modifica componentes existentes ou oculta componentes. Salve o arquivo como customUI.xml.

  2. Na sua área de trabalho, crie uma pasta chamada customUI e copie o arquivo de personalização nessa pasta.

  3. Valide a marcação XML com um esquema de interface do usuário personalizado.

    Observação

    Essa etapa é opcional.

  4. Crie um documento no aplicativo do Office e salve-o como um arquivo de Formatos Open XML com uma destas extensões: .docx, .docm, .xlsx, .xlsm, .pptm ou .pptx. Por questões de segurança, os arquivos que contêm macros têm um sufixo m e podem conter procedimentos chamados pelos comandos e controles RibbonX.

  5. Adicione uma extensão .zip ao nome do arquivo do documento e abra o arquivo.

  6. Adicione o arquivo de personalização ao contêiner arrastando a pasta para o arquivo.

  7. Extraia o arquivo .rels que está no arquivo .zip para a área de trabalho. Uma pasta _rels que contém o arquivo .rels será copiada para a área de trabalho.

  8. Abra o arquivo .rels e adicione uma linha que cria uma relação entre o arquivo de documento e o arquivo de personalização e salve o arquivo.

  9. Adicione a pasta _rels de volta ao contêiner, substituindo o arquivo existente.

  10. Renomeie o arquivo com seu nome original removendo a extensão .zip. Quando você abrir o arquivo do Office, a Faixa de Opções será exibida com a personalização.

Formato geral de arquivos de marcação XML

Use a marcação XML para personalizar a faixa de opções. O exemplo a seguir mostra o formato geral de um arquivo de marcação XML que você pode usar para personalizar a faixa de opções no Word.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
  <ribbon> 
    <tabs> 
      <tab idMso="TabHome"> 
        <group idMso="GroupFont" visible="false" /> 
      </tab> 
      <tab id="CustomTab" label="My Tab"> 
        <group id="SampleGroup" label="Sample Group"> 
          <toggleButton id="ToggleButton1" size="large" label="Large Toggle Button" getPressed="MyToggleMacro"  /> 
          <checkBox id="CheckBox1" label="A CheckBox" screentip="This is a check box" onAction="MyCheckboxMacro" /> 
          <editBox id="EditBox1" getText="MyTextMacro" label="My EditBox" onChange="MyEditBoxMacro"/> 
          <comboBox id="Combo1" label="My ComboBox" onChange="MyComboBoxMacro"> 
            <item id="Zip1" label="33455" /> 
            <item id="Zip2" label="81611" /> 
            <item id="Zip3" label="31561" /> 
          </comboBox> 
          <advanced> 
            <button id="Launcher1" screentip="My Launcher" onAction="MyLauncherMacro" /> 
          </advanced> 
        </group> 
        <group id="MyGroup" label="My Group" > 
          <button id="Button" label="My Large Button" size="large" onAction="MyButtonMacro" /> 
          <button id="Button2" label="My Normal Button" size="normal" onAction="MyOtherButtonMacro" /> 
        </group > 
      </tab> 
    </tabs> 
  </ribbon> 
</customUI> 

Este exemplo faz as seguintes alterações na faixa de opções no Word, na seguinte ordem:

  1. Declara o namespace padrão e um namespace personalizado.

  2. Oculta o grupo GroupFont interno localizado na guia Home interna.

  3. Adiciona uma nova guia CustomTab à direita da última guia interna.

    Observação

    Use o atributo id= identifier para criar um item personalizado, como uma guia. Use o atributo idMso= identifier para se referir a um item interno, como a guia TabHome.

  4. Adiciona um novo grupo SampleGroup à guia Minha Guia.

  5. Adiciona um botão ToggleButton1 de tamanho grande ao Meu Grupo e especifica um retorno de chamada onAction junto com um retorno de chamada GetPressed.

  6. Adiciona uma caixa de seleção CheckBox1 ao Meu Grupo com uma dica de tela personalizada e especifica um retorno de chamada onAction.

  7. Adiciona uma caixa de edição EditBox1 ao Meu Grupo e especifica um retorno de chamada onChange.

  8. Adiciona uma caixa de combinação Combo1 ao Meu Grupo com três itens. Essa caixa especifica um retorno de chamada onChange que usa o texto de cada item.

  9. Adiciona um inicializador do Launcher1 ao Meu Grupo com o conjunto de retorno de chamada onAction. Um iniciador também pode exibir uma caixa de diálogo personalizada para oferecer mais opções ao usuário.

  10. Adiciona um novo grupo My Group à guia personalizada.

  11. Adiciona um botão Button1 de tamanho grande ao MyGroup e especifica um retorno de chamada onAction.

  12. Adiciona um botão Button1 de tamanho normal ao MyGroup e especifica um retorno de chamada onAction.

Trabalhar com suplementos da barra de comando herdada

Ao criar suplementos de COM, geralmente você precisa de um meio de interação dos usuários com o suplemento. Nas versões anteriores do Office, era incluído um item de menu ou um botão de barra de ferramentas no aplicativo com o uso do modelo de objeto CommandBars. Nesta versão do Office, os aplicativos personalizados continuam funcionando na Faixa de Opções sem modificação na maioria dos casos. No entanto, as alterações feitas com o modelo de objeto CommandBars ou qualquer outra tecnologia que modificou os menus ou barras de ferramentas, como WordBasic ou XML, aparecem em uma guia Suplementos separada. Isso facilita a localização dos controles pelos usuários.

Atualizar dinamicamente a faixa de opções

Os retornos de chamada que retornam propriedades de um controle geralmente são chamados uma vez, a não ser que você especifique que a chamada deve ser repetida. Você pode repetir a consulta do retorno de chamada implementando o retorno de chamada onLoad no elemento CustomUI. Esse retorno de chamada é chamado uma vez quando o arquivo de marcação RibbonX é carregado com êxito e, em seguida, passa o código para um objeto IRibbonUI .

O exemplo de código a seguir obtém o objeto IRibbonUI para que você possa atualizar seus controles no runtime.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded">

Em C#, escreva um retorno de chamada na classe Connect .

IRibbonUI myRibbon; 
 
     public void ribbonLoaded(IRibbonUI ribbon) { 
         myRibbon = ribbon; 
     } 

A faixa de opções oferece aos usuários uma maneira flexível de trabalhar com aplicativos do Office. É possível usar marcação XML declarativa, simples e baseada em texto para criar e personalizar a Faixa de Opções. Com poucas linhas de XML, é possível criar exatamente a interface certa para o usuário. Como a marcação XML está em um único arquivo, é mais simples modificar a interface à medida que as necessidades mudam. Você também pode melhorar a produtividade do usuário colocando os comandos em locais onde eles possam ser encontrados facilmente. Por fim, a Faixa de Opções faz com que haja consistência entre os aplicativos, o que reduz o tempo necessário para que os usuários aprendam a trabalhar com cada aplicativo.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.