Table of contents
XML
TOC
Recolher sumário
Expandir sumário

Criar um menu de atalho para um formulário, controle de formulário ou relatórioCreate a Shortcut Menu for a Form, Form Control, or Report

office 365 dev account|Última Atualização: 06/04/2018
|
2 Colaboradores

Código de exemplo fornecido por: Edwin Blancovitch, Advanced Developers.netSample code provided by: Edwin Blancovitch, Advanced Developers.net

Quando você está projetando um formulário ou relatório, convém fornecer um método para que o usuário utilize facilmente um comando que se aplica apenas ao contexto atual. Uma maneira de fazer isso é criar um menu de atalho personalizado e aplicá-lo ao controle ou relatório de formulário. O menu de atalho é exibido quando o usuário clica com o botão direito do mouse no objeto ao qual o menu de atalho é aplicado.When you're designing a form or report, you may want to provide a method for a user to easily use a command that applies only to the current context. One way to do this is to create a custom shortcut menu and apply it to a form report, or control. The shortcut menu appears when the user right-clicks the object to which the shortcut menu is applied.

Nas versões anteriores do Access, você pode usar a caixa de diálogo Personalizar para criar menus de atalho personalizados. No Access 2013, use um código do Visual Basic for Applications (VBA) para criar menus de atalho. Este artigo descreve como criar um menu de atalho usando o VBA.In earlier versions of Access, you could use the Customize dialog box to create custom shortcut menus. In Access 2013, you must use Visual Basic for Applications (VBA) code to create a shortcut menu. This article describes you how to create a shortcut menu using VBA.

Para criar um menu de atalho, primeiro você precisa criar um objeto CommandBar.To create an shortcut menu, you first have to create a CommandBar object.O objeto CommandBar representa o menu de atalho.The CommandBar object represents the shortcut menu.Em seguida, use o método Add para criar objetos CommandBarControl.Then, you use the Add method to create CommandBarControl objects.Sempre que você cria um objeto CommandBarControl, um comando é adicionado ao menu de atalho.Each time that you create a CommandBarControl object, a command is added to the shortcut menu.O exemplo a seguir cria um menu de atalho chamado SimpleShortcutMenu que contém dois comandos, Remover Filtro/Classificação e Filtrar por Seleção.The following example creates a shortcut menu named SimpleShortcutMenu that contains two commands, Remove Filter/Sort and Filter by Selection.

Observação: para usar os exemplos a seguir, você deve definir uma referência para a Biblioteca de Objetos do Microsoft Office 15.0.Note To use the following examples, you must set a reference to the Microsoft Office 15.0 Object Library. See Set References to Type Libraries for more information about how to set references.Confira Definir referências às Bibliotecas de Tipos para saber mais sobre como definir referências.SeeSet References to Type Libraries for more information about how to set references.

Sub CreateSimpleShortcutMenu() 
    Dim cmbShortcutMenu As Office.CommandBar 

    ' Create a shortcut menu named "SimpleShortcutMenu. 
    Set cmbShortcutMenu = CommandBars.Add("SimpleShortcutMenu", msoBarPopup, False, True) 

    ' Add the Remove Filter/Sort command. 
    cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=605 

    ' Add the Filter By Selection command. 
    cmbShortcutMenu.Controls.Add Type:=msoControlButton, Id:=640 

    Set cmbShortcutMenu = Nothing 

End Sub

Depois que você executa o código, o menu de atalho é salvo como parte do banco de dados.Once you've run the code, the shortcut menu is saved as part of the database. You don't have to run the same code to re-create the shortcut menu every time that you open the database.Você não precisará executar o mesmo código para recriar o menu de atalho sempre que abrir o banco de dados.Once you've run the code, the shortcut menu is saved as part of the database. You don't have to run the same code to re-create the shortcut menu every time that you open the database.Para atribuir o menu de atalho a um formulário, controle de formulário ou relatório, defina a propriedade Menu de Atalho do objeto como Yes e a propriedade Barra de Menus de Atalho como o nome do menu de atalho.To assign the shortcut menu to a form, form control, or report, set the Shortcut Menu property of the object to Yes and set the Shortcut Menu Bar property of the object to the name of the shortcut menu. For this example, set the Shortcut Menu Bar property to SimpleShortcutMenu.Por exemplo, defina a propriedade Barra de Menus de Atalho como SimpleShortcutMenu.For this example, set the Shortcut Menu Bar property to SimpleShortcutMenu.O exemplo a seguir cria um menu de atalho chamado cmdFormFiltering que inclui comandos que são úteis para usar com Formulários contínuos.The following example creates a shortcut menu named cmdFormFiltering that contains commands that are useful to use with Continuous forms. In this example, the BeginGroup property is used on several controls to group controls visually.Neste exemplo, a propriedade BeginGroup é usada em vários controles para agrupá-los visualmente.The following example creates a shortcut menu named cmdFormFiltering that contains commands that are useful to use with Continuous forms. In this example, the BeginGroup property is used on several controls to group controls visually.

Sub CreateShortcutMenuWithGroups() 
    Dim cmbRightClick As Office.CommandBar 

 ' Create the shortcut menu. 
    Set cmbRightClick = CommandBars.Add("cmdFormFiltering", msoBarPopup, False, True) 

    With cmbRightClick 
        ' Add the Find command. 
        .Controls.Add msoControlButton, 141, , , True 

        ' Start a new grouping and add the Sort Ascending command. 
        .Controls.Add(msoControlButton, 210, , , True).BeginGroup = True 

        ' Add the Sort Descending command. 
        .Controls.Add msoControlButton, 211, , , True 

        ' Start a new grouping and add the Remove Filer/Sort command. 
        .Controls.Add(msoControlButton, 605, , , True).BeginGroup = True 

        ' Add the Filter by Selection command. 
        .Controls.Add msoControlButton, 640, , , True 

        ' Add the Filter Excluding Selection command. 
        .Controls.Add msoControlButton, 3017, , , True 

        ' Add the Between... command. 
        .Controls.Add msoControlButton, 10062, , , True 
    End With 

Set cmbRightClick = Nothing 
End Sub

O exemplo a seguir cria um menu de atalho chamado cmdReportRightClick, que inclui comandos úteis para usar com um relatório. Este exemplo mostra como alterar a propriedade Caption de cada controle, à medida que são adicionados ao menu de atalho.The following example creates a shortcut menu named cmdReportRightClick that contains commands that are useful to use with a report. This example shows how to change the Caption property of each control as they're added to the shortcut menu.

Sub CreateReportShortcutMenu() 
    Dim cmbRightClick As Office.CommandBar 
    Dim cmbControl As Office.CommandBarControl 

   ' Create the shortcut menu. 
    Set cmbRightClick = CommandBars.Add("cmdReportRightClick", msoBarPopup, False, True) 

    With cmbRightClick 

        ' Add the Print command. 
        Set cmbControl = .Controls.Add(msoControlButton, 2521, , , True) 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Quick Print" 

        ' Add the Print command. 
        Set cmbControl = .Controls.Add(msoControlButton, 15948, , , True) 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Select Pages" 

        ' Add the Page Setup... command. 
        Set cmbControl = .Controls.Add(msoControlButton, 247, , , True) 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Page Setup" 

        ' Add the Mail Recipient (as Attachment)... command. 
        Set cmbControl = .Controls.Add(msoControlButton, 2188, , , True) 
        ' Start a new group. 
        cmbControl.BeginGroup = True 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Email Report as an Attachment" 

        ' Add the PDF or XPS command. 
        Set cmbControl = .Controls.Add(msoControlButton, 12499, , , True) 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Save as PDF/XPS" 

        ' Add the Close command. 
        Set cmbControl = .Controls.Add(msoControlButton, 923, , , True) 
        ' Start a new group. 
        cmbControl.BeginGroup = True 
        ' Change the caption displayed for the control. 
        cmbControl.Caption = "Close Report" 
    End With 

    Set cmbControl = Nothing 
    Set cmbRightClick = Nothing 
End Sub

Sobre os colaboradoresAbout the Contributors

Edwin Blancovitch é Presidente do Advanced Developers.net, que criou o Easy Payroll, um pacote de software para gerenciar as necessidades de recursos humanos, folha de pagamento, horários, agendamento e participações.Edwin Blancovitch is president of Advanced Developers.net, creators of Easy Payroll, a software package to manage your human resources, payroll, scheduling, time and attendance needs.

© 2018 Microsoft