Páginas

terça-feira, 8 de maio de 2012


Menus em Userforms sem o uso de API’s
Parte 3 - Final


Para os demais Subprocedimentos, apenas comentarei os trechos, por serem instruções mais comuns. Portanto, desenvolva as demais rotinas conforme abaixo. No final, este projeto estará concluído.






Salve seu projeto. Agora pressione F5.

      Projeto um pouco adiantado, com toolbar e statusBar

Com a sua imaginação, e com o que você aprendeu nesta postagem, vários outros menus poderão ser adicionados, apenas definindo o intervalo na Plan1 e codificando alguns eventos dos Menus.

Por enquanto, me desculpem pela demora.
Agradeço se comentarem, divulgarem, indicarem, enfim, me ajudarem à manter este Blog. É minha 1ª postagem e prometo a partir deste, dar seqüência noutras postagens, ensinando como usar estes botões personalizados e, mais adiante, conexões com base de dados Access, retornando e inserindo dados.

Até a próxima!

Menus em Userforms sem o uso de API’s
Parte 2

Agora chegou a hora de definirmos os itens de cada Menu, definindo qual a ação de cada um,  se ele terá ou não Sub-Menu, definindo também a região do Sub-Menu, e outras configurações:

Alterne para a Planilha “Plan1”.
Desenvolva a seguinte estrutura. Não é necessário fazer nenhuma formatação.
Na Coluna A, temos os itens dos nossos 2 menus(Arquivo e Diversos), adicionado no UserForm. 
Na Coluna B(Ação), definimos um número exclusivo para cada item de menu, que indicará sua ação. 
Na Coluna C(Seta), Informamos que, apenas para as Ações 6 e 7 acionaremos um sub-menu. Se quiséssemos, todos poderiam ter sub-menus. Este símbolo corresponde à combinação da tecla Alt pressionada + 272. 
Na Coluna D(SubMenu), Informamos em qual região da planilha está os itens do SubMenu(Colocar a seta na coluna C). 
A Coluna E(Height), serve para definir qual será a altura(Height) do controle Listbox(Menu), cujo valor não se consegue definir precisamente através de cálculos.

Agora, sem muitas explicações, vamos definir a região dos 2 sub-menus indicados nas Ações 6 e 7:

A Coluna H(Ação), é formada aqui pelo número da Ação que a chama [6], concatenada com um indicador exclusivo que será a ação à disparar quando acionado.


Salve novamente seu projeto.

Volte para o ambiente de programação do Visual Basic.

Quando passamos o mouse sobre um menu, ele realça. O Subprocedimento abaixo recebe um parâmetro que será a Tag do menu no qual o mouse está atualmente posicionado e empregará o efeito ao mesmo.
 

Este bloco de código será chamado de dentro do procedimento MouseMove dos objetos menuArquivo e menuDiversos:

Se você pressionar F5 neste instante, já poderá ver o efeito ao mover o mouse sobre os menus.

Porém, quando clicamos sobre um menu, é então exibido os itens daquele menu, e se movermos o mouse sobre outro menu, os itens deste deverá também ser exibidos sem necessidade de clicarmos novamente. Certo?
É o que faremos agora. Crie então um Subprocedimento com o nome PosicaoMenu que receberá 2 parâmetros: Posição(integer) e Intervalo(string), com as instruções conforme abaixo:


A rotina acima será chamada de dentro do SubProcedimento moveMouse (2ª linha) dos objetos menuArquivo e menuDiversos. Logo, a Sub ficará desta forma:

Como temos no Menu “Diversos” 2 itens que possuem também sub-menus, vamos então criar outra rotina para controlar este sub-menu. O código desta rotina é quase igual à da rotina “PosicaoMenu”, o que nos faz a chamarmos de “PosicaoSubMenu”:

Salve seu projeto.

Criando menus para Userforms sem uso de API - parte 1


Menus em Userforms sem o uso de API’s
Parte 1

Depois de algum tempo, retorno a dar continuidade à esta matéria que pode auxiliar muitos programadores em VBA Excel que gostariam de ter seus aplicativos mais atraentes e profissionais.

Andei perdendo alguns de meus códigos após uma formatação de disco rígido mal sucedida, o que me obrigou à refazer todo o projeto novamente. Devido à isto, tive que remover a postagem anterior. Vou reiniciá-lo nesta nova postagem. Em compensação, neste novo projeto, vou ensinar como desenvolver menus com submenus, onde em alguns, colocarei ações que serão disparadas ao clicar.

Considero neste tutorial, que você já possua o Excel devidamente configurado em seu computador. Utilizei neste projeto a versão 2003, embora acredito que outras versões também sirva, pois devem possuir as mesmas versões dos vários controles que utilizarei.

Sendo assim, inicie o Excel.
Vá até o menu Ferramentas => Macro =>Editor do Visual Basic ou pressione Alt+F11. Você verá o ambiente de desenvolvimento do Visual Basic.
Em seguida adicione um novo Form através do Menu Inserir => UserForm.


 Altere as seguintes propriedades do UserForm:
Name
frmPrincipal
Heigth
300
Width
450
Caption
“Atribua qualquer um”

Para a composição do menu, precisaremos de 2 tipos de controles: Listbox e Label.
Neste projeto, faremos 2(dois) Menus e, em alguns casos Sub-Menus. Portanto, precisaremos adicionar e configurar:
·        2(dois) ListBox (Caixa de Listagem);
·        3(Três) Label’s (Rótulo).
Propriedades dos controles:
Propriedades
ListBox1
ListBox2
Label1
Label2
Label3
Name
Menu
SubMenu
Label1
menuArquivo
menuDiversos
BackColor
&H00FFFFFF&
&H00FFFFFF&
&H80000004&
&H80000004&
&H80000004&
BorderColor
&H80000000&
&H80000000&

&H00C0C0C0&
&H00C0C0C0&
BorderStyle
1
1
1


Caption


“”
Arquivo
Diversos
ColumnCount
5
4



ColumnWidths
70;0;5;0;0
60;0;0;0



Height


17
12
12
IntegralHeigth
False
False



Left
300
300
0
2
50
Tag



1
2
Top
100
120
0
2
2
Visible
False
False



Width
90
90
450
48
48
Onde não há informações, deixar como está definido por padrão.
Obs.: Todo menu deverá ter a propriedade Tag = 1

No Final, Seu UserForm deve apresentar esta aparência:

Salve o seu projeto.