Como personalizar menus e barras de menu no Excel
1.
MENU PERSONALIZADO
Para realizar muitas das tarefas comuns associadas à personalização de barras de menu e menus no Microsoft Excel 2000, no Microsoft Excel 2002 e no Microsoft Office Excel 2003, use a caixa de diálogo Personalizar. Para realizar tarefas mais avançadas ou para adequar barras de menu e menus para um programa personalizado, aconselhamos criar códigos do Microsoft Visual Basic for Applications (VBA).
Para obter mais informações sobre como usar a caixa de diálogo Personalizar, clique em Ajuda do Microsoft Excel no menu Ajuda, digite barra de menu personalizar no Assistente do Office ou no Assistente de respostas e clique em Pesquisar para visualizar o tópico.
Este artigo pode ajudá-lo a aprender técnicas para gravar código VBA para personalização de barras de menu, menus itens de menu, submenus e menus de atalho.
A Microsoft fornece exemplos de programação apenas por questões ilustrativas, sem garantias expressas ou implícitas. Isto inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um determinado propósito. Este artigo presume que você conheça a linguagem de programação demonstrada e também as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudá-lo, fornecendo a explicação da funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou construir procedimentos específicos para atender às suas necessidades.
Os exemplos neste artigo usam código VBA no Excel 2000, no Excel 2002 e no Excel 2003 para personalizar menus. Para usar as macros de exemplo, execute estas etapas:
No Microsoft Office, as barras de ferramentas, barras de menu e menus de atalho são todos controlados programaticamente como um tipo de objeto: Barras de comando. Todos os seguintes itens são representados no VBA pelos objetos CommandBar:
No VBA e no Microsoft Visual Basic, os botões e os itens de menu são representados pelos objetosCommandBarButton. Os controles de pop-up que exibem menus e submenus são representados pelos objetosCommandBarPopup. Nos seguintes exemplos, os controles chamados "Menu" e "Submenu" são controles pop-up que exibem um menu e um submenu. O menu e o submenu são objetos CommandBar exclusivos, com seus próprios conjuntos de controles.
No Microsoft Excel, as barras de menu e as barras de ferramentas são citadas como o mesmo tipo de objeto progamável, o objeto CommandBar. Os controles no objeto CommandBar são usados para se referir a menus, itens de menu, submenus menus de atalho. Uma constante é usada com cada controle no argumento Type para especificar o tipo de controle que deseja usar para o menu, submenu ou o comando.
A seguir está uma lista das diversas constantes de controle no Excel 2003 que especificam o tipo de controle gráfico a ser usado para um controle de barra de menu específico:
**= Novo no Microsoft Excel 2002
***=Novo Microsoft Office Excel 2003
Uma barra de menu é um tipo de barra de comando. Uma barra de menu é o tipo de objeto no qual os menus, itens de menu e submenus são adicionados.
Para obter mais informações sobre como gerenciar barras de menu e itens de menu no Excel, execute estas etapas:
O seguinte exemplo de código retorna a identificação para a barra de menu ativa:
O seguinte exemplo de código retorna o nome para a barra de menu ativa:
É aconselhável declarar a variável OriginalMenuBar como uma variável pública de modo que a sub-rotina possa usá-la em outra sub-rotina, como uma sub-rotina Fechar_Auto. Declarar e usar a variável dessa maneira redefine a barra de menu anterior do usuário para seu estado original. O seguinte exemplo de macro redefine a barra de menu:
O seguinte exemplo de código cria uma barra de comando personalizada chamada Minha barra de comando:
Também é possível criar uma barra de comando usando o argumento Temporary:=True. O argumentoTemporary:=True permite que as barras de comando sejam redefinidas automaticamente ao fechar o Excel. O seguinte código usa o argumento Temporary:=True para criar uma barra de comando personalizada:
O seguinte exemplo cria e exibe uma barra de menu Minha barra de menu personalizada e substitui a barra de menu interna:
O seguinte exemplo de código exclui uma barra de menu personalizada chamada Personalizada 1:
O seguinte exemplo de código remove a barra de menu interna Gráfico da lista de barras de menu disponíveis:
O seguinte exemplo de código adiciona a barra de menu interna Gráfico a partir da lista de barras de menu disponíveis:
Restaurar uma barra de menu redefine os controles padrão (para os menus e os itens de menu). O seguinte exemplo de código restaura a barra de menu interna Gráfico:
Observação É possível redefinir apenas barras de menu internas. Não é possível redefinir uma barra de menu personalizada.
Restaurar uma barra de menu redefine os controles padrão (para os menus e itens de menu). O seguinte exemplo de código restaura a barra de menu interna Gráfico:
Observação É possível redefinir apenas barras de menu internas. Não é possível redefinir uma barra de menu personalizada.
O seguinte exemplo de código adiciona o nome de um menu adicionado programaticamente à barra de menuPlanilha. Por exemplo, este código adiciona o nome do menu Novo menu à barra de menu Planilha.
Observação É possível dar a esse menu qualquer nome que queira.
Um controle de menu desativado aparece esmaecido e não está disponível em uma barra de comando. O seguinte exemplo desativa o menu Novo menu:
O seguinte exemplo de código ativa o menu Novo menu desativado na seção "Desativar um controle de menu em uma barra de comando":
O seguinte exemplo de código exclui o menu Novo menu criado na seção "Adicionar um controle de menu personalizado a uma barra de comando" da barra de menu Planilha:
O seguinte exemplo de código restaura a barra de menu interna Gráfico na barra de menu Planilha:
A quantidade de modificações que podem ser feitas a um comando depende do tipo de controle. Geralmente, os botões estão ativados ou ocultos. Caixas de edição, caixas de lista suspensa e caixas de combinação são mais versáteis de modo que é possível adicionar ou excluir itens da lista. Além disso, é possível determinar a ação realizada observando o valor dos itens selecionados a partir da lista. É possível alterar a ação de qualquer controle para uma função interna ou personalizada.
A seguinte tabela lista as propriedades mais comuns de um controle e os métodos comuns para alterar o estado, a ação ou o conteúdo de um controle:
Para obter mais informações sobre menus no Excel 2003 e no Excel 2002, execute estas etapas:
O seguinte exemplo de código adiciona uma barra de separação antes do comando Planilha no menu Inserir:
Observação Para remover uma barra de separação, defina a propriedade BeginGroup como False.
O seguinte exemplo de código cria um novo comando chamado Personalizar1 no menu Ferramentas da barra de menu Planilha e executa a macro Code_Custom1 ao clicar em Personalizar1:
O seguinte exemplo de código coloca marca de verificação próxima ao comando Personalizar1 se não for selecionado e remove a marca se o comando Personalizar1 for selecionado:
O seguinte exemplo de código desativa o comando Personalizar1 criado no menu Ferramentas na seção "Criar um controle de comando personalizado em um menu":
v
O seguinte exemplo de código ativa o comando Personalizar1 desativado na seção "Desativar um controle de comando em uma barra de comando":
O seguinte exemplo de código exclui o comando Salvar do menu Arquivo:
Para restaurar um controle de comando em um menu, é necessário saber o número de identificação (ID) para o controle. Para determinar o número de identificação, consulte a seção "Retornar uma identificação para um controle da barra de comando". O seguinte exemplo exclui e restaura o comando Salvar excluído na seção "Excluir um controle de comando em um menu":
Os submenus aparecem ao lado do menu pai ao clicar em um comando. Um comando que é um controle de submenu possui uma pequena seta preta localizada à direita do nome do comando.
O seguinte código de exemplo adiciona um novo submenu chamado Novo sub ao menu Ferramentas da barra de menu Planilha:
O seguinte exemplo de código adiciona um novo comando chamado SubItem1 ao submenu Novo sub e executa a macro Code_SubItem1 ao clicar em SubItem1:
O seguinte exemplo de código desativa o mesmo comando SubItem criado na seção "Adicionar um comando a um submenu":
O seguinte exemplo ativa o mesmo comando SubItem:
O seguinte exemplo exclui o comando SubItem1 criado no submenu Novo sub na seção "Adicionar um comando a um submenu":
O seguinte exemplo de código desativa o submenu Novo sub criado no menu Ferramentas na seção "Adicionar um submenu":
Observação Para ativar o controle desativado, defina a propriedade Ativada como True .
O seguinte exemplo de código exclui o submenu Novo sub criado no menu Ferramentas na seção "Adicionar um submenu":
Um menu de atalho é uma barra de comando flutuante que aparece quando o usuário clica com o botão direito do mouse em um objeto. Uma barra de menu de atalho pode conter os mesmos tipos de controle que uma barra de comando, e os controles se comportam da mesma maneira que os controles em uma barra de comando. Não é possível criar ou modificar menus de atalho a partir da interface do programa na maioria dos programas. Portanto, você deve criar e modificar seus menus de atalho em tempo de execução.
Para obter mais informações sobre menus de atalho no Excel 2002 e no Excel 2003 execute estas etapas:
O seguinte exemplo de código cria uma nova barra de menu de atalho chamada Minha barra de atalho:
Observação A barra de menu de atalho aparece vazia porque nenhum controle (itens de menu ou submenus) foi adicionado.
Barras de menu de atalho aparecem ao clicar com o botão direito do mouse em um objeto específico do Excel. O Excel possui muitas barras de menu de atalho para as quais uma variedade de menus está disponível. Também é possível criar barras de menu personalizadas e personalizar as barras de menu internas.
O seguinte exemplo de código cria um novo comando de menu chamado Item1 na barra de menu de atalho Minha barra de atalho e executa a macro Code_Item1 ao clicar em Item1:
O seguinte exemplo de código desativa o comando Item1 criado na seção "Criar um comando em um menu de atalho":
Observação Para ativar o item desativado, defina a propriedade Enabled como True.
O seguinte código de exemplo exclui o comando de menu chamado Item1 na barra de menu de atalho Minha barra de atalho:
Excluira barra de menu de atalho remove todos os itens. Não é possível restaurar uma barra de menu personalizada excluída. Para restaurá-la, é necessário criá-la novamente e também recriar todos os itens de menu e submenus.
O seguinte exemplo de código exclui a barra de menu de atalho myShortCutBar criada na seção "Criar um comando em uma barra de menu de atalho":
O seguinte exemplo de código restaura os comandos padrão na barra de menu de atalho da planilha Célula:
É possível criar submenus em barras de menu de atalho. Os submenus aparecem ao lado do menu pai ao clicar em um controle de comando. Um comando que é um controle de submenu possui uma pequena seta preta localizada à direita de seu nome.
O seguinte exemplo adiciona um novo submenu chamado Novo sub no menu de atalho da planilha Célula:
Observação O submenu está vazio porque nenhum item de menu foi adicionado a ele.
A seguinte macro adiciona o comando SubItem1 ao submenu Novo sub criado no menu de atalho Célula e executa a macro Code_SubItem1 ao clicar em SubItem1:
O seguinte exemplo de código desativa o comando SubItem1 no submenu Novo sub:
Observação Para ativar um item desativado, defina a propriedade Ativada como True.
O seguinte exemplo de código exclui o comando SubItem1 do submenu Novo sub:
O seguinte exemplo de código desativa o submenu Novo sub na barra de menu de atalho Célula:
Observação Para ativar um item desativado, defina a propriedade Ativada como True.
O seguinte exemplo de código exclui o submenu Novo sub criado na barra de menu de atalho Célula:
Os seguintes recursos estão disponíveis para fornecer mais informações sobre como personalizar menus e barras de menus no Excel.
O Pesquisador de objetos contém uma lista completa de todas as propriedades e todos os métodos para um comando específico. Para localizar essas informações, vá para o Editor do Visual Basic (pressione ALT+F11), clique emPesquisador de objetos no menu Exibir (ou pressione F2), digite o nome do controle na caixa Pesquisar e pressione ENTER ou clique em Pesquisar.
A Base de Dados de Conhecimento Microsoft é uma fonte de informações principais da Microsoft para profissionais de suporte do Atendimento Microsoft. A Base de Dados de Conhecimento Microsoft também está disponível para clientes da Microsoft. Esse banco de dados abrangente contém artigos detalhados com informações técnicas sobre produtos da Microsoft, listas de correções documentadas, erros de documentação e respostas as perguntas de suporte técnico freqüentes.
Fonte de pesquisa: https://support.microsoft.com/pt-br/kb/830502
INTRODUÇÃO
Para obter mais informações sobre como usar a caixa de diálogo Personalizar, clique em Ajuda do Microsoft Excel no menu Ajuda, digite barra de menu personalizar no Assistente do Office ou no Assistente de respostas e clique em Pesquisar para visualizar o tópico.
Este artigo pode ajudá-lo a aprender técnicas para gravar código VBA para personalização de barras de menu, menus itens de menu, submenus e menus de atalho.
Mais Informações
Exemplos neste artigo
Os exemplos neste artigo usam código VBA no Excel 2000, no Excel 2002 e no Excel 2003 para personalizar menus. Para usar as macros de exemplo, execute estas etapas:- Inicie o Excel.
- No menu Ferramentas, aponte para Macro e clique em Editor do Visual Basic.
- No menu Inserir, clique em Módulo.
- Digite um dos exemplos de macro deste artigo ou use uma operação copiar e colar para copiar os exemplos de macro para uma planilha de módulo.
- No menu Executar, clique em Executar Sub/UserForm.
- Se a caixa de diálogo Macros aparecer, clique no nome da macro e em Executar.
Barras de comando
No Microsoft Office, as barras de ferramentas, barras de menu e menus de atalho são todos controlados programaticamente como um tipo de objeto: Barras de comando. Todos os seguintes itens são representados no VBA pelos objetos CommandBar:- Barras de menu, barras de ferramentas e menus de atalho.
- Menus nas barras de menu e barras de ferramentas.
- Submenus em menus, submenus e menus de atalho.
No VBA e no Microsoft Visual Basic, os botões e os itens de menu são representados pelos objetosCommandBarButton. Os controles de pop-up que exibem menus e submenus são representados pelos objetosCommandBarPopup. Nos seguintes exemplos, os controles chamados "Menu" e "Submenu" são controles pop-up que exibem um menu e um submenu. O menu e o submenu são objetos CommandBar exclusivos, com seus próprios conjuntos de controles.
No Microsoft Excel, as barras de menu e as barras de ferramentas são citadas como o mesmo tipo de objeto progamável, o objeto CommandBar. Os controles no objeto CommandBar são usados para se referir a menus, itens de menu, submenus menus de atalho. Uma constante é usada com cada controle no argumento Type para especificar o tipo de controle que deseja usar para o menu, submenu ou o comando.
Constantes de controle
A seguir está uma lista das diversas constantes de controle no Excel 2003 que especificam o tipo de controle gráfico a ser usado para um controle de barra de menu específico:- MsoControlActiveX*
- MsoControlAutoCompleteCombo***
- MsoControlButton
- MsoControlButtonDropdown
- MsoControlButtonPopup
- MsoControlComboBox
- MsoControlCustom
- MsoControlDropdown
- MsoControlEdit
- MsoControlExpandingGrid
- MsoControlGauge
- MsoControlGenericDropdown
- MsoControlGraphicCombo
- MsoControlGraphicDropdown
- MsoControlGraphicPopup
- MsoControlGrid
- MsoControlLabel
- MsoControlLabelEx***
- MsoControlOCXDropDown
- MsoControlPane **
- MsoControlPopup
- MsoControlSpinner***
- MsoControlSplitButtonMRUPopup
- MsoControlSplitButtonPopup
- MsoControlSplitDropdown
- MsoControlSplitExpandingGrid
- MsoControlWorkPane**
**= Novo no Microsoft Excel 2002
***=Novo Microsoft Office Excel 2003
Barras de menu
Uma barra de menu é um tipo de barra de comando. Uma barra de menu é o tipo de objeto no qual os menus, itens de menu e submenus são adicionados. Para obter mais informações sobre como gerenciar barras de menu e itens de menu no Excel, execute estas etapas:
- Inicie o Editor do Microsoft Visual Basic.
- No menu Ajuda, clique em Ajuda do Microsoft Visual Basic.
- Na caixa Assistente do Office ou na caixa Assistente de resposta, digite Barras de menu e clique em Pesquisar.
- No Excel 2003 e no Excel 2002, clique em Adicionando e gerenciando barras de menu e itens de menu. No Excel 2000, clique em Sobre menus e barras de ferramentas.
Propriedade ou método | Finalidade |
Add | Adiciona uma barra de menu usando o método Adad da coleção de objetos CommandBars e especificando o valor TRUE (Verdadeiro) para o argumento Menubar. |
Ativado | Se a propriedade Enabled estiver definida com o valor TRUE (verdadeiro), o usuário poderá tornar a barra de menu especificada visível usando o código de Visual Basic. Se a propriedade Enabledestiver definida com o valor FALSE (falso), o usuário não poderá tornar a bara de menu visível. No entanto, a barra de menu irá aparecer na lista de barras de comando disponíveis. |
Proteção | Possibilita a proteção da barra de menu contra ações específicas de usuários. |
Posição | Especifica a posição da nova barra de menu relativa à janela do programa. A posição da barra de menu com relação à janela do programa pode ser uma das seguintes propriedades constantesMsoBarPosition: msoBarLeft, msoBarTop, msoBarRight, msoBarBottom, msoBarFloating,msoBarPopup (usada para criar menus de atalho) ou msoBarMenuBar (para usar apenas com Apple Macintosh). |
Visible | Especifica se o controle é visível ou oculto. |
Retornar uma identificação para um controle da barra de comando
O seguinte exemplo de código retorna a identificação para a barra de menu ativa:Sub Id_Control ()
Dim myId as Object
set myId = CommandBars("Worksheet Menu Bar").Controls("Tools")
MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub
Determinar o nome da barra de menu ativa
O seguinte exemplo de código retorna o nome para a barra de menu ativa:Sub MenuBars_GetName()
MsgBox CommandBars.ActiveMenuBar.Name
End Sub
Salvar o estado ativo (para barras de menus internas ou personalizadas)
É aconselhável declarar a variável OriginalMenuBar como uma variável pública de modo que a sub-rotina possa usá-la em outra sub-rotina, como uma sub-rotina Fechar_Auto. Declarar e usar a variável dessa maneira redefine a barra de menu anterior do usuário para seu estado original. O seguinte exemplo de macro redefine a barra de menu:Public OriginalMenuBar as Object
Sub MenuBars_Capture()
Set OriginalMenuBar = CommandBars.ActiveMenuBar
End Sub
Criar uma barra de comando personalizada
O seguinte exemplo de código cria uma barra de comando personalizada chamada Minha barra de comando: Sub MenuBar_Create() Application.CommandBars.Add Name:="My command bar" End Sub
Também é possível criar uma barra de comando usando o argumento Temporary:=True. O argumentoTemporary:=True permite que as barras de comando sejam redefinidas automaticamente ao fechar o Excel. O seguinte código usa o argumento Temporary:=True para criar uma barra de comando personalizada:
Sub MenuBar_Create()
Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub
Exibir uma barra de comando personalizada
O seguinte exemplo cria e exibe uma barra de menu Minha barra de menu personalizada e substitui a barra de menu interna: Sub MenuBar_Show()
Dim myNewBar As Object
Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)
' You must first enable your custom menu bar before you make it visible.
' Enabling a menu bar adds it to the list of available menu bars on
' the Customize dialog box.
' Setting the menubar property to True replaces the built-in menu bar.
myNewBar.Enabled = True
myNewBar.Visible = True
End Sub
Excluir uma barra de comando personalizada
O seguinte exemplo de código exclui uma barra de menu personalizada chamada Personalizada 1: Sub MenuBar_Delete()
CommandBars("Custom1").Delete
End Sub
Ocultar uma barra de comando
O seguinte exemplo de código remove a barra de menu interna Gráfico da lista de barras de menu disponíveis:Sub MenuBar_Display()
CommandBars("Chart").Enabled = False
End Sub
Exibir uma barra de comando
O seguinte exemplo de código adiciona a barra de menu interna Gráfico a partir da lista de barras de menu disponíveis:Sub MenuBar_Display()
CommandBars("Chart").Enabled = True
End Sub
Restaurar uma barra de comando interna
Restaurar uma barra de menu redefine os controles padrão (para os menus e os itens de menu). O seguinte exemplo de código restaura a barra de menu interna Gráfico: Sub MenuBar_Restore()
CommandBars("Chart").Reset
End Sub
Menus
Restaurar uma barra de menu redefine os controles padrão (para os menus e itens de menu). O seguinte exemplo de código restaura a barra de menu interna Gráfico:
Sub MenuBar_Restore()
CommandBars("Chart").Reset
End Sub
Adicionar um controle de menu personalizado a uma barra de comando
O seguinte exemplo de código adiciona o nome de um menu adicionado programaticamente à barra de menuPlanilha. Por exemplo, este código adiciona o nome do menu Novo menu à barra de menu Planilha. Observação É possível dar a esse menu qualquer nome que queira.
Sub Menu_Create()
Dim myMnu As Object
Set myMnu = CommandBars("Worksheet menu bar").Controls. _
Add(Type:=msoControlPopup, before:=3)
With myMnu
' The "&" denotes a shortcut key assignment (Alt+M in this case).
.Caption = "New &Menu"
End With
End Sub
Desativar um controle de menu em uma barra de comando
Um controle de menu desativado aparece esmaecido e não está disponível em uma barra de comando. O seguinte exemplo desativa o menu Novo menu: Sub Menu_Disable()
CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub
Ativar um controle de menu em uma barra de comando
O seguinte exemplo de código ativa o menu Novo menu desativado na seção "Desativar um controle de menu em uma barra de comando": Sub Menu_Disable()
CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub
Excluir um controle de menu em uma barra de comando
O seguinte exemplo de código exclui o menu Novo menu criado na seção "Adicionar um controle de menu personalizado a uma barra de comando" da barra de menu Planilha:Sub Menu_Delete()
CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub
Restaurar um controle de menu em uma barra de comando
O seguinte exemplo de código restaura a barra de menu interna Gráfico na barra de menu Planilha: Sub Menu_Restore()
Dim myMnu As Object
Set myMnu = CommandBars("Chart")
myMnu.Reset
End Sub
Comandos
A quantidade de modificações que podem ser feitas a um comando depende do tipo de controle. Geralmente, os botões estão ativados ou ocultos. Caixas de edição, caixas de lista suspensa e caixas de combinação são mais versáteis de modo que é possível adicionar ou excluir itens da lista. Além disso, é possível determinar a ação realizada observando o valor dos itens selecionados a partir da lista. É possível alterar a ação de qualquer controle para uma função interna ou personalizada.A seguinte tabela lista as propriedades mais comuns de um controle e os métodos comuns para alterar o estado, a ação ou o conteúdo de um controle:
Propriedade ou método | Finalidade |
Add | Adiciona um comando à barra de comando. |
AddItem | Adiciona um item à lista suspensa, a uma parte de uma caixa de lista suspensa ou a uma caixa de combinação. |
Style | Especifica se a face do botão irá exibir um ícone ou uma legenda. |
OnAction | Especifica o procedimento a ser executado quando o usuário alterar o valor de um controle. |
Visible | Especifica se o controle é visível ou oculto. |
Para obter mais informações sobre menus no Excel 2003 e no Excel 2002, execute estas etapas:
- Inicie o Editor de script do Visual Basic.
- No menu Ajuda, clique em Ajuda do Microsoft Visual Basic.
- Na caixa Pesquisar na Ajuda digite menus e pressione ENTER.
- Clique em Adicionando e gerenciando barras de menu e itens de menu (Office).
Adicionar uma barra de separação a um controle de menu
O seguinte exemplo de código adiciona uma barra de separação antes do comando Planilha no menu Inserir: Sub menuItem_AddSeparator()
CommandBars("Worksheet menu bar").Controls("Insert") _
.Controls("Worksheet").BeginGroup = True
End Sub
Criar um controle de comando personalizado em um menu
O seguinte exemplo de código cria um novo comando chamado Personalizar1 no menu Ferramentas da barra de menu Planilha e executa a macro Code_Custom1 ao clicar em Personalizar1: Sub menuItem_Create()
With CommandBars("Worksheet menu bar").Controls("Tools")
.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"
.Controls("Custom1").OnAction = "Code_Custom1"
End With
End Sub
Colocar uma marca de verificação próxima a um controle de comando
O seguinte exemplo de código coloca marca de verificação próxima ao comando Personalizar1 se não for selecionado e remove a marca se o comando Personalizar1 for selecionado: Sub menuItem_checkMark()
Dim myPopup as Object
Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools")
If myPopup.Controls("Custom1").State = msoButtonDown Then
' Remove check mark next to menu item.
myPopup.Controls("Custom1").State = msoButtonUp
MsgBox "Custom1 is now unchecked"
Else
' Add check mark next to menu item.
myPopup.Controls("Custom1").State = msoButtonDown
MsgBox "Custom1 is now checked"
End If
End Sub
Desativar um controle de comando em uma barra de comando
O seguinte exemplo de código desativa o comando Personalizar1 criado no menu Ferramentas na seção "Criar um controle de comando personalizado em um menu": Sub MenuItem_Disable()
Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
myCmd.Controls("Custom1").Enabled = False
End Sub
v
Ativar um controle de comando em uma barra de comando
O seguinte exemplo de código ativa o comando Personalizar1 desativado na seção "Desativar um controle de comando em uma barra de comando":Sub MenuItem_Enable()
Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
myCmd.Controls("Custom1").Enabled = True
End Sub
Excluir um controle de menu em um menu
O seguinte exemplo de código exclui o comando Salvar do menu Arquivo: Sub menuItem_Delete()
Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
myCmd.Controls("Save").Delete
End Sub
Restaurar um controle de comando interno em um menu
Para restaurar um controle de comando em um menu, é necessário saber o número de identificação (ID) para o controle. Para determinar o número de identificação, consulte a seção "Retornar uma identificação para um controle da barra de comando". O seguinte exemplo exclui e restaura o comando Salvar excluído na seção "Excluir um controle de comando em um menu":
Sub menuItem_Restore()
Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
' Id 3 refers to the Save menu item control.
myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub
Submenus
Os submenus aparecem ao lado do menu pai ao clicar em um comando. Um comando que é um controle de submenu possui uma pequena seta preta localizada à direita do nome do comando.
Adicionar um submenu
O seguinte código de exemplo adiciona um novo submenu chamado Novo sub ao menu Ferramentas da barra de menu Planilha: Sub SubMenu_Create()
Dim newSub as Object
Set newSub = CommandBars("Worksheet menu bar").Controls("Tools")
With newSub
.Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub"
End With
End Sub
Adicionar um comando a um submenu
O seguinte exemplo de código adiciona um novo comando chamado SubItem1 ao submenu Novo sub e executa a macro Code_SubItem1 ao clicar em SubItem1: Sub SubMenu_AddItem()
Dim newSubItem as Object
Set newSubItem = CommandBars("Worksheet menu bar") _
.Controls("Tools").Controls("NewSub")
With newSubItem
.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "SubItem1"
.Controls("SubItem1").OnAction = "Code_SubItem1"
End With
End Sub
Desativar um controle de comando em um submenu
O seguinte exemplo de código desativa o mesmo comando SubItem criado na seção "Adicionar um comando a um submenu":
Sub SubMenu_DisableItem()
CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Enabled = False
End Sub
O seguinte exemplo ativa o mesmo comando SubItem:
Sub SubMenu_DisableItem()
CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Enabled = True
End Sub
Excluir um comando em um submenu
O seguinte exemplo exclui o comando SubItem1 criado no submenu Novo sub na seção "Adicionar um comando a um submenu": Sub SubMenu_DeleteItem()
CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Controls("SubItem1").Delete
End Sub
Desativar um controle de submenu
O seguinte exemplo de código desativa o submenu Novo sub criado no menu Ferramentas na seção "Adicionar um submenu": Sub SubMenu_DisableSub()
CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Enabled = False
End Sub
Excluir um controle de submenu
O seguinte exemplo de código exclui o submenu Novo sub criado no menu Ferramentas na seção "Adicionar um submenu": Sub SubMenu_DeleteSub()
CommandBars("Worksheet menu bar").Controls("Tools") _
.Controls("NewSub").Delete
End Sub
Barras de menu de atalho
Um menu de atalho é uma barra de comando flutuante que aparece quando o usuário clica com o botão direito do mouse em um objeto. Uma barra de menu de atalho pode conter os mesmos tipos de controle que uma barra de comando, e os controles se comportam da mesma maneira que os controles em uma barra de comando. Não é possível criar ou modificar menus de atalho a partir da interface do programa na maioria dos programas. Portanto, você deve criar e modificar seus menus de atalho em tempo de execução.Para obter mais informações sobre menus de atalho no Excel 2002 e no Excel 2003 execute estas etapas:
- Inicie o Editor de script do Visual Basic.
- No menu Ajuda, clique em Ajuda do Microsoft Visual Basic.
- Na caixa Pesquisar na Ajuda, digite atalhos e pressione ENTER.
- Clique em Adicionado e exibindo menus de atalho.
Criar uma nova barra de menu de atalho
O seguinte exemplo de código cria uma nova barra de menu de atalho chamada Minha barra de atalho:
Sub Shortcut_Create()
Dim myShtCtBar as Object
Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _
Position:=msoBarPopup)
‘ This displays the shortcut menu bar.
‘ 200, 200 refers to the screen position in pixels as x and y coordinates.
myShtCtBar.ShowPopup 200,200
End Sub
Menus de atalho
Barras de menu de atalho aparecem ao clicar com o botão direito do mouse em um objeto específico do Excel. O Excel possui muitas barras de menu de atalho para as quais uma variedade de menus está disponível. Também é possível criar barras de menu personalizadas e personalizar as barras de menu internas.
Criar um comando em uma barra de menu de atalho
O seguinte exemplo de código cria um novo comando de menu chamado Item1 na barra de menu de atalho Minha barra de atalho e executa a macro Code_Item1 ao clicar em Item1: Sub Shortcut_AddItem()
Dim myBar as Object
Set myBar = CommandBars("myShortcutBar")
With myBar
.Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"
.Controls("Item1").OnAction = "Code_Item1"
End With
myBar.ShowPopup 200,200
End Sub
Desativar um controle de comando em uma barra de menu de atalho
O seguinte exemplo de código desativa o comando Item1 criado na seção "Criar um comando em um menu de atalho":Sub Shortcut_DisableItem()
Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Enabled = False
myBar.ShowPopup 200,200
End Sub
Excluir um comando em uma barra de menu de atalho
O seguinte código de exemplo exclui o comando de menu chamado Item1 na barra de menu de atalho Minha barra de atalho: Sub Shortcut_DeleteItem()
Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Delete
myBar.ShowPopup 200,200
End Sub
Excluir uma barra de menu de atalho
Excluira barra de menu de atalho remove todos os itens. Não é possível restaurar uma barra de menu personalizada excluída. Para restaurá-la, é necessário criá-la novamente e também recriar todos os itens de menu e submenus.O seguinte exemplo de código exclui a barra de menu de atalho myShortCutBar criada na seção "Criar um comando em uma barra de menu de atalho":
Sub Shortcut_DeleteShortCutBar()
CommandBars("MyShortCutBar").Delete
End Sub
Restaurar um comando em uma barra de menu de atalho interna
O seguinte exemplo de código restaura os comandos padrão na barra de menu de atalho da planilha Célula:Sub Shortcut_RestoreItem()
CommandBars("Cell").Reset
End Sub
Submenus em menus de atalho
É possível criar submenus em barras de menu de atalho. Os submenus aparecem ao lado do menu pai ao clicar em um controle de comando. Um comando que é um controle de submenu possui uma pequena seta preta localizada à direita de seu nome.
Criar um novo submenu em uma barra de menu de atalho
O seguinte exemplo adiciona um novo submenu chamado Novo sub no menu de atalho da planilha Célula: Sub ShortcutSub_Create()
CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _
.Caption = "NewSub"
' This displays the shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Criar um controle de comando em um submenu localizado em uma barra de menu de atalho
A seguinte macro adiciona o comando SubItem1 ao submenu Novo sub criado no menu de atalho Célula e executa a macro Code_SubItem1 ao clicar em SubItem1: Sub ShortcutSub_AddItem()
Dim newSubItem as Object
Set newSubItem = CommandBars("Cell").Controls("NewSub”)
With newSubItem
.Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"
' This will run the subItem1_Code macro when subItem1 is clicked.
.Controls("subItem1").OnAction = "Code_subItem1"
End With
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates
CommandBars("Cell").ShowPopup 200, 200
End Sub
Desativar um controle de item do submenu em um menu de atalho
O seguinte exemplo de código desativa o comando SubItem1 no submenu Novo sub: Sub ShortcutSub_DisableItem()
CommandBars("Cell").Controls("NewSub") _
.Controls("subItem1").Enabled = False
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Excluir um controle de item do submenu em um menu de atalho
O seguinte exemplo de código exclui o comando SubItem1 do submenu Novo sub: Sub ShortcutSub_DeleteItem()
CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Desativar um controle do submenu em um menu de atalho
O seguinte exemplo de código desativa o submenu Novo sub na barra de menu de atalho Célula: Sub ShortcutSub_DisableSub()
CommandBars("Cell").Controls("NewSub").Enabled = False
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Excluir um controle do submenu em um menu de atalho
O seguinte exemplo de código exclui o submenu Novo sub criado na barra de menu de atalho Célula: Sub ShortcutSub_DeleteSub()
CommandBars("Cell").Controls("NewSub").Delete
' This displays the Cell shortcut menu bar.
' 200, 200 refers to the screen position in pixels as x and y coordinates.
CommandBars("Cell").ShowPopup 200, 200
End Sub
Localizar mais informações
Os seguintes recursos estão disponíveis para fornecer mais informações sobre como personalizar menus e barras de menus no Excel.
Pesquisador de objetos
O Pesquisador de objetos contém uma lista completa de todas as propriedades e todos os métodos para um comando específico. Para localizar essas informações, vá para o Editor do Visual Basic (pressione ALT+F11), clique emPesquisador de objetos no menu Exibir (ou pressione F2), digite o nome do controle na caixa Pesquisar e pressione ENTER ou clique em Pesquisar.
Base de Dados de Conhecimento da Microsoft
A Base de Dados de Conhecimento Microsoft é uma fonte de informações principais da Microsoft para profissionais de suporte do Atendimento Microsoft. A Base de Dados de Conhecimento Microsoft também está disponível para clientes da Microsoft. Esse banco de dados abrangente contém artigos detalhados com informações técnicas sobre produtos da Microsoft, listas de correções documentadas, erros de documentação e respostas as perguntas de suporte técnico freqüentes.Fonte de pesquisa: https://support.microsoft.com/pt-br/kb/830502
Nenhum comentário:
Postar um comentário