O que são constantes ?
Constantes são valores que
não alteram durante a execução de uma rotina. São declaradas da mesma forma que
as variáveis, a única diferença reside no facto da atribuição ser feita na
mesma instrução da declaração, e só poder ser feita uma única vez.
Const <Nome_Constante> As
<Tipo> = <Valor>
Const <Nome_Constante> As
<Tipo> = <Expressão de cálculo>
InputBox e MsgBox
O que são ?
Para haver interacção entre o
utilizador e uma macro ou programa é necessário que exista um interface de
comunicação. Este poderá ser mais ou menos complexo e completo, contudo existem
dois elementos básicos para estabelecer esta ligação: InputBox e MsgBox.
Neste contexto a InputBox é
uma função que permite ao utilizador introduzir dados no programa – é portanto
um mecanismo de input. O MsgBox é um mecanismo de Output e permite ao
utilizador visualizar os dados produzidos pelo programa.
O que faz…
1. Exibe no écran uma janela com uma caixa – text box – para a inserção de dados.
2. Espera que o utilizador introduza os dados e/ou accione um
dos botões.3. Como é uma função produz um valor final. Este consiste nos dados inseridos pelo utilizador na forma textual - String.
Sintaxe
Numa primeira avaliação da
função, pode-se dizer que a mesma possui diversos parâmetros, mas somente o
primeiro é obrigatório, sendo que todos os outros quando ignorados assumem
valores atribuídos por defeito.
|
Parâmetro
|
Comentário
|
|
Prompt
(Obrigatório )
|
Expressão textual exibida
como mensagem na janela de input.
A dimensão máxima é de 1024
caracteres.
Se se pretender construir
uma mensagem com mais do que uma linha poderá utilizar o caractere Enter -
Chr(13). A junção dos elementos que constituem a mensagem é realizada através
do operador &.
Exemplo:
"A Soma de 3 com 5 é :" & Chr(13) &
" 8 "
|
|
Title
(Facultativo)
|
Titulo da janela de input.
Se este for omitido, aparecerá por defeito o nome da aplicação.
|
|
Default
(Facultativo)
|
Expressão inserida por
defeito na caixa de inserção de dados e constituirá a resposta por defeito se
o utilizador não introduzir outra.
Se este parâmetro for
omitido aparecerá uma text box vazia.
|
|
Xpos
(Facultativo)
|
Número que identifica a
distância horizontal entre o lado esquerdo do écran e a janela de input. Se
este valor for omitido a janela aparecerá centrada horizontalmente.
|
|
Ypos
(Facultativo)
|
Número que identifica a
distância vertical entre o lado superior do écran e a janela de input. Se
este valor for omitido a janela ficará posicionada a 1/3 da parte inferior do
écran
|
|
HelpFile
(Facultativo)
|
Nome do ficheiro de Help
que será utilizado para dar apoio ao preenchimento desta janela. Se for
indicado este parâmetro o seguinte é obrigatório.
|
|
Context
(Facultativo)
|
Número do índice do tópico
de Help constante no ficheiro HelpFile, e que corresponde à janela em questão.
|
Exemplo:
InputBox(“Introduza o Nome da Aplicação:”, , “Excel”)
InputBox(“Introduza o Nome da Aplicação:”, , “Excel”)
Na janela de input será exibida a mensagem “Introduza o Nome da
Aplicação:”, o título da caixa será o definido por defeito e o valor na caixa
de inserção será “Excel”.
MsgBox
O que faz…
1. Exibe no écran uma janela com uma mensagem.
2. Espera que o utilizador accione um dos botões.
3. Como é uma função produz um valor final. Devolve um número inteiro indicando o botão que foi clicado.
Sintaxe
MsgBox(prompt[,
buttons] [, title] [, helpfile, context])
À semelhança da InputBox , pode-se dizer que a mesma possui diversos parâmetros, mas somente o primeiro é obrigatório, sendo que todos os outros quando ignorados assumem valores atribuídos por defeito.
Parâmetros
|
Parâmetro
|
Comentário
|
|
Prompt
(Obrigatório )
|
Expressão textual exibida
como mensagem na janela de input.
A dimensão máxima é de 1024
caracteres.
Se se pretender construir
uma mensagem com mais do que uma linha poderá utilizar o caractere Enter
Chr(13)
Exemplo:
"A Soma de 3 com 5 é :" & Chr(13) &
" 8 "
|
|
Buttons
(Facultativo)
|
Número que identifica o
tipo de botões que se pretende visualizar na janela de output. Ver tabela
seguinte.
Se for omitido assumirá o
valor 0 por defeito.
|
|
Title
(Facultativo)
|
Titulo da janela de input.
Se este for omitido, aparecerá por defeito o nome da aplicação.
|
|
HelpFile
(Facultativo)
|
Nome do ficheiro de Help
que será utilizado para dar apoio ao preenchimento desta janela. Se for
indicado este parâmetro o seguinte é obrigatório.
|
|
Context
(Facultativo)
|
Número do índice do tópico
de Help constante no ficheiro HelpFile, e que corresponde à janela em
questão.
|
Atenção: Se pretender enviar mais que um parâmetro
optativo respeite a ordem através de “,” (virgulas)
Exemplo:
MsgBox(“Erro de Sintaxe !!!”, , “Mensagem
de Erro”)
Na janela de output será
exibida a mensagem “Erro de Sintaxe”, o botão exibido será o de OK (por
defeito) e o titulo da janela será “Mensagem de Erro”.
|
Constante de VBA
|
Valor
|
Descrição
|
|
VbOKOnly
|
0
|
Exibe somente o botão de OK.
|
|
VbOKCancel
|
1
|
Exibe os botões OK e Cancel.
|
|
VbAbortRetryIgnore
|
2
|
Exibe os botões Abort, Retry, e Ignore.
|
|
VbYesNoCancel
|
3
|
Exibe os botões Yes, No, e Cancel .
|
|
VbYesNo
|
4
|
Exibe os botões Yes e No.
|
|
VbRetryCancel
|
5
|
Exibe os botões Retry e Cancel.
|
|
VbCritical
|
16
|
Exibe o ícone de Critical Message.
|
|
VbQuestion
|
32
|
Exibe o ícone de Warning Query.
|
|
VbExclamation
|
48
|
Exibe o ícone de Warning Message.
|
|
VbInformation
|
64
|
Exibe o ícone de Information Message.
|
|
VbDefaultButton1
|
0
|
O primeiro botão é o seleccionado por defeito.
|
|
VbDefaultButton2
|
256
|
O segundo botão é o seleccionado por defeito.
|
|
VbDefaultButton3
|
512
|
O terceiro botão é o seleccionado por defeito.
|
|
VbDefaultButton4
|
768
|
O quarto botão é o seleccionado por defeito.
|
|
VbApplicationModal
|
0
|
Application modal – o utilizador só depois de
responder à MsgBox é que poderá dar continuidade ao trabalho na aplicação
corrente.
|
|
VbSystemModal
|
4096
|
System modal -
– o utilizador só depois de responder à MsgBox é que poderá dar
continuidade ao trabalho em qualquer aplicação em curso no sistema.
|
Pela análise desta tabela
poderá constatar que existem diferentes agrupamentos de códigos: para definir o
tipo de botões (0-5), para definir o tipo de ícones (16,32,48,64), para definir
o botão seleccionado por defeito (0,256,512,768) e para indicar o modo de
execução (0 e 4096). Poderá adicionar os códigos e assim fazer combinações
entre diversas opções destes 4 grupos, contudo nunca deverá adicionar mais do
que um código por agrupamento.
Na janela de input será
exibida a mensagem “Introduza o Nome da Aplicação:”, o título da caixa será o
definido por defeito e o valor na caixa de inserção será “Excel”.
MsgBox
O que faz…
1. Exibe no écran uma janela com uma mensagem.
2. Espera que o utilizador accione um dos botões.3. Como é uma função produz um valor final. Devolve um número inteiro indicando o botão que foi clicado.
Sintaxe
À semelhança da InputBox ,
pode-se dizer que a mesma possui diversos parâmetros, mas somente o primeiro é
obrigatório, sendo que todos os outros quando ignorados assumem valores
atribuídos por defeito.
Exemplos:
MsgBox "Erro de Sintaxe!!!", 2
+ 48 + 512 + 4096, "Mensagem de Erro"
É exibida a seguinte janela:
MsgBox "Erro de Sintaxe!!!", 5
+ 64 + 256 + 4096, "Mensagem de
Erro"
É exibida a seguinte janela:
Valores
Produzidos…
Como
já foi referido, a função MsgBox produz um valor em função do botão accionado,
assim produzirá como output um dos valores constantes da tabela seguinte:
|
Constante de VBA
|
Valor
|
Botão Accionado
|
|
vbOK
|
1
|
OK
|
|
vbCancel
|
2
|
Cancel
|
|
vbAbort
|
3
|
Abort
|
|
vbRetry
|
4
|
Retry
|
|
vbIgnore
|
5
|
Ignore
|
|
vbYes
|
6
|
Yes
|
|
vbNo
|
7
|
No
|


Nenhum comentário:
Postar um comentário