RicardoHorta.Net - Excel XP: Rapidinhas
SUBMARINO: Fácil ! Rápido ! Seguro !
Newsletter
Excel XP: O controle Image.
- Se você não quiser inserir a imagem no segundo plano de um UserForm,
poderá trabalhar com o controle Image.
- É possível redimensioná-lo,...
- ... horizontal e verticalmente, e...
- ... posicioná-lo em qualquer parte do formulário.
- Inicialmente, Image é criado com bordas pretas,...
- ... definidas pelas propriedades BorderColor e BorderStyle.
- Por padrão, a opção Moldura de janela ( guia Sistema ) está ativada.
- Mas, você poderá alterá-la, utilizando a guia Paleta.
- O resultado será este aí.
SUBMARINO: Literatura Estrangeira
Biografias, Cartas e... | Contos e Crônicas |
Ficção Científica | GLS |
Poesia | Policial | Romance |
Sátira e Humor | Suspense e Terror |
|
|
|
|
|
|
|
|
|
Excel XP: Controle Image ( continuação ).
- Para inserir imagem num controle Image, você utiliza a
propriedade Picture ( a mesma propriedade utilizada para os formulários ).
- Facilite a pesquisa, ativando, na caixa Arquivos do tipo, a opção
Todos os arquivos.
- Localize, selecione a imagem e clique no botão Abrir.
- Além de Picture, PictureAlignment, PictureSizeMode e
PictureTiling controlam o conteúdo de Image.
- Se for preciso, redimensione Image para...
- ... no seu tamanho original.
Como desativo as bordas ?
- Clique na seta à direita de BorderStyle e...
- ... ative fmBorderStyleNone.
- As bordas serão desativadas e...
- ... o formulário ficará com este layout.
SUBMARINO: Livros de Informática !
Análise de Sistemas | Banco de Dados | Computação Gráfica |
Geral | Hardware | Internet |
Linguagens de Programação | Programas de Computação | Redes | Sistemas Operacionais |
|
|
|
|
|
|
|
|
|
|
Excel XP: Image e a propriedade SpecialEffect.
- SpecialEffect define o estilo do controle. Inicialmente, o valor
desta propriedade é fmSpecialEffectFlat.
- Escolhendo, por exemplo, fmSpecialEffectRaised,...
- ... BorderStyle será redefinida para fmBorderStyleNone e...
- ... a moldura será exibida com este layout.
- SpecialEffect possui outras opções como fmSpecialEffectSunken,...
- ...fmSpecialEffectEtched e...
SUBMARINO: Literatura Brasileira
Biografias, Cartas e... | Contos e Crônicas | Ficção Científica |
GLS | Poesia | Policial |
Romance | Sátira e Humor | Suspense e Terror |
|
|
|
|
|
|
|
|
|
Excel XP: Image e a propriedade SpecialEffect ( continuação ).
- Para alterar o layout de Image em tempo de execução, você
pode utilizar o evento MouseMove do formulário e/ou do controle.
- Primeiro, com a moldura selecionada, ative a opção fmSpecialEffectRaised.
- Clique 2 vezes com o botão esquerdo no UserForm ou clique com o botão direito
e escolha Exibir código.
- Na caixa Procedimento, selecione MouseMove.
- Crie o bloco With Image1... End With.
- Digite um ponto e, no menu com as propriedades da moldura,
escolha SpecialEffect.
- Digite o sinal de igual e selecione fmSpecialEffectRaised.
- A procedure relativa ao evento MouseMove do UserForm ficará assim.
- Agora, na caixa Objeto, selecione Image1.
- E em Procedimento, escolha MouseMove.
- Faça SpecialEffect igual a fmSpecialEffectSunken.
- O código completo ficará assim.
- Pressione, então, F5.
- Mova o ponteiro do mouse sobre o formulário e...
- ... sobre a moldura. SpecialEffect de Image1 será alterada.
- E se você mover, novamente, o mouse sobre o formulário, a propriedade SpecialEffect
da moldura será restaurada.
SUBMARINO: Livros: Administração e Negócios.
| Lançamentos | Mais vendidos | Comércio Exterior |
Contabilidade e Auditoria | Empresas e Negócios | Finanças e Mercado Capitais |
Liderança e Gestão de Equipes | MBA | Planejamento e Estratégia |
Tecnologia da Informação |
|
|
|
|
|
|
|
|
|
|
Excel XP: As propriedades BorderStyle e BorderColor.
- Por padrão, as bordas do formulário ficam desativadas.
- O valor de BorderStyle, a propriedade que controla o estilo da borda, é, inicialmente,
fmBorderStyleNone.
- Para ativar as bordas, selecione o valor fmBorderStyleSingle.
- O formulário será exibido assim, com estas bordas pretas.
- Para alterar a cor das bordas, utilize a propriedade BorderColor,
cujo valor padrão é a opção Texto do botão da guia Sistema.
- Você pode utilizar também a guia Paleta para personalizar o formulário.
Alterando BorderStyle e BorderColor com VBA.
- Estas propriedades podem ser alteradas em tempo de execução do aplicativo.
- Clique 2 vezes no formulário ou
clique com o botão direito e, no menu que surgir, escolha Exibir código.
- Na caixa Procedimento, escolha Initialize.
- Digite BorderStyle = e as opções da propriedade serão
exibidas.
- Clique 2 vezes em fmBorderStyleSingle.
- Em seguida, defina a cor: BorderColor = RGB( tonalidades de vermelho, verde e azul ).
- Mais sutil do que espirro de Anjo.
- Tá bom, gente, tá bom. Taca vermelho nas bordas e fim de papo.
SUBMARINO: Fácil ! Rápido ! Seguro !
Excel XP: A propriedade BackColor.
- A cor dos formulários é controlada pela propriedade BackColor.
- Como padrão, Superfície do botão é a cor aplicada, inicialmente,
ao UserForm.
- Você pode utilizar também a guia Paleta, que não possui uma variedade
muito grande de cores.
- Mas, jovem amigo(a) virtual, você conheceu a função RGB,
aqui no meu site, que permite diversas tonalidades de cores.
Logo, não fique parado(a) aí, reclamando das
poucas opções da guia Paleta.
- Clique 2 vezes com o botão esquerdo no formulário ou clique com o
botão direito e escolha Exibir código.
- Na caixa Procedimento, escolha Initialize.
- O evento Initialize ocorre quando o formulário é criado, ou seja,
antes do UserForm ser exibido na tela. Você pode utilizá-lo para preencher caixas de
listagem ( ListBox ) ou caixas de combinação ( Combobox ), definir a formatação
inicial do formulário, zerar variáveis globais, etc...
- Digite, então, o nome do formulário seguido do tradicional ponto.
- No menu, escolha BackColor.
- Complete a linha com RGB e seus 3 parâmetros: as tonalidades
de vermelho, verde e azul.
- Em seguida, tecle [ F5 ] ou clique em Executar Sub.
- O resultado será este aí.
SUBMARINO: Direito
| Lançamentos | Mais Vendidos | Administrativo |
Ambiental | Civil | Comercial |
Constitucional e T. Estado | Internacional | Penal |
Processual Civil |
|
|
|
|
|
|
|
|
|
|
Excel XP: Controles Label e a propriedade TabStop.
- Controles Label ( Rótulo ), por padrão, têm a propriedade
TabStop igual a False.
- Eles fazem parte da ordem de tabulação, porém, não recebem o foco
com a tecla [ Tab ].
- Utilizados para criar títulos nos formulário, eles, realmente, não
precisam ser acessados.
- Se você inserir um Label como o primeiro controle no formulário,
a sua propriedade TabIndex será 0 ( zero ) e TabStop será False.
- Inserindo, em seguida, uma caixa de texto,...
- ... TabIndex ( 1 ) seguirá a ordem de tabulação. Porém,
ao contrário do Label, a propriedade TabStop do TextBox será True.
- Este padrão é mantido para todos os controles...
- ... dos tipos Label e TextBox.
- Executando o formulário,...
- ... o foco será direcionado para o primeiro TextBox,
ignorando o controle Label com a propriedade TabIndex igual a 0 ( zero ).
- Daí pra frente, a história se repetirá. O foco ficará limitado...
- ... aos campos para digitação dos dados.
SUBMARINO: Livros: Religião
| Afro-Brasileiras | Budismo | Bíblia |
Catolicismo | Cristianismo | Espiritismo |
Evangélicos | Islamismo | Judaísmo |
Outras Religiões | Seicho-No-Ie | Seitas |
Teologia |
|
|
|
|
|
|
|
|
|
|
|
|
|
Excel XP: Frame, TextBox, CommandButton e a tecla [ Tab ].
- Você inseriu uma caixa de texto no formulário e o Editor VBA definiu
a propriedade TabIndex como zero.
- Em seguida, você inseriu 3 botões de comando e...
- ... a ordem de tabulação seguiu o padrão:
CommandButton1 ( TabIndex = 1 ),...
- ... CommandButton2
( TabIndex = 2 ) e CommandButton3 ( TabIndex = 3 ).
- ... a caixa de texto recebeu o foco. Não foi preciso clicar dentro
dela para começar a digitação.
- Você, então, pressionou [ Tab ] e...
- ... o foco obedeceu a ordem definida...
- ... por TabIndex.
- Tudo perfeito. Mas, você queria mais.
- Retornou ao Editor VBA e inseriu uma moldura ( Frame ).
- Em seguida, mantendo-a selecionada,...
- ... alterou a propriedade Caption: Nome.
- Nada melhor do que facilitar o trabalho dos usuários ( também acho ).
- Depois, selecionou a caixa de texto e...
- ... a moveu para dentro da moldura.
- Ajustou os controles e...
- ... ativou, novamente, a sua obra-prima.
Irc ! O qui aconteceu ?! Virge Santa ! Oh, Céus !!
Mas eu fiz tudo direito.
Então, por cau de quê a caixa de texto não recebeu o foco ?
- Porque você não alterou a propriedade TabIndex do Frame. Ele foi
o último controle inserido, logo, é o último controle na ordem de tabulação
- Se você pressionar [ Tab ], os botões de comando receberão, primeiro,
...
- ... o foco, respeitando a sequência na qual foram criados.
- E, finalmente, TextBox1, o último controle na ordem
de tabulação.
Xiii, e agora ? Meu chefe vai me matá.
- Fique tranquila. Vamos solucionar, facilmente, este pequeno imbróglio.
Personalizando a sequência dos controles.
- Retorne ao Editor VBA.
- Selecione CommandButton3 e observe: TabIndex está igual a 2.
- Agora, selecione a moldura.
- Lá está o porquê de toda esta celeuma: TabIndex = 3. Logo, os controles,
que você inserir dentro da moldura, serão os últimos a receber o foco.
E aí ? O qui devo fazer ?
- Simples.
- Com a moldura selecionada, faça TabIndex = 0.
- CommandButton1 passa a ser, automaticamente, o 2º controle na sequência.
- E CommandButton3, o último.
Quero testar.
- Ok.
- Pressione F5.
- A caixa de texto receberá o foco.
- Pressione [ Tab ] e... o resto da história você já conhece.
SUBMARINO: Livros: Esporte
Musculação e Fitness | Aquáticos e Aéreos |
Artes Marciais | Automobilismo |
Educação Física | Futebol |
Geral | Hipismo e Equitação |
Jogos Atléticos e Coletivos | Pesca, Caça e Tiro |
|
|
|
|
|
|
|
|
|
|
Excel XP: Selecionando e manipulando molduras.
- Se as dimensões do UserForm forem pequenas, você terá dificuldades na
seleção e manipulação das molduras. Portanto, aqui vão algumas dicas.
- Clique dentro da moldura para selecioná-la ou ...
- ... clique diretamente na borda.
- Para movê-la, posicione o ponteiro sobre a borda, clique com o botão esquerdo
e,...
- ... mantendo-o pressionado, arraste-a para a nova posição.
- Se preferir, trabalhe, diretamente, com as propriedades Top
e Left.
Irc ! A moldura engoliu outra moldura ! E agora ?
- Calma, jovem. Já sei o que aconteceu.
- Você selecionou o objeto e...
- ... o moveu sobre outro quadro.
- Solução ? Simples.
- Clique dentro do frame e...
- ... mova-o, novamente, para...
- Você pode também alterar as propriedades Top e
Left da moldura, em tempo de
execução do aplicativo, no evento Initialize do formulário.
- Questão de opção, jovem.
SUBMARINO: Economia
| Financeira | Internacional | Geral |
Macroeconomia | Microeconomia |
|
|
|
|
|
Excel XP: As propriedades StartUpPosition, Top e Left.
- A posição inicial do formulário na tela é, por padrão, definida pela propriedade
StarTUpPosition.
- O valor default é CenterOwner.
- O objeto UserForm é exibido centralizado na janela do Excel XP.
- A opção Manual zera as coordenadas e o formulário...
- ... é exibido na margem superior esquerda da tela. As coordenadas
da janela do Excel XP são ignoradas pelo UserForm.
- ... centraliza o formulário na tela. Observe nesta imagem que
o formulário está centralizado na tela, ignorando a janela do software microsotiano.
A propriedade Top.
- Por padrão, é StartUpPosition que define a posição inicial do UserForm.
Por isso, a propriedade Top ( borda superior ) está zerada.
- Alterando Top, você altera, automaticamente, StartUpPosition para Manual.
A propriedade Left.
- Left, assim como Top, inicialmente, está zerada. Ela define
a posição da borda esquerda do formulário e pode ser
utilizada em conjunto com Top para alterar a posição inicial padrão do objeto.
Movendo o UserForm.
- StartUpPosition, Top e Left definem apenas a posição inicial.
Elas não fixam o formulário na tela.
- Clicando e mantendo pressionado o botão esquerdo na barra de título,...
- ... você move o formulário para...
- ... qualquer posição na tela.
SUBMARINO: Fácil ! Rápido ! Seguro !
Excel XP: Ativando 2 objetos UserForm.
- No Excel XP, é possível exibir, ao mesmo tempo, 2 formulários do usuário. Veja como.
- Abra uma pasta de trabalho vazia.
- Ative a janela do Editor do Visual Basic.
- Com o botão Inserir UserForm,...
- Com o objeto UserForm1 selecionado, altere a propriedade ShowModal para
False.
- Você está informando ao Excel XP para exibir o UserForm no formato
Modeless ( janela irrestrita ).
- Faça o mesmo com UserForm2.
Criando o evento para exibir os formulários.
- Vamos utilizar o evento Open da pasta de trabalho.
- Na janela Projeto, clique 2 vezes em EstaPasta_de_Trabalho.
- Clique na seta à direita de Objeto e escolha Workbook.
- O evento padrão do objeto selecionado será criado.
- Digite os comandos: UserForm1.Show e UserForm2.Show.
- No modo Modeless, o Excel XP não interrompe a execução das linhas de código.
Assim, o 1º formulário será exibido e, em seguida, UserForm2 será também ativado.
Testando.
- Clique no botão Executar Sub.
Ué ! Cadê o primeiro formulário ?!
- Calma, jovem.
- Como os formulários foram exibidos na mesma posição, apenas UserForm2 está visível.
- Clique na barra de título de UserForm2 e mova-o para visualizar os
2 UserForm.
- Você poderá alternar entre os objetos e...
- ... posicioná-los lado a lado.
- Observe: a cor da barra de título é alterada, indicando qual formulário está ativado.
SUBMARINO: Fácil ! Rápido ! Seguro !
Excel XP: Objetos ActiveWorkbook e ActiveSheet.
- No Excel XP, é possível também exibir na barra de título do UserForm
o nome da pasta de trabalho ou...
- Abra o Editor do Visual Basic.
- ActiveWorkbook representa a pasta de trabalho ativa. Name
é a propriedade que retorna o nome da pasta.
- UserForm_TelaInicial.Caption = ActiveWorkbook.Name exibe na barra
de título do formulário o nome da pasta de trabalho ativa.
- Para testar a linha de código, clique uma vez apenas dentro da procedure
e, em seguida, pressione F5 ( ou utilize o botão Executar Sub/UserForm ).
- Aí está o nome da pasta de trabalho exibido pelo formulário.
- UserForm_TelaInicial.Caption = ActiveSheet.Name exibe o nome da
planilha ativa.
- ActiveSheet representa no VBA a planilha ativa.
- Isto é interessante.
- Se você clicar em outra guia, ativando outra planilha e exibir o formulário,...
- ... a barra de título será atualizada.
Artigos relacionados.
SUBMARINO: Fácil ! Rápido ! Seguro !
SUBMARINO: Fácil ! Rápido ! Seguro !
17/07/2006 - 07:00 - www.ricardo.horta.nom.br - Direitos adquiridos - Autor: Ricardo Horta