Escolar Documentos
Profissional Documentos
Cultura Documentos
Funcoes PDF
Funcoes PDF
Coleo de Exemplos
e definies de
FUNES VB 5
Este trabalho foi feito por:
Carlos Alberto Nunes Susviela
Da Seguinte forma:
Abrido o HELP do VB Selecionando o Texto e Colando no WORD
Diretiva #Const
Utilizada para definir constantes condicionais do compilador no Visual Basic.
Sintaxe
#Const nomedaconst = expresso
A sintaxe da diretiva de compilador #Const possui estas partes:
Parte
Descrio
nomedaconstante
Obrigatria; Variant (String). Nome da constante;
obedece as convenes padronizadas para
nomenclatura de varivel.
expresso
Obrigatria. Literal, outra constante condicional do
compilador, ou qualquer combinao que inclua
algum ou todos os operadores aritmticos ou lgicos,
exceto Is.
Comentrios
As constantes condicionais do compilador so sempre Private para o mdulo no qual aparecem. No
possvel criar constantes do compilador Public utilizando a diretiva #Const. Constantes do
compilador Public s podem ser criadas na interface do usurio.
Somente constantes condicionais do compilador e literais podem ser utilizadas em expresso. A
utilizao de uma constante padro definida com Const ou de uma constante indefinida causar a
ocorrncia de um erro. Contrariamente, as constantes definidas utilizando-se a palavra-chave #Const
podem ser utilizadas somente para compilao condicional.
As constantes condicionais do compilador so sempre avaliadas no nvel do mdulo,
independentemente da sua posio no cdigo.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Diretiva #If...Then...#Else
Compila condicionalmente blocos selecionados do cdigo do Visual Basic.
Sintaxe
#If expresso Then
instrues
[#ElseIf expresso-n Then
[instrueselseif]]
[#Else
[instrueselse]]
#End If
A sintaxe da diretiva #If...Then...#Else possui estas partes:
Parte
expresso
instrues
expresso-n
instrueselseif
instrueselse
Descrio
Obrigatria.
Qualquer
expresso,
consistindo
exclusivamente de uma ou mais constantes
condicionais do compilador, literais e operadores que
so avaliados como True ou False.
Obrigatria. Linhas de programa ou diretivas de
compilador do Visual Basic que so avaliadas se a
expresso associada for True.
Opcional.
Qualquer
expresso,
consistindo
exclusivamente de uma ou mais constantes
condicionais do compilador, literais e operadores que
so avaliados como True ou False.
Opcional. Uma ou mais linhas de programa ou diretivas
de compilador que sero avaliadas se expresso-n for
True.
Opcional. Uma ou mais linhas de programa ou diretivas
de compilador que sero avaliadas se nenhuma
expresso ou expresso-n anterior for True.
Comentrios
O comportamento da diretiva #If...Then...#Else igual ao da instruo If...Then...Else, exceto que
no h um formulrio de linha nica para as diretivas #If, #Else, #ElseIf e #End If; isto , nenhum
outro cdigo pode aparecer na mesma linha que qualquer das diretivas. A compilao condicional
normalmente utilizada para compilar o mesmo programa para plataformas diferentes. Tambm
utilizada para evitar que o cdigo de depurao aparea em um arquivo executvel. O cdigo
excludo durante a compilao condicional omitido completamente do arquivo executvel final e,
desta forma, ele no afeta seu tamanho ou desempenho.
Independentemente do resultado de qualquer avaliao, todas as expresses so avaliadas.
Portanto, todas as constantes utilizadas em expresses devem ser definidas; qualquer constante no
definida avaliada como Empty.
Observao
A instruo Option Compare no afeta expresses em instrues #If e #ElseIf.
Expresses em uma diretiva de compilador condicional so sempre avaliadas com Option Compare
Text.
Constantes do calendrio
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante
Valor
Descrio
vbCalGreg
vbCalHijri
0
1
Constantes do compilador
O Visual Basic para Aplicativos define as constantes para utilizao exclusiva com a diretiva
#If...Then...#Else. Essas constantes so funcionalmente equivalentes s constantes definidas com a
diretiva #If...Then...#Else, exceto que elas so globais no que se refere ao escopo; isto , elas se
aplicam a todo o projeto.
Em plataformas de desenvolvimento de 16 bits, as constantes do compilador so definidas da
seguinte maneira:
Constant
e
Valor
Descrio
Win16
True
Win32
False
Valor
Descrio
Win16
False
Win32
True
Observao Essas constantes so fornecidas pelo Visual Basic. Sendo assim voc no pode definir
suas prprias constantes com esses mesmos nomes em qualquer nvel.
Constantes Date
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Valores do argumento
O argumento primeirodiadasemana possui os valores a seguir:
Constante
Valor
Descrio
vbUseSystem
VbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
vbFriday
vbSaturday
0
1
2
3
4
5
6
7
Valor
Descrio
vbUseSystem
VbFirstJan1
0
1
VbFirstFourDays
VbFirstFullWeek
Valores de retorno
Constante
Valor
Descrio
vbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
vbFriday
vbSaturday
1
2
3
4
5
6
7
Domingo
Segunda
Tera
Quarta
Quinta
Sexta
Sbado
Valor
Descrio
vbNormal
vbReadOnly
vbHidden
vbSystem
vbVolume
vbDirectory
vbArchive
0
1
2
4
8
16
32
Constantes IMEStatus
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
As constantes referentes localidade japonesa so as seguintes:
Constante
Valor
Descrio
vbIMENoOp
vbIMEOn
vbIMEOff
vbIMEDisable
vbIMEHiragana
0
1
2
3
4
vbIMEKatakanaDbl
vbIMEKatakanaSng
5
6
vbIMEAlphaDbl
vbIMEAlphaSng
7
8
Valor
Descrio
vbIMENoOp
vbIMEOn
vbIMEOff
0
1
2
Valor
Descrio
Valor
Descrio
IME instalado
1
2
3
4
0
0
0
0
Nenhum
IME
instalado
IME desativado
Modo ingls IME
Modo Banja (SBC)
Modo normal
1
1
1
1
IME ativado
Modo Hangeul
Modo Junja (DBC)
Modo de converso Hanja
Valor
Descrio
vbBinaryCompare
vbTextCompare
vbDatabaseCompare
0
1
2
Constantes diversas
As constantes a seguir so definidas na biblioteca de tipos do Visual Basic para Aplicativos e podem
ser utilizadas em qualquer parte do seu cdigo no lugar dos valores reais:
Constante
Equivalente
Descrio
vbCrLf
Chr(13) + Chr(10)
Chr(13)
Chr(10)
Chr(13) + Chr(10)
ou Chr(13)
vbNullChar
vbNullString
Chr(0)
Seqncia
contendo o valor 0
vbTab
vbBack
vbFormFeed
vbVerticalTab
Chr(9)
Chr(8)
Chr(12)
Chr(11)
alimentao de linha
Caractere de retorno de carro
Caractere de alimentao de linha
Caractere de linha nova especfico
de uma plataforma; aquele que seja
apropriado plataforma atual
Caractere que possui o valor 0
No o mesmo que a seqncia de
comprimento zero (""); utilizada para
chamar procedimentos externos
Caractere de tabulao
Caractere de backspace
No til no Microsoft Windows
No til no Microsoft Windows
Constantes MsgBox
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Argumentos MsgBox
Constante
Valor
Descrio
vbOKOnly
vbOKCancel
vbAbortRetryIgnore
vbYesNoCancel
vbYesNo
vbRetryCancel
vbCritical
vbQuestion
vbExclamation
vbInformation
vbDefaultButton1
vbDefaultButton2
vbDefaultButton3
vbDefaultButton4
vbApplicationModal
0
1
2
3
4
5
16
32
48
64
0
256
512
768
0
vbSystemModal
4096
Valor
Descrio
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
1
2
3
4
5
6
7
Boto OK pressionado
Boto Cancelar pressionado
Boto Anular pressionado
Boto Repetir pressionado
Boto Ignorar pressionado
Boto Sim pressionado
Boto No pressionado
Constantes Shell
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante
Valor
Descrio
vbHide
vbNormalFocus
vbMinimizedFocus
vbMaximizedFocus
vbNormalNoFocus
3
4
vbMinimizeNoFocus
Constantes StrConv
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante
Valor
Descrio
vbUpperCase
VbLowerCase
VbProperCase
VbWide
VbNarrow
VbKatakana
16
vbHiragana
32
vbUnicode
64
vbFromUnicode
128
Constantes VarType
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Valor
Descrio
vbEmpty
vbNull
vbInteger
vbLong
vbSingle
vbDouble
vbCurrency
vbDate
vbString
vbObject
vbError
vbBoolean
vbVariant
0
1
2
3
4
5
6
7
8
9
10
11
12
vbDataObject
vbDecimal
vbByte
vbArray
13
14
17
8192
No-inicializada (padro)
No contm dados vlidos
Integer
Inteiro longo
Nmero de vrgula flutuante de preciso nica
Nmero de vrgula flutuante de preciso dupla
Currency
Date
String
Objeto
Erro
Boolean
Variant (utilizada apenas para as matrizes de
variantes)
Objeto de acesso a dados
Decimal
Byte
Matriz
Constantes de cor
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante
Valor
Descrio
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta
vbCyan
vbWhite
0x0
0xFF
0xFF00
0xFFFF
0xFF0000
0xFF00FF
0xFFFF00
0xFFFFFF
Preto
Vermelho
Verde
Amarelo
Azul
Magenta
Ciano
Branco
Valor
Descrio
vbKeyLButton
vbKeyRButton
vbKeyCancel
vbKeyMButton
vbKeyBack
vbKeyTab
vbKeyClear
0x1
0x2
0x3
0x4
0x8
0x9
0xC
0xD
0x10
0x11
0x12
0x13
0x14
0x1B
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
0x90
Tecla ENTER
Tecla SHIFT
Tecla CTRL
Tecla MENU
Tecla PAUSE
Tecla CAPS LOCK
Tecla ESC
Tecla SPACEBAR
Tecla PAGE UP
Tecla PAGE DOWN
Tecla END
Tecla HOME
Tecla SETA ESQUERDA
Tecla SETA ACIMA
Tecla SETA DIREITA
Tecla SETA ABAIXO
Tecla SELECT
Tecla PRINT SCREEN
Tecla EXECUTE
Tecla SNAPSHOT
Tecla INSERT
Tecla DELETE
Tecla HELP
Tecla NUM LOCK
Valor
Descrio
vbKeyA
vbKeyB
vbKeyC
vbKeyD
vbKeyE
vbKeyF
vbKeyG
vbKeyH
vbKeyI
vbKeyJ
vbKeyK
vbKeyL
vbKeyM
vbKeyN
vbKeyO
vbKeyP
vbKeyQ
vbKeyR
vbKeyS
vbKeyT
vbKeyU
vbKeyV
vbKeyW
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Tecla A
Tecla B
Tecla C
Tecla D
Tecla E
Tecla F
Tecla G
Tecla H
Tecla I
Tecla J
Tecla K
Tecla L
Tecla M
Tecla N
Tecla O
Tecla P
Tecla Q
Tecla R
Tecla S
Tecla T
Tecla U
Tecla V
Tecla W
88
89
90
Tecla X
Tecla Y
Tecla Z
Descrio
vbKey0
vbKey1
vbKey2
vbKey3
vbKey4
vbKey5
vbKey6
vbKey7
vbKey8
vbKey9
Tecla 0
Tecla 1
Tecla 2
Tecla 3
Tecla 4
Tecla 5
Tecla 6
Tecla 7
Tecla 8
Tecla 9
48
49
50
51
52
53
54
55
56
57
Valor
Descrio
vbKeyNumpad0
vbKeyNumpad1
vbKeyNumpad2
vbKeyNumpad3
vbKeyNumpad4
vbKeyNumpad5
vbKeyNumpad6
vbKeyNumpad7
vbKeyNumpad8
vbKeyNumpad9
vbKeyMultiply
vbKeyAdd
vbKeySeparator
vbKeySubtract
vbKeyDecimal
vbKeyDivide
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
Tecla 0
Tecla 1
Tecla 2
Tecla 3
Tecla 4
Tecla 5
Tecla 6
Tecla 7
Tecla 8
Tecla 9
Tecla SINAL DE MULTIPLICAO (*)
Tecla SINAL DE ADIO (+)
Tecla ENTER
Tecla SINAL DE SUBTRAO ()
Tecla PONTO DECIMAL (.)
Tecla SINAL DE DIVISO (/)
Valor
Descrio
vbKeyF1
vbKeyF2
vbKeyF3
vbKeyF4
vbKeyF5
vbKeyF6
vbKeyF7
vbKeyF8
vbKeyF9
vbKeyF10
vbKeyF11
vbKeyF12
vbKeyF13
0x70
0x71
0x72
0x73
0x74
0x75
0x76
0x77
0x78
0x79
0x7A
0x7B
0x7C
Tecla F1
Tecla F2
Tecla F3
Tecla F4
Tecla F5
Tecla F6
Tecla F7
Tecla F8
Tecla F9
Tecla F10
Tecla F11
Tecla F12
Tecla F13
0x7D
0x7E
0x7F
Tecla F14
Tecla F15
Tecla F16
Valor
Descrio
vbScrollBars
0x80000000
vbDesktop
0x80000001
vbActiveTitleBar
0x80000002
vbInactiveTitleBar
0x80000003
vbMenuBar
0x80000004
vbWindowBackground
0x80000005
vbWindowFrame
0x80000006
vbMenuText
0x80000007
vbWindowText
0x80000008
vbTitleBarText
0x80000009
vbActiveBorder
0x8000000A
vbInactiveBorder
0x8000000B
vbApplicationWorkspace
0x8000000C
vbHighlight
0x8000000D
vbHighlightText
0x8000000E
vbButtonFace
0x8000000F
Cor de sombreamento da
superfcie dos botes de
comando
vbButtonShadow
0x80000010
Cor de sombreamento da
extremidade dos botes de
comando
vbGrayText
0x80000011
Texto
(desativado)
vbButtonText
0x80000012
vbInactiveCaptionText
0x80000013
Cor do texto
legenda ativa
vb3DHighlight
0x80000014
vb3DDKShadow
0x80000015
acinzentado
de
uma
0x80000016
vbInfoText
0x80000017
vbInfoBackground
0x80000018
funo
Shell
para
executar
um
aplicativo
Instruo Call
Transfere o controle para um procedimento Sub, um procedimento Function ou procedimento de
biblioteca de vnculos dinmicos (DLL).
Sintaxe
[Call] nome [listadeargumentos]
A sintaxe da instruo Call possui as partes a seguir:
Parte
Call
nome
listadeargumentos
Descrio
Opcional; palavra-chave. Se for especificada, voc
dever colocar listadeargumentos entre parnteses.
Por exemplo:
Call MyProc(0)
Obrigatria. Nome do procedimento a chamar.
Opcional. Lista, delimitada por vrgulas, de variveis,
matrizes ou expresses a serem passadas para o
procedimento.
Os
componentes
da
listadeargumentos podem incluir as palavras-chave
ByVal ou ByRef para descrever como os argumentos
so tratados pelo procedimento chamado. Entretanto,
ByVal e ByRef podem ser utilizadas com Call
somente quando for chamado um procedimento DLL.
Comentrios
No necessrio que voc utilize a palavra-chave Call quando chamar um procedimento, entretanto,
se voc us-la para chamar um procedimento que requer argumentos, a listadeargumentos deve ficar
entre parnteses. Se voc omitir a palavra-chave Call, tambm dever omitir os parnteses de
listadeargumentos. Se utilizar qualquer sintaxe de Call para chamar alguma funo intrnseca ou
definida pelo usurio, o valor de retorno da funo ser descartado.
Para passar uma matriz inteira para um procedimento, utilize o nome da matriz seguido de
parnteses vazios.
Funo Choose
Seleciona e retorna um valor de uma lista de argumentos.
Sintaxe
Choose(ndice, escolha-1[, escolha-2, ... [, escolha-n]])
A sintaxe da funo Choose possui as partes a seguir:
Parte
ndice
escolha
Descrio
Obrigatria. Expresso numrica ou campo que resulta em um
valor entre 1 e o nmero de escolhas disponveis.
Obrigatria. Expresso Variant contendo uma das escolhas
possveis.
Comentrios
Choose retorna um valor da lista de escolhas com base no valor do ndice. Se ndice for 1, Choose
retorna a primeira escolha da lista, se for 2, retorna a segunda escolha e assim por diante.
Voc pode utilizar Choose para pesquisar um valor em uma lista de possibilidades. Por exemplo, se
ndice for avaliado como 3 e escolha-1 = "um", escolha-2 = "dois" e escolha-3 = "trs", Choose
retorna "trs". Esta capacidade particularmente til se ndice representa o valor em um grupo de
opes.
Choose avalia todas as escolhas da lista, mesmo que ela retorne somente uma. Em razo disto voc
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo DoEvents
Cede a execuo para que o sistema operacional possa processar outros eventos.
Sintaxe
DoEvents( )
Comentrios
A funo DoEvents retorna um Integer que representa o nmero de formulrios abertos em verses
autnomas do Visual Basic, como o Visual Basic, Standard Edition. DoEvents retorna zero em todos
os outros aplicativos.
DoEvents passa o controle para o sistema operacional. O controle retornado depois de o sistema
operacional terminar o processamento de eventos da sua fila e todas as chaves da fila SendKeys
terem sido enviadas.
DoEvents tem uma maior utilidade com aes simples como permitir que um usurio cancele o
processo aps ele ter sido iniciado, por exemplo, uma procura por um arquivo. Para processos de
longa execuo, o controle do processador conseguido com maior facilidade utilizando-se um
cronmetro ou delegando-se a tarefa a um componente ActiveX EXE. Nesse ltimo caso, a tarefa
pode continuar de forma completamente independente de seu aplicativo e o sistema operacional leva
em considerao a multitarefa e a diviso de tempo.
Ateno Sempre que voc cede o controle ao processador dentro de um procedimento de evento,
certifique-se de que o procedimento no seja executado novamente a partir de uma outra parte do
seu cdigo antes que a primeira chamada retorne, pois isto poderia produzir resultados imprevisveis.
Alm disto, no utilize DoEvents se houver possibilidade de outros aplicativos interagirem com o seu
procedimento de forma imprevisvel durante o tempo em que voc ceder o controle.
Instruo Do...Loop
Repete um bloco de instrues enquanto uma condio True ou at que ela se torne True.
Sintaxe
Do
[instrues]
[Exit
[instrues]
Loop
[{While
Until}
condio]
Do]
Do]
Descrio
Opcional. Expresso numrica ou expresso de seqncia
que seja True ou False. Se condio for Null, condio
tratada como False.
Uma ou mais instrues que so repetidas enquanto, ou at
que, condio seja True.
Comentrios
Qualquer nmero de instrues Exit Do pode ser colocado em qualquer lugar em DoLoop como
meio alternativo para sair de um DoLoop. Exit Do freqentemente utilizada depois que alguma
condio avaliada, por exemplo, IfThen, caso em que a instruo Exit Do transfere o controle
para a instruo imediatamente seguinte a Loop.
Quando utilizada com instrues DoLoop embutidas, Exit Do transfere o controle para o loop que
est embutido em um nvel acima do loop em que ocorre Exit Do.
Instruo End
Finaliza um procedimento ou bloco.
Sintaxe
End
End Function
End If
End Property
End Select
End Sub
End Type
End With
A sintaxe da instruo End possui as formas a seguir:
Instruo
End
End Function
Descrio
Termina a execuo imediatamente. Nunca
obrigatria por si mesma, mas pode ser colocada em
qualquer lugar dentro de um procedimento para finalizar
a execuo do cdigo, fechar arquivos abertos com a
instruo Open e limpar variveis.
Obrigatria para finalizar uma instruo Function.
Comentrios
Quando executada, a instruo End redefine todas as variveis em nvel de mdulo e todas as
variveis locais estticas em todos os mdulos. Para preservar o valor dessas variveis, utilize a
instruo Stop. Assim, voc poder continuar a execuo preservando o valor daquelas variveis.
Observao
A instruo End interrompe a execuo do cdigo abruptamente, sem chamar o
evento Unload, QueryUnload ou Terminate ou qualquer outro cdigo do Visual Basic. O cdigo que
voc colocou nos eventos Unload, QueryUnload e Terminate de formulrios e mdulos de classe no
executado. Os objetos criados a partir de mdulos de classe so destrudos, os arquivos abertos
utilizando-se a instruo Open so fechados e a memria utilizada pelo seu programa liberada. As
referncias de objeto pertencentes a outros programas so invalidadas.
A instruo End fornece uma maneira de fazer com que seu programa pare. Para a finalizao
normal de um programa do Visual Basic, voc deve descarregar todos os formulrios. O seu
programa finalizado logo que no haja outros programas mantendo referncia a objetos criados a
partir de seus mdulos de classe pblicos e nenhum cdigo sendo executado.
Instruo Exit
Sai de um bloco de cdigo DoLoop, For...Next, Function, Sub ou Property.
Sintaxe
Exit Do
Exit For
Exit Function
Exit Property
Exit Sub
A sintaxe da instruo Exit possui as formas a seguir:
Instruo
Exit Do
Exit For
Exit Function
Exit Property
Descrio
Prov um meio de sair de uma instruo Do...Loop.
Pode ser utilizada somente dentro de uma instruo
Do...Loop. Exit Do transfere o controle para a instruo
seguinte instruo Loop. Quando utilizada com
instrues Do...Loop embutidas, Exit Do transfere o
controle para o loop que est embutido em um nvel
acima do loop em que ocorre Exit Do.
Prov um meio de sair de um loop For. Pode ser utilizado
somente em um loop For...Next ou For Each...Next. Exit
For transfere o controle para a instruo seguinte
instruo Next. Quando utilizada com loops For
embutidos, Exit For transfere o controle para o loop que
est embutido em um nvel acima do loop em que ocorre
Exit For.
Sai imediatamente do procedimento Function no qual
aparece. A execuo continua com a instruo seguinte
instruo que chamou o Function.
Sai imediatamente do procedimento Property no qual
Exit Sub
Comentrios
No confunda instrues Exit com instrues End. Exit no define o final de uma estrutura.
grupo
instrues
In
grupo
For]
Descrio
Obrigatria. Varivel utilizada para iterar atravs dos
elementos da coleo ou matriz. Para as colees,
elemento pode ser somente uma varivel Variant, uma
varivel de objeto genrica ou qualquer varivel de objeto
especfica. Para as matrizes, elemento somente pode ser
uma varivel Variant.
Obrigatria. Nome de uma coleo ou matriz de
objetos(exceto matriz de tipos definidos pelo usurio).
Opcional. Uma ou mais instrues que so executadas
em cada item de um grupo.
Comentrios
O bloco For...Each inserido se houver pelo menos um elemento em grupo. Uma vez que o loop
tenha sido inserido, todas as instrues do loop so executadas para o primeiro elemento do grupo.
Se houver mais elementos em grupo, as instrues do loop continuam a ser executadas para cada
elemento. Quando no houver mais elementos em grupo, o loop sai e a execuo continua com a
instruo seguinte instruo Next.
Qualquer nmero de instrues Exit For pode ser colocado em qualquer lugar do loop como um meio
alternativo para sair. Muitas vezes, Exit For utilizada depois de se avaliar alguma condio, por
exemplo, If...Then, e transfere o controle para a instruo imediatamente seguinte a Next.
Voc pode embutir loops For...Each...Next colocando um dentro de outro. Entretanto, cada elemento
do loop deve ser exclusivo.
Observao
Se voc omitir elemento em uma instruo Next a execuo continua como se
elemento estivesse includo. Se uma instruo Next for encontrada antes de sua instruo For
correspondente, ocorrer um erro.
Voc no pode utilizar a instruo For...Each...Next com uma matriz de tipos definidos pelo usurio
porque um Variant no pode conter um tipo definido pelo usurio.
Instruo For...Next
Repete um grupo de instrues um nmero especfico de vezes.
Sintaxe
For
contador
[instrues]
[Exit
[instrues]
Next [contador]
incio
To
fim
[Step
passo]
For]
incio
fim
passo
instrues
Descrio
Obrigatria. Varivel numrica utilizada como contador de
loops. A varivel no pode ser um Boolean ou um elemento
de matriz.
Obrigatria. Valor inicial do contador.
Obrigatria. Valor final do contador.
Opcional. A quantidade em que o contador alterado cada
vez que passa pelo loop. Se o passo no for especificado, o
padro ser um.
Opcional. Uma ou mais instrues entre For e Next que so
executadas conforme o nmero de vezes especificado.
Comentrios
O argumento do passo pode ser positivo ou negativo. O valor do argumento do passo determina o
processamento do loop da seguinte forma:
Valor
Positivo ou 0
Negativo
Loop executado se
contador <= fim
contador >= fim
Depois que todas as instrues do loop tiverem sido executadas, passo adicionado a contador.
Neste momento ou as instrues do loop so executadas novamente (baseadas no mesmo teste que
causou a execuo inicial do loop) ou o loop sai e a execuo continua com a instruo seguinte
instruo Next.
Dica A alterao do valor de um contador estando dentro de um loop pode tornar mais difcil a
leitura e depurao do seu cdigo.
Qualquer nmero de instrues Exit For pode ser colocado em qualquer lugar dentro do loop como
meio alternativo de sair. Muitas vezes Exit For utilizada depois da avaliao de alguma condio,
por exemplo, If...Then, e transfere o controle para a instruo imediatamente seguinte a Next.
Voc pode embutir loops For...Next colocando um dentro do outro. D a cada loop um nome de
varivel exclusivo como seu contador. A construo a seguir correta:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
Observao
Se voc omitir contador em uma instruo Next, a execuo continua como se
contador estivesse includo. Se uma instruo Next for encontrada antes de sua instruo For
correspondente, ocorrer um erro.
Instruo GoSub...Return
Desvia para, e retorna de uma sub-rotina dentro de um procedimento.
Sintaxe
linha
GoSub
...
linha
...
Return
O argumento linha pode ser qualquer rtulo de linha ou nmero de linha.
Comentrios
Voc pode utilizar GoSub e Return em qualquer posio dentro de um procedimento, mas GoSub e
a instruo correspondente Return devem estar no mesmo procedimento. Uma sub-rotina pode
conter mais de uma instruo Return, mas a primeira encontrada faz com que o fluxo da execuo se
desvie de volta para a instruo imediatamente seguinte instruo GoSub mais recentemente
executada.
Observao Voc no pode entrar ou sair de procedimentos Sub com GoSub...Return.
Dica Criar procedimentos separados que voc possa chamar pode proporcionar uma alternativa
mais estruturada para a utilizao de GoSub...Return.
Instruo GoTo
Desvia incondicionalmente para uma linha especificada dentro de um procedimento.
Sintaxe
GoTo linha
O argumento linha requerido pode ser qualquer rtulo de linha ou nmero de linha.
Comentrios
GoTo pode desviar somente para linhas de dentro do procedimento em que aparece.
Observao
Excesso de instrues GoTo pode tornar difcil a leitura e depurao do cdigo.
Sempre que possvel, utilize instrues de controle estruturado (Do...Loop, For...Next,
If...Then...Else, Select Case).
Instruo If...Then...Else
Executa condicionalmente um grupo de instrues, dependendo do valor de uma expresso.
Sintaxe
If condio Then [instrues] [Else instrueselse]
Ou voc pode utilizar a sintaxe de formato de bloco:
If
[instrues]
[ElseIf
[instrueselseif] ...
[Else
[instrueselse]]
End If
condio
condio-n
Then
Then
instrues
condio-n
instrueselseif
instrueselse
Descrio
Obrigatria. Um ou mais dos dois tipos de expresso
seguintes:
Uma expresso numrica ou expresso de seqncia
de caracteres que avaliada como True ou False. Se
condio for Null, ser tratada como False.
Uma expresso do formato TypeOf nomedoobjeto Is
tipodoobjeto. O nomedoobjeto qualquer referncia a
objeto e tipodoobjeto qualquer tipo de objeto vlido.
A expresso ser True se nomedoobjeto for o tipo de
objeto especificado por tipodoobjeto; caso contrrio,
ser False.
Opcional em formato de bloco; requerida em formato
de uma s linha que no possui clusula Else. Uma
ou mais instrues separadas por dois-pontos;
executada se condio for True.
Opcional. Igual a condio.
Opcional. Uma ou mais instrues executadas se a
condio-n associada for True.
Opcional. Uma ou mais instrues executadas se
nenhuma expresso condio ou condio-n anterior
for True.
Comentrios
Voc pode utilizar o formato de uma s linha (primeira sintaxe) para testes simples e curtos.
Entretanto, o formato de bloco (segunda sintaxe) proporciona mais estrutura e flexibilidade do que o
formato de uma s linha e normalmente mais fcil de ler, manter e depurar.
Observao Com o formato de uma s linha possvel ter mltiplas instrues executadas como
resultado de uma deciso If...Then. Todas as instrues devem estar na mesma linha e separadas
por dois-pontos, como na seguinte instruo:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Uma instruo If em formato de bloco deve ser a primeira em uma linha. As partes Else, ElseIf, e
End If da instruo podem ter somente um nmero de linha ou rtulo de linha precedendo-as. O If em
bloco deve terminar com uma instruo End If.
Para determinar se uma instruo ou no If em bloco, examine o que vem em seguida palavrachave Then. Se qualquer coisa exceto um comentrio aparecer depois de Then na mesma linha, a
instruo ser tratada como instruo If de uma s linha.
A clusulas Else e ElseIf so opcionais. Voc pode ter tantas clusulas ElseIf em um bloco If
quantas desejar, mas nenhuma pode aparecer depois de uma clusula Else. Instrues If em bloco
podem ser embutidas, isto , contidas uma dentro da outra.
Executando um If em bloco (segunda sintaxe), condio testada. Se condio for True, as
instrues seguintes a Then so executadas. Se condio for False, cada condio ElseIf (se
houver) ser por sua vez avaliada. Quando uma condio True for encontrada, as instrues
imediatamente subseqentes Then associada so executadas. Se nenhuma das condies ElseIf
forem True (ou se no houver clusulas ElseIf), as instrues subseqentes a Else so executadas.
Depois da execuo das instrues subseqentes a Then ou Else, a execuo continua com a
instruo subseqente a End If.
Dica Select Case pode ser mais til na avaliao de uma expresso nica com diversas aes
possveis. Entretanto, a clusula TypeOf nomedoobjeto Is tipodoobjeto no pode ser utilizada com a
instruo Select Case.
Funo IIf
Retorna uma das duas partes, dependendo da avaliao de uma expresso.
Sintaxe
IIf(expr, truepart, falsepart)
A sintaxe da funo IIf possui os argumentos nomeados a seguir:
Parte
expr
truepart
falsepart
Descrio
Obrigatria. Expresso que voc deseja avaliar.
Obrigatria. Valor ou expresso retornada se expr for True.
Obrigatria. Valor ou expresso retornada se expr for False.
Comentrios
IIf sempre avalia truepart e falsepart, mesmo que retorne somente uma delas. Em razo disto, voc
deve observar se ocorrem efeitos colaterais indesejveis. Por exemplo, se a avaliao de falsepart
resulta em um erro de diviso por zero, ocorrer um erro mesmo se expr for True.
listadedestino
Descrio
Obrigatria. Qualquer expresso numrica avaliada como
nmero inteiro entre 0 e 255, inclusive. Se expresso for
qualquer nmero no inteiro, ele ser arredondado antes
da avaliao.
Obrigatria. Lista de nmeros de linha ou rtulos de linha
separados por vrgulas.
Comentrios
O valor da expresso determina a linha para a qual ser desviada na listadedestino. Se o valor for
menor que 1 ou maior que o nmero de itens da lista, ocorrer um dos seguintes resultados:
Se expresso for
Igual a 0
Maior
que
o
nmero de itens
de uma lista
Negativo
Maior que 255
Ento
O controle cai para a instruo subseqente a
On...GoSub ou On...GoTo.
O controle cai para a instruo subseqente a
On...GoSub ou On...GoTo.
Ocorre um erro.
Ocorre um erro.
Voc pode misturar nmeros de linha e rtulos de linha na mesma lista. Pode utilizar quantos rtulos
de linha e nmeros de linha desejar com On...GoSub e On...GoTo. Entretanto, se voc utilizar mais
rtulos ou nmeros do que cabem em uma s linha, dever utilizar o caractere de continuao de
linha para continuar a linha lgica at a linha fsica seguinte.
Dica Select Case proporciona um meio mais estruturado e mais flexvel de executar mltiplo desvio.
Funo Partition
Retorna um Variant (String) que indica onde ocorre um nmero dentro de uma srie calculada de
intervalos.
Sintaxe
Partition(number, start, stop, interval)
A sintaxe da funo Partition possui os argumentos nomeados a seguir:
Parte
number
start
stop
interval
Descrio
Obrigatrio. Nmero inteiro que voc deseja avaliar em
relao aos intervalos.
Obrigatrio. Nmero inteiro que o incio do intervalo geral
de nmeros. No pode ser menor que 0.
Obrigatrio. Nmero inteiro que o final do intervalo geral de
nmeros. No pode ser igual nem menor que start.
Obrigatrio. Nmero inteiro que a faixa coberta por cada
segmento da srie de start a stop. No pode ser menor que
1.
Comentrios
A funo Partition identifica o intervalo especfico no qual number est e retorna um Variant (String)
que descreve esse intervalo. A funo Partition mais til em consultas. Voc pode criar uma
consulta seleo que mostra quantas ordens esto dentro de diversos intervalos, por exemplo,
valores de ordem de 1 a 1000, 1001 a 2000, e assim por diante.
A tabela a seguir mostra como os intervalos so determinados utilizando-se trs conjuntos de partes
start, stop, e interval. As colunas Primeiro Intervalo e ltimo Intervalo mostram o que Partition
retorna. Os intervalos so representados por valormnimo:valormximo, onde o extremo inferior
(valormnimo) do intervalo separado do extremo superior (valormximo) por dois-pontos (:).
start
stop
interval
0
20
100
99
199
1010
5
10
20
Antes do
primeiro
" :-1"
" : 19"
" : 99"
Primeiro
intervalo
"
0: 4"
" 20: 29"
" 100: 119"
ltimo
intervalo
" 95: 99"
" 190: 199"
" 1000: 1010"
Depois
ltimo
" 100:
" 200:
" 1011:
do
"
"
"
Na tabela acima, a terceira linha mostra o resultado de quando start e stop definem um conjunto de
nmeros que no podem ser divididos exatamente por interval. O ltimo intervalo estende-se at
stop (11 nmeros) embora interval seja 20.
Se for necessrio, Partition retorna um intervalo com espaos suficientes para que haja o mesmo
nmero de caracteres esquerda e direita de dois-pontos que o nmero de caracteres em stop
mais um. Isto garante que, se voc utilizar Partition com outros nmeros, o texto resultante ser
manipulado adequadamente durante qualquer operao de classificao subseqente.
Se interval for 1, o intervalo ser number:number, independente dos argumentos de start e stop.
Por exemplo, se interval for 1, number for 100 e stop for 1000, Partition retornar " 100: 100".
Se qualquer das partes for Null, Partition retornar um Null.
Case
expressodeteste
listadeexpresses-n
...
Else
Instrues-n
instrueselse
Descrio
Obrigatria. Qualquer expresso numrica ou
expresso de seqncia.
Obrigatria se aparecer uma Case. Lista delimitada de
uma ou mais das seguintes formas: expresso,
expresso To expresso, Is operadordecomparao
expresso. A palavra-chave To especifica um intervalo
de valores. Se voc utilizar essa palavra-chave, o valor
menor deve aparecer antes de To. Utilize a palavrachave Is com operadores de comparao (exceto Is e
Like) para especificar um intervalo de valores. Se no
for fornecida, a palavra-chave Is ser inserida
automaticamente.
Opcional. Uma ou mais instrues so executadas se
expressodeteste coincidir com qualquer parte de
listadeexpresses-n.
Opcional. Uma ou mais instrues so executadas se
expressodeteste no coincidir com qualquer das
clusulas Case.
Comentrios
Se expressodeteste coincidir com qualquer expresso Case listadeexpresses, as instrues
subseqentes quela clusula Case sero executadas at e prxima clusula Case, ou, para a ltima
clusula, at End Select. Ento o controle passa para a instruo seguinte a End Select. Se
expressodeteste coincidir com uma expresso listadeexpresses em mais de uma clusula Case,
somente as instrues subseqentes primeira coincidncia sero executadas.
A clusula Case Else utilizada para indicar a instrueselse a ser executada se no for encontrada
coincidncia entre expressodeteste e uma listadeexpresses em qualquer das outras selees de
Case. Embora no seja necessrio, uma boa idia ter uma instruo CaseElse no seu bloco Select
Case para manipular valores no previstos de expressodeteste. Se nenhuma Case
listadeexpresses coincidir com expressodeteste e no houver instruo Case Else, a execuo
continua na instruo subseqente a End Select.
Voc pode utilizar mltiplas expresses ou intervalos em cada clusula Case. Por exemplo, a linha a
seguir vlida:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Observao
Select Case.
Voc pode tambm especificar intervalos e vrias expresses para seqncias de caracteres. No
exemplo a seguir, Case coincide com seqncias que so exatamente iguais a tudo, seqncias
que ficam entre nozes e sopa em ordem alfabtica e o valor atual de TestItem:
Case "tudo", "nozes" To "sopa", TestItem
Instrues Select Case podem ser embutidas. Cada instruo Select Case embutida deve ter uma
declarao End Select correspondente.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo Shell
Executa um programa executvel e retorna um Variant (Double) que representa o cdigo da tarefa
do programa, se tiver sucesso, caso contrrio, retorna zero.
Sintaxe
Shell(pathname[,windowstyle])
A sintaxe da funo Shell possui os argumentos nomeados a seguir:
Parte
pathname
windowstyle
Descrio
Obrigatrio; Variant (String). Nome do programa a
ser executado e qualquer opo de argumento ou
linha de comando obrigatria; pode incluir diretrio
ou pasta e unidade de disco.
Opcional. Variant (Integer) correspondente ao estilo
da janela na qual o programa deve ser executado.
Se windowstyle for omitido, o programa iniciar
minimizado com foco.
Valor
0
VbNormalFocus
vbMinimizedFocus
vbMaximizedFocus
vbNormalNoFocus
3
4
vbMinimizedNoFocus
Descrio
A janela ocultada e o foco passado
para a janela oculta.
A janela tem foco e restaurada para
seu tamanho e posio originais.
A janela exibida como um cone com
foco.
A janela maximizada com foco.
A janela restaurada para seu tamanho
e posio mais recentes. A janela ativa
atual permanece ativa.
A janela exibida como um cone. A
janela atualmente ativa permanece
ativa.
Comentrios
Se a funo Shell executar o arquivo nomeado com sucesso, retornar o cdigo da tarefa do
programa iniciado. A identificao da tarefa um nmero exclusivo que identifica o programa em
execuo. Se a funo Shell no puder iniciar o programa nomeado, ocorrer um erro. Se voc
utilizar a funo MacID com Shell no Microsoft Windows, ocorrer um erro.
Observao A funo Shell executa outros programas de forma assncrona. Isto significa que um
programa iniciado com Shell poder no completar a execuo antes que as instrues
subseqentes funo Shell sejam executadas.
Instruo Stop
Suspende a execuo.
Sintaxe
Stop
Comentrios
Voc pode colocar instrues Stop em qualquer lugar dos procedimentos para suspender a
execuo. A utilizao da instruo Stop assemelha-se a definir um ponto de interrupo no cdigo.
A instruo Stop suspende a execuo, mas, ao contrrio de End, no fecha qualquer arquivo nem
limpa variveis, a menos que esteja em um arquivo executvel (.exe) compilado.
Funo Switch
Avalia uma lista de expresses e retorna um valor de Variant ou uma expresso associada com a
primeira expresso da lista que seja True.
Sintaxe
Switch(expr-1, valor-1[, expr-2, valor-2 [, expr-n,valor-n]])
A sintaxe da funo Switch possui as partes a seguir:
Parte
expr
valor
Descrio
Obrigatria. expresso Variant que voc deseja avaliar.
Obrigatria. Valor ou expresso a ser retornada se a expresso
correspondente for True.
Comentrios
A lista de argumentos da funo Switch consiste em pares de expresses e valores. As expresses
so avaliadas da esquerda para a direita e o valor associado primeira expresso avaliada como
True retornado. Se as partes no estiverem adequadamente dispostas em par, ocorrer um erro
em tempo de execuo. Por exemplo, se expr-1 for True, Switch retornar valor-1. Se expr-1 for
False, mas expr-2 for True, Switch retornar valor-2, e assim por diante.
Switch retorna um valor Null se:
Switch avalia todas as expresses, mesmo que retorne apenas uma delas. Por isso voc deve
observar se ocorrem efeitos colaterais indesejveis. Por exemplo, se a avaliao de qualquer
expresso resultar em um erro de diviso por zero, ocorrer um erro.
Instruo While...Wend
Executa uma srie de instrues desde que uma dada condio seja True.
Sintaxe
condio
While
[instrues]
Wend
A sintaxe da instruo While...Wend possui as partes a seguir:
Parte
condio
Descrio
Obrigatria. Expresso numrica ou expresso de
seqncia que avaliada como True ou False. Se condio
Comentrios
Se condio for True, todas as instrues sero executadas at que a instruo Wend seja
encontrada. Ento o controle retorna para While e condio novamente verificada. Se condio
ainda for True, o processo repetido. Se no for True, a execuo continua com a instruo
subseqente instruo Wend.
Os loops While...Wend podem ser embutidos at qualquer nvel. Cada Wend corresponde ao mais
recente While.
Dica A instruo Do...Loop proporciona um meio mais estruturado e flexvel para executar um loop.
Instruo With
Executa uma srie de instrues em um nico objeto ou um tipo definido pelo usurio.
Sintaxe
With
[instrues]
End With
A instruo With possui as partes a seguir:
Parte
objeto
instrues
objeto
Descrio
Obrigatria. Nome de um objeto ou de um tipo definido pelo
usurio.
Opcional. Uma ou mais instrues a serem executadas com
objeto.
Comentrios
A instruo With permite executar uma srie de instrues com um objeto especfico sem requalificar
o nome do objeto. Por exemplo, para alterar diversas propriedades diferentes de um nico objeto,
coloque as instrues de atribuio de propriedades dentro da estrutura de controle de With,
referindo o objeto uma s vez em lugar de faz-lo em todas as atribuies de propriedade. O exemplo
a seguir ilustra a utilizao da instruo With para atribuir valores a diversas propriedades do mesmo
objeto.
With MyLabel
.Height = 2000
.Width = 2000
.Caption = "Este MyLabel"
End With
Observao Uma vez que um bloco With seja inserido, objeto no pode ser modificado. Como
resultado, voc no pode utilizar uma s instruo With para afetar diversos objetos diferentes.
Voc pode embutir instrues With colocando blocos With um dentro do outro. Entretanto, em razo
de os membros dos blocos externos de With ficarem mascarados dentro dos blocos internos, voc
deve proporcionar uma referncia a objeto totalmente qualificada em um bloco With interno para
qualquer membro de um objeto existente em um bloco externo.
Importante No salte para dentro e para fora de blocos With. Se as instrues em um bloco With
forem executadas mas a instruo With ou End With no for, voc poder provocar erros ou
comportamento imprevisvel.
Exemplo da funo Asc
Este exemplo utiliza a funo Asc para retornar um cdigo de caractere que corresponde primeira
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
resultado
em
um
MinhaVar
contm
seqncia
de
Funes de converso
Funo Asc
Retorna um Integer que representa o cdigo de caractere correspondente primeira letra de uma
seqncia.
Sintaxe
Asc(seqncia)
O argumento obrigatrio seqncia pode ser qualquer expresso de seqncia vlida. Se a
seqncia no contiver caracteres, um erro em tempo de execuo ser gerado.
Comentrios
O intervalo para os retornos de 0 a 255 em sistemas no-DBCS, mas de -32768 a 32767 em
sistemas DBCS.
Observao A funo AscB utilizada com os dados de byte contidos em uma seqncia. Em vez
de retornar o cdigo de caractere para o primeiro caractere, AscB retorna o primeiro byte. A funo
AscW retorna o cdigo de caractere Unicode, exceto em plataformas nas quais o Unicode no
suportado, caso em que o comportamento dessa funo idntico ao da funo Asc.
Funo CVErr
Retorna um Variant de subtipo Error contendo um nmero de erro especificado pelo usurio.
Sintaxe
CVErr(nmerodoerro)
O argumento obrigatrio nmerodoerro pode ser qualquer nmero de erro vlido.
Comentrios
Utilize a funo CVErr para criar erros definidos pelo usurio nos procedimentos criados pelo usurio.
Por exemplo, se voc criar uma funo que aceite vrios argumentos e normalmente retorne uma
seqncia, voc poder fazer com que sua funo avalie os argumentos de entrada para assegurar
de que eles se encontram dentro do intervalo aceitvel. Se no se encontrarem, provvel que sua
funo no retorne o esperado. Nesse caso, CVErr permite retornar um nmero de erro que informa
que atitude tomar.
Observe que a converso implcita de um Error no permitida. Por exemplo, voc no pode atribuir
diretamente o valor de retorno de CVErr a uma varivel que no Variant. Contudo, pode efetuar
uma converso explcita (utilizando CInt, CDbl e assim por diante) do valor retornado por CVErr e
atribu-la a uma varivel do tipo de dados apropriado.
Funo Val
Retorna os nmeros contidos em uma seqncia como um valor numrico do tipo apropriado.
Sintaxe
Val(seqncia)
O argumento obrigatrio seqncia pode ser qualquer expresso de seqncia vlida.
Comentrios
A funo Val interrompe a leitura da seqncia no primeiro caractere que no puder reconhecer como
parte de um nmero. Os smbolos e os caracteres que so geralmente considerados partes de
valores numricos, como o cifro e as vrgulas, no so reconhecidos. Contudo, a funo reconhece
os prefixos de raiz &O (para octal) e &H (para hexadecimal). Os caracteres em branco, as tabulaes
e a alimentao de linha so retirados do argumento.
O exemplo a seguir retorna o valor 1615198:
Val("
No cdigo abaixo, Val retorna o valor decimal -1 para o valor hexadecimal apresentado:
Val("&HFFFF")
Observao A funo Val reconhece somente o ponto (.) como um separador decimal vlido.
Quando separadores decimais diferentes puderem ser utilizados, por exemplo, em aplicativos que
no estejam em ingls, utilize CDbl ao invs de converter uma seqncia em um nmero.
Sintaxe
CBool(expresso)
CByte(expresso)
CCur(expresso)
CDate(expresso)
CDbl(expresso)
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Tipos de retorno
O nome da funo determina o tipo de retorno como mostrado a seguir:
Funo
Tipo
retorno
CBool
Boolean
CByte
CCur
Byte
Currency
CDate
CDbl
Date
Double
CDec
Decimal
CInt
Integer
CLng
Long
CSng
Single
CVar
Variant
CStr
String
de
+/-7,9228162514264337593543950335.
O
menor nmero possvel diferente de zero
0,0000000000000000000000000001.
de -32.768 a 32.767; as fraes so
arredondadas.
de -2.147.483.648 a 2.147.483.647; as
fraes so arredondadas.
de -3,402823E38 a -1,401298E-45 para
valores negativos; de 1,401298E-45 a
3,402823E38 para valores positivos.
Mesmo intervalo de Double para valores
numricos. Mesmo intervalo de String para
valores no-numricos.
Os retornos para CStr dependem do
argumento da expresso.
Comentrios
Se a expresso passada para a funo estiver fora do intervalo para o qual o tipo de dados est
sendo convertido, um erro ser gerado.
Em geral, voc pode documentar seu cdigo utilizando as funes de converso de tipo de dados
para mostrar que o resultado de algumas operaes deve ser expressado como um tipo de dados em
particular ao invs do tipo de dados padro. Por exemplo, utilize CCur para forar o clculo monetrio
nos casos onde normalmente ocorreriam clculos de preciso nica, preciso dupla ou de nmero
inteiro.
Voc deve utilizar as funes de converso de tipo de dados em vez de Val para fornecer converses
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Retornos de CStr
Se a expresso
for
CStr retorna
Boolean
Date
Null
Empty
Error
Outros valores
numricos
Tamanho de
armazename
nto
Intervalo
Byte
Boolean
Integer
Long
(inteiro longo)
Single
(vrgula flutuante
de
preciso
simples)
Double
(vrgula flutuante
de
preciso
dupla)
1 byte
2 bytes
2 bytes
4 bytes
0 a 255
True ou False
-32.768 a 32.767
-2.147.483.648 a 2.147.483.647
4 bytes
8 bytes
-1,79769313486232E308
a
-4,94065645841247E-324
para
valores
negativos;
4,94065645841247E-324
a
1,79769313486232E308
para
valores
positivos
-922.337.203.685.477,5808
a
922.337.203.685.477,5807
+/-79.228.162.514.264.337.593.543.950.335
sem
ponto
decimal;
+/-7,9228162514264337593543950335 com
28 casas decimais direita; o menor nmero
diferente
de
zero
Currency
(inteiro escalado)
Decimal
8 bytes
14 bytes
8 bytes
Object
String
(comprimento da
varivel)
4 bytes
10 bytes +
comprimento
da seqncia
de caracteres
Comprimento
da seqncia
de caracteres
16 bytes
String
(comprimento
fixo)
Variant
(com nmeros)
Variant
(com caracteres)
Definido
pelo
usurio
(usando Type)
22 bytes +
comprimento
da seqncia
de caracteres
Nmero
requerido por
elementos
+/-0,0000000000000000000000000001.
De 1 de Janeiro de 100 at 31 de
Dezembro de 9999
Qualquer referncia a Object
De 0 at aproximadamente 2 bilhes
De 1 at aproximadamente 65.400
Observao Matrizes de qualquer tipo de dados requerem 20 bytes de memria, mais 4 bytes para
cada dimenso da matriz, mais o nmero de bytes ocupados pelos prprios dados. A memria
ocupada pelos dados pode ser calculada multiplicando-se o nmero de elementos de dados pelo
tamanho de cada elemento. Por exemplo, os dados em uma matriz de dimenso nica consistindo de
4 elementos de dados Integer de 2 bytes cada, ocupa 8 bytes. Os 8 bytes exigidos para os dados,
mais os 24 bytes fixos, fazem com que o requisito de memria para a matriz seja de 32 bytes.
Um Variant contendo uma matriz requer 12 bytes a mais do que uma matriz sozinha.
caracteres.
Uma seqncia de comprimento fixo pode conter de 1 at aproximadamente 64K (2^16)
caracteres.
Observao Uma seqncia de caracteres de comprimento fixo Public no pode ser usada em um
mdulo de classe.
Os cdigos para caracteres String variam de 0 a 255. Os primeiros 128 caracteres (0127) do
conjunto de caracteres correspondem s letras e smbolos de um teclado padro americano. Esses
128 primeiros caracteres so os mesmos definidos pelo conjunto de caracteres ASCII. Os 128
caracteres restantes (128255) representam caracteres especiais, como letras de alfabetos
internacionais, acentos, smbolos monetrios e fraes. O caractere de declarao de tipo para
String o cifro ($).
Funo Date
Retorna um Variant (Date) contendo a data atual do sistema.
Sintaxe
Date
Comentrios
Para definir a data do sistema, utilize a instruo Date.
Instruo Date
Define a data atual do sistema.
Sintaxe
Date = data
Para sistemas com o Microsoft Windows 95, a especificao data exigida deve ser uma data de 1 de
janeiro de 1980 a 31 de dezembro de 2099. Para sistemas que executam o Microsoft Windows NT,
data deve ser uma data de 1 de janeiro de 1980 a 31 de dezembro de 2079.
Funo DateAdd
Retorna um Variant (Date) contendo uma data qual foi adicionado um segmento de tempo
especfico.
Sintaxe
DateAdd(interval, number, date)
A sintaxe da funo DateAdd possui estes argumentos nomeados:
Parte
interval
number
date
Descrio
Obrigatrio. Expresso de seqncia de caracteres que o
segmento de tempo que voc deseja adicionar.
Obrigatrio. Expresso numrica que o nmero de
segmentos que voc deseja adicionar. Pode ser positivo
(para obter datas futuras) ou negativo (para obter datas
passadas).
Obrigatrio. Variant (Date) ou literal que representa a data na
qual o segmento adicionado.
Definies
O argumento interval possui estas definies:
Defini
o
yyyy
Descrio
Ano
Trimestre
Ms
Dia do ano
Dia
Dia da semana
Semana
Hora
Minuto
Segundo
Comentrios
Voc pode utilizar a funo DateAdd para adicionar ou subtrair um segmento de tempo especfico de
uma data. Por exemplo, voc pode utilizar DateAdd para calcular uma data a 30 dias de hoje ou uma
hora a 45 minutos de agora.
Para adicionar dias a date, voc pode utilizar Dia do ano ("y"), Dia ("d"), ou Dia da semana ("w").
A funo DateAdd no retorna uma data invlida. O exemplo a seguir adiciona um ms a 31 de
janeiro:
DateAdd("m", 1, "31-Jan-95")
Neste caso, DateAdd retorna 28-fev-95 e no 31-fev-95. Se date fosse 31-jan-95, retornaria 29-fev96 porque 1996 um ano bissexto.
Se a data calculada fosse anterior ao ano 100 (isto , voc subtrairia mais anos do que esto em
date), ocorreria um erro.
Se number no for um valor Long, ser arredondado para o nmero inteiro mais prximo antes de
ser avaliado.
Funo DateDiff
Retorna um Variant (Long) que especifica o nmero de segmentos de tempo entre duas datas
especificadas.
Sintaxe
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
A sintaxe da funo DateDiff possui estes argumentos nomeados:
Parte
interval
date1, date2
firstdayofweek
firstweekofyear
Descrio
Obrigatrio. Expresso de seqncia de caracteres que
o segmento que voc utiliza para calcular a diferena
entre data1 e data2.
Obrigatrio; Variant (Date). Duas datas que voc
deseja utilizar no clculo.
Opcional. Uma constante que especifica o primeiro dia
da semana. Se no for especificada, assumido o
domingo.
Opcional. Uma constante que especifica a primeira
semana do ano. Se no for especificada, assumida
como a semana em que ocorre o dia 1 de janeiro.
Definies
O argumento interval possui estas definies:
Defini
o
Descrio
Ano
Trimestre
Ms
Dia do ano
Dia
Dia da semana
Semana
Hora
Minuto
Segundo
Valor
0
1
2
3
4
5
6
7
Descrio
Utiliza a definio NLS API.
Domingo (padro)
Segunda-feira
Tera-feira
Quarta-feira
Quinta-feira
Sexta-feira
Sbado
Valor
0
1
vbFirstFourDays
vbFirstFullWeek
Descrio
Utiliza a definio NLS API.
Inicia com a semana na qual ocorre o dia 1
de janeiro (padro).
Inicia com a primeira semana que tem pelo
menos quatro dias no ano novo.
Inicia com a primeira semana cheia do ano.
Comentrios
Voc pode utilizar a funo DateDiff para determinar quantos segmentos de tempo especificados
existem entre duas datas. Por exemplo, voc pode utilizar DateDiff para calcular o nmero de dias
entre duas datas, ou o nmero de semanas entre hoje e o final do ano.
Para calcular o nmero de dias entre date1e date2, voc pode utilizar Dia do ano ("y") ou Dia ("d").
Quando interval for um Dia da semana ("w"), DateDiff retorna o nmero de semanas entre as duas
datas. Se date1 cair em uma segunda-feira, DateDiff contar o nmero de segundas-feiras at
date2. contada date2 mas no date1. Entretanto, se interval for Semana ("ww") a funo DateDiff
retorna o nmero de semanas de calendrio entre as duas datas. Ela conta o nmero de segundasfeiras entre date1 e date2. DateDiff conta date2 se cair em um domingo, mas no conta date1,
mesmo que caia em um domingo.
Se date1 se referir a um ponto no tempo alm de date2, a funo DateDiff retornar um nmero
negativo.
O argumento firstdayofweek afeta os clculos que utilizam os smbolos de intervalo "w" e "ww".
Se data1 ou data2 for uma literal de data,, o ano especificado se torna uma parte permanente
daquela data. Entretanto, se data1 ou data2 for colocada entre aspas duplas (" ") e voc omitir o ano,
o ano atual ser inserido no seu cdigo cada vez que a expresso data1 ou data2 for avaliada. Isto
torna possvel escrever o cdigo que pode ser utilizado em anos diferentes.
Quando compara 31 de dezembro com 1 de janeiro do ano imediatamente seguinte, DateDiff para
Ano ("yyyy") retorna 1, mesmo que tenha se passado apenas um dia.
Funo DatePart
Retorna um Variant (Integer) que contm a parte especificada de uma data dada.
Sintaxe
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
A sintaxe da funo DatePart possui estes argumentos nomeados:
Parte
interval
date
firstdayofweek
firstweekofyear
Descrio
Obrigatrio. Expresso de seqncia de caracteres que
o intervalo de tempo que voc deseja retornar.
Obrigatrio. Valor de Variant (Date) que voc deseja
avaliar.
Opcional. Uma constante que especifica o primeiro dia
da semana. Se no for especificada, assumido o
domingo.
Opcional. Uma constante que especifica a primeira
semana do ano. Se no for especificada, assumida
como aquela em que ocorre o dia 1 de janeiro.
Definies
O argumento interval possui estas definies:
Defini
o
yyyy
q
m
y
d
w
ww
h
n
s
Descrio
Ano
Trimestre
Ms
Dia do ano
Dia
Dia da semana
Semana
Hora
Minuto
Segundo
Valor
0
1
2
3
4
5
6
7
Descrio
Utiliza a definio NLS API.
Domingo (padro)
Segunda-feira
Tera-feira
Quarta-feira
Quinta-feira
Sexta-feira
Sbado
Valor
0
1
vbFirstFourDays
Descrio
Utiliza a definio NLS API.
Inicia com a semana na qual ocorre o dia 1
de janeiro (padro).
Inicia com a semana que tem pelo menos
quatro dias no ano novo.
Comentrios
Voc pode utilizar a funo DatePart para avaliar uma data e retornar um segmento de tempo
especfico. Por exemplo, voc poderia utilizar DataPart para calcular o dia da semana ou a hora
atual.
O argumento firstdayofweek afeta clculos que utilizam os smbolos de intervalo "w" e "ww".
Se data for uma literal de data, o ano especificado torna-se uma parte permanente dessa data.
Entretanto, se data estiver entre aspas duplas (" ") e voc omitir o ano, o ano atual ser inserido no
seu cdigo toda vez que a expresso data for avaliada. Isto torna possvel escrever o cdigo que
pode ser utilizado em anos diferentes.
Funo DateSerial
Retorna um Variant (Date) para um ano, ms e dia especficos.
Sintaxe
DateSerial(year, month, day)
A sintaxe da funo DateSerial possui estes argumentos nomeados:
Parte
year
month
day
Descrio
Obrigatrio; Integer. Nmero entre 100 e 9999, inclusive, ou uma
expresso numrica.
Obrigatrio; Integer. Qualquer expresso numrica.
Obrigatrio; Integer. Qualquer expresso numrica.
Comentrios
Para especificar uma data, como 31 de dezembro de 1991, o intervalo de nmeros para cada
argumento de DateSerial deve estar no intervalo aceito para a unidade, isto , 131 para dias e 112
para meses. Entretanto, voc pode tambm especificar datas relativas para cada argumento
utilizando qualquer expresso numrica que represente algum nmero de dias, meses ou anos, antes
ou depois de uma certa data.
O exemplo a seguir utiliza expresses numricas em vez de nmeros absolutos de data. Aqui a
funo DateSerial retorna uma data que o dia anterior ao primeiro dia (1 - 1), dois meses antes
de agosto (8 - 2), 10 anos antes de 1990 (1990 - 10); em outras palavras, 31 de maio de 1980.
DateSerial(1990 - 10, 8 - 2, 1 - 1)
Para o argumento year, os valores entre 0 e 99, inclusive, so interpretados como os anos 1900
1999. Para todos os outros argumentos year, utilize o ano de quatro dgitos (por exemplo, 1800).
Quando qualquer argumento exceder o intervalo aceito para esse argumento, ele incrementado at
a prxima unidade maior apropriada. Por exemplo, se voc especificar 35 dias, ser avaliado como
um ms e alguns dias, dependendo em que poca do ano seja aplicado. Se qualquer argumento
nico estiver fora do intervalo -32.768 a 32.767, ocorrer um erro. Se a data especificada pelos trs
argumentos ficar fora do intervalo de datas aceitvel, ocorrer um erro.
Funo DateValue
Retorna um Variant (Date).
Sintaxe
DateValue(data)
O argumento data requerido normalmente uma expresso de seqncia de caracteres que
representa uma data de 1 de janeiro de 100 a 31 de dezembro de 9999. Entretanto, data tambm
pode ser qualquer expresso que possa representar uma data, uma hora ou ambos, naquele
intervalo.
Comentrios
Se data for uma seqncia de caracteres que inclui somente nmeros separados por separadores de
data vlidos, DateValue reconhecer a ordem para ms, dia e ano de acordo com o formato Short
Date que voc especificou para o seu sistema. DateValue tambm reconhece datas no ambguas
que contenham nomes de meses, na forma longa ou abreviada. Por exemplo, alm de reconhecer
30/12/1991 e 30/12/91, DateValue reconhece tambm 30 de dezembro de 1991 e 30-dez-1991.
Se a parte de ano de data for omitida, DateValue utiliza o ano atual da data do seu sistema de
computador.
Se o argumento data incluir informaes de hora, DateValue no a retorna. Entretanto, se data incluir
informao de hora invlida (como "89:98"), ocorrer um erro.
Funo Day
Retorna um Variant (Integer) que especifica um nmero inteiro entre 1 e 31, inclusive, representando
o dia do ms.
Sintaxe
Day(data)
O argumento data requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres, ou qualquer combinao que possa representar uma data. Se data contiver Null, ser
retornado Null.
Funo Hour
Retorna um Variant (Integer) que especifica um nmero inteiro entre 0 e 23, inclusive, representando
a hora do dia.
Sintaxe
Hour(hora)
O argumento hora requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres, ou qualquer combinao que possa representar a hora. Se hora contiver Null, ser
retornado Null.
Funo Minute
Retorna um Variant (Integer) que especifica um nmero inteiro entre 0 e 59, inclusive, representando
os minutos da hora.
Sintaxe
Minute(hora)
O argumento hora requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres ou qualquer combinao que possa representar a hora. Se hora contiver Null, ser
retornado Null.
Funo Month
Retorna um Variant (Integer) que especifica um nmero inteiro entre 1 e 12, inclusive, representando
o ms do ano.
Sintaxe
Month(data)
O argumento data requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres, ou qualquer combinao que possa representar uma data. Se data contiver Null, ser
retornado Null.
Funo Now
Retorna um Variant (Date) que especifica a data e hora atual de acordo com a data e hora do
sistema do seu computador.
Sintaxe
Now
Funo Second
Retorna um Variant (Integer) que especifica um nmero inteiro entre 0 e 59, inclusive, representando
os segundos do minuto.
Sintaxe
Second(hora)
O argumento hora requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres, ou qualquer combinao que possa representar a hora. Se hora contiver Null, ser
retornado Null.
Funo Time
Retorna um Variant (Date) que indica a hora atual do sistema.
Sintaxe
Time
Comentrios
Para definir a hora do sistema utilize a instruo Time.
Instruo Time
Define a hora do sistema.
Sintaxe
Time = hora
O argumento hora requerido qualquer expresso numrica, expresso de seqncia de caracteres,
ou qualquer combinao que possa representar uma hora.
Comentrios
Se hora for uma seqncia de caracteres, Time tentar convert-la para horas utilizando os
separadores de hora que voc especificou para o seu sistema. Se no puder ser convertida para uma
hora vlida, ocorrer um erro.
Funo Timer
Retorna um Single que representa o nmero de segundos decorridos desde a meia-noite.
Sintaxe
Timer
Funo TimeSerial
Retorna um Variant (Date) contendo uma indicao de hora para a hora, minuto e segundo
especficos.
Sintaxe
TimeSerial(hour, minute, second))
A sintaxe da funo TimeSerial possui estes argumentos nomeados:
Parte
hour
minute
second
Descrio
Obrigatrio; Variant (Integer). Nmero entre 0 (0:00 h) e 23
(23:00 h), inclusive, ou uma expresso numrica.
Obrigatrio; Variant (Integer). Qualquer expresso numrica.
Obrigatrio; Variant (Integer). Qualquer expresso numrica.
Comentrios
Para especificar uma hora, como 11:59:59, o intervalo de nmeros para cada argumento de
TimeSerial deve estar no intervalo normal da unidade, isto , 023 para horas e 059 para minutos e
segundos. Entretanto, voc pode tambm especificar horas relativas para cada argumento utilizando
qualquer expresso numrica que represente alguma quantidade de horas, minutos ou segundos
antes e depois de uma determinada hora. O exemplo a seguir utiliza expressesf em vez de nmeros
de horas absolutos. A funo TimeSerial retorna a hora de 15 minutos antes (-15) de seis horas
antes do meio-dia (12 - 6), ou 5:45:00 h.
TimeSerial(12 - 6, -15, 0)
Quando qualquer argumento excede seu intervalo normal, ele incrementado at a prxima unidade
maior apropriada. Por exemplo, se voc especificar 75 minutos, isto ser avaliado como uma hora e
15 minutos. Se qualquer argumento nico estiver fora do intervalo -32.768 a 32.768, ocorrer um
erro. Se a hora especificada pelos trs argumentos fizer com que a data fique fora do intervalo de
datas aceitvel, ocorrer um erro.
Funo TimeValue
Retorna um Variant (Date) contendo a hora.
Sintaxe
TimeValue(hora)
O argumento hora requerido normalmente uma expresso de seqncia de caracteres
representando uma hora entre 0:00:00 (0:00:00 h) e 23:59:59 (23:59:59 h), inclusive. Entretanto, hora
pode ser tambm qualquer expresso quer represente uma hora naquele intervalo. Se hora contiver
Null, ser retornado Null.
Comentrios
Voc pode inserir horas vlidas utilizando um relgio de 12 ou de 24 horas. Por exemplo, tanto
"2:24PM" como "14:24" so argumentos de hora vlidos.
Se o argumento hora contiver informao de data, TimeValue no o retorna. Entretanto, se hora
incluir informao de data invlida, ocorrer um erro.
Funo Weekday
Retorna um Variant (Integer) contendo um nmero inteiro que representa o dia da semana.
Sintaxe
Weekday(date, [firstdayofweek])
A sintaxe da funo Weekday possui estes argumentos nomeados:
Parte
date
firstdayofweek
Descrio
Obrigatrio. Variant, expresso numrica, expresso
de seqncia de caracteres, ou qualquer combinao
que possa representar uma data. Se date contiver
Null, ser retornado Null.
Opcional. Uma constante que especifica o primeiro dia
da semana. Se no for especificada, ser assumida
vbSunday.
Definies
O argumento firstdayofweek possui estas definies:
Constante
vbUseSystem
vbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
vbFriday
vbSaturday
Valor
0
1
2
3
4
5
6
7
Descrio
Utiliza a definio NLS API.
Domingo (padro)
Segunda-feira
Tera-feira
Quarta-feira
Quinta-feira
Sexta-feira
Sbado
Valores de Retorno
A funo Weekday pode retornar qualquer um destes valores:
Constante
vbSunday
vbMonday
vbTuesday
Valor
1
2
3
Descrio
Domingo
Segunda-feira
Tera-feira
4
5
6
7
Quarta-feira
Quinta-feira
Sexta-feira
Sbado
Funo Year
Retorna um Variant (Integer) contendo um nmero inteiro que representa o ano.
Sintaxe
Year(data)
O argumento data requerido qualquer Variant, expresso numrica, expresso de seqncia de
caracteres, ou qualquer combinao que possa representar uma data. Se data contiver Null, ser
retornado Null.
Funo Array
Retorna uma Variant que contm uma matriz.
Sintaxe
Array(arglist)
O argumento obrigatrio arglist uma lista de valores delimitados por vrgulas que so atribudos aos
elementos da matriz contidos dentro de Variant. Se nenhum argumento for especificado, uma matriz
de tamanho zero ser criada.
Comentrios
A notao utilizada para referir-se a um elemento de uma matriz consiste no nome da varivel
seguido por um nmero de ndice entre parnteses indicando o elemento desejado. No exemplo
abaixo, a primeira instruo cria uma varivel denominada A como um Variant. A segunda instruo
atribui uma matriz varivel A. A ltima instruo atribui o valor contido no segundo elemento de
matriz a outra varivel.
Dim A As Variant
A = Array(10,20,30)
B = A(2)
O limite inferior de uma matriz criada com a funo Array ser sempre zero. Ao contrrio de outros
tipos de matrizes, ela no afetada pelo limite inferior especificado pela instruo Option Base.
Observao: Uma Variant que no declarada como matriz pode, ainda assim, conter uma matriz.
Uma varivel Variant pode conter uma matriz de qualquer tipo, com exceo de seqncias de
caracteres de comprimento zero e tipos definidos pelo usurio. Embora um Variant que contm uma
matriz seja conceitualmente diferente de uma matriz cujos elementos sejam de tipo Variant, os
elementos da matriz so acessados da mesma forma.
Instruo Const
Declara as constantes a serem utilizadas no lugar de valores literais.
Sintaxe
[Public | Private] Const constname[As type] = expression
A sintaxe da instruo Const tem estas partes:
Parte
Descrio
Public
Private
constname
type
expression
Comentrios
As constantes so privadas como padro. Dentro de procedimentos, as constantes sempre sero
particulares; sua visibilidade no pode ser alterada. Em mdulos padro, a visibilidade padro de
constantes no nvel de mdulo pode ser alterada atravs da palavra-chave Public. Nos mdulos de
classe, contudo, as constantes s podem ser privadas e sua visibilidade no pode ser alterada
atravs da palavra-chave Public.
Para combinar diversas declaraes de constantes na mesma linha, separe cada atribuio de
constante com uma vrgula. Quando as declaraes de constante so combinadas dessa forma, a
palavra-chave Public ou Private, se utilizada, aplica-se a todas elas.
Voc no pode utilizar variveis, funes definidas pelo usurio ou funes intrnsecas ao Visual
Basic (como Chr) em expresses atribudas a constantes.
Observao:
As constantes podem tornar seus programas automaticamente documentveis e
fceis de serem modificados. Ao contrrio das variveis, as constantes no podem ser alteradas
inadvertidamente enquanto seu programa est sendo executado.
Se voc no declarar explicitamente o tipo de constante utilizando As type, a constante receber o
tipo de dados mais apropriado expression.
As constantes declaradas em um procedimento Sub, Function ou Property so locais a esse
procedimento. Uma constante declarada fora de um procedimento definida em todo o mdulo no
qual declarada. Voc pode utilizar constantes em qualquer lugar onde for possvel utilizar uma
expresso.
Funo CreateObject
Cria e retorna uma referncia a um objeto ActiveX.
Sintaxe
CreateObject(class)
O argumento class utiliza a sintaxe appname.objecttype e tem as partes abaixo:
Parte
Descrio
appname
objecttype
Comentrios
Qualquer aplicativo que suporte Automao fornece pelo menos um tipo de objeto. Por exemplo, um
aplicativo de processamento de texto pode fornecer um objeto Application, um objeto Document e
um objeto Toolbar.
Para criar um objeto ActiveX, atribua o objeto retornado por CreateObject a uma varivel de objeto:
Declara uma varivel de objeto para conter a referncia do objeto
Dim as Object provoca ligao tardia.
Dim ExcelPlan As Object
Set ExcelPlan = CreateObject("Excel.Plan")
Esse cdigo inicia o aplicativo que cria o objeto, nesse caso uma planilha do Microsoft Excel. Aps
um objeto ter sido criado, ele pode ser referido no cdigo atravs da varivel de objeto que voc
definiu. No exemplo abaixo, voc acessa as propriedades e os mtodos do novo objeto utilizando a
varivel de objeto, ExcelPlan e outros objetos do Microsoft Excel, incluindo o objeto Application
e a coleo Cells.
' Torna o Excel visvel atravs do objeto Application
ExcelPlan.Application.Visible = True
' Coloca um texto na primeira clula da planilha
ExcelPlan.Cells(1, 1).Value = "Esta a coluna A, fileira 1"
' Salva a planilha no diretrio C:\test.doc
ExcelPlan.SaveAs "C:\ TEST.DOC"
' Fecha o Excel com o mtodo Quit no objeto Application
ExcelPlan.Application.Quit
' Libera a varivel de objeto
Set ExcelPlan = Nothing
Declarar uma varivel de objeto com a clusula As Object cria uma varivel que pode conter uma
referncia a qualquer tipo de objeto. No entanto, o acesso ao objeto atravs dessa varivel d-se com
uma ligao tardia, ou seja, a ligao ocorre quando seu programa j est sendo executado. Para
criar uma varivel de objeto que resulte em ligao inicial, ou seja, quando o programa compilado,
declare a varivel do objeto com um cdigo de classe especfico. Por exemplo, voc pode declarar e
criar as referncias abaixo do Microsoft Excel:
Dim
Dim
Dim
Set
Set
Set
xlApp As Excel.Application
xlBook As Excel.Workbook
xlSheet As Excel.WorkSheet
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.Add
xlSheet = xlBook.Worksheets(1)
Instruo Declare
Utilizada no nvel de mdulo para declarar referncias a procedimentos externos em uma biblioteca
de vnculo dinmico (DLL).
Sintaxe 1
[Public | Private] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])]
Sintaxe 2
[Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type]
A sintaxe da instruo Declare tem estas partes:
Parte
Descrio
Public
Private
Sub
Function
name
Lib
Libname
Alias
Aliasname
Arglist
Descrio
Optional
Instrues Deftype
Utilizadas a nvel de mdulo para definir o tipo de dados padro para variveis, argumentos passados
a procedimentos e o tipo de retorno para os procedimentos Function e Property Get cujos nomes se
iniciem pelos caracteres especificados.
Sintaxe
DefBool letterrange[, letterrange] . . .
DefByte letterrange[, letterrange] . . .
DefInt letterrange[, letterrange] . . .
DefLng letterrange[, letterrange] . . .
DefCur letterrange[, letterrange] . . .
DefSng letterrange[, letterrange] . . .
DefDbl letterrange[, letterrange] . . .
DefDec letterrange[, letterrange] . . .
DefDate letterrange[, letterrange] . . .
DefStr letterrange[, letterrange] . . .
DefObj letterrange[, letterrange] . . .
DefVar letterrange[, letterrange] . . .
O argumento obrigatrio letterrange apresenta a sintaxe abaixo:
letter1[-letter2]
Os argumentos letter1 e letter2 especificam o intervalo de nomes para o qual voc pode definir um
tipo de dados padro. Cada argumento representa a primeira letra da varivel, argumento,
procedimento Function ou nome de procedimento Property Get e pode ser qualquer letra do
alfabeto. A caixa das letras em letterrange no relevante.
Comentrios
O nome da instruo determina o tipo de dados:
Instruo
Tipo de dados
DefBool
DefByte
DefInt
DefLng
DefCur
DefSng
DefDbl
DefDec
DefDate
DefStr
DefObj
DefVar
Boolean
Byte
Integer
Long
Currency
Single
Double
Decimal (atualmente no-suportado)
Date
String
Object
Variant
Instruo Dim
Declara variveis e aloca espao de armazenamento.
Sintaxe
Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As
[New] type]] . . .
A sintaxe da instruo Dim tem estas partes:
Parte
Descrio
WithEvents
varname
subscripts
New
type
Instruo Enum
Declara um tipo para uma enumerao.
Sintaxe
[Public | Private] Enum name
membername [= constantexpression]
membername [= constantexpression]
...
End Enum
A instruo Enum tem estas partes:
Parte
Descrio
Public
Private
name
membername
constantexpression
Comentrios
As variveis de enumerao so variveis declaradas com um tipo Enum. Ambas as variveis e
parmetros podem ser declarados com um tipo Enum. Os elementos do tipo Enum so inicializados
como valores constantes dentro da instruo Enum. Os valores atribudos no podem ser
modificados em tempo de execuo e podem incluir nmeros negativos ou positivos. Por exemplo:
Enum SecurityLevel
IllegalEntry = -1
SecurityLevel1 = 0
SecurityLevel2 = 1
End Enum
Uma instruo Enum somente pode aparecer em nvel de mdulo. Uma vez que o tipo Enum
definido, ele pode ser usado para declarar variveis, parmetros ou procedimentos retornando seu
tipo. Voc no pode qualificar um nome de tipo Enum com um nome de mdulo. Tipos Public Enum
em um mdulo de classe no so membros da classe; entretanto, eles so gravados na biblioteca de
tipos. Tipos Enum definidos em mdulos padro no so gravados em bibliotecas de tipos. Os tipos
Public Enum de mesmo nome no podem ser definidos em ambos os mdulos padro e mdulos de
classe, pois eles compartilham o mesmo espao de nome. Quando dois tipos Enum em diferentes
tipos de biblioteca tm o mesmo nome, mas elementos diferentes, uma referncia a uma varivel do
tipo depende de qual biblioteca de tipos tem prioridade mais alta nas References.
Voc no pode usar um tipo Enum como destino de um bloco With.
Instruo Erase
Reinicializa os elementos de matrizes de tamanho fixo e libera espao de armazenamento de
matrizes dinmicas.
Sintaxe
Erase arraylist
O argumento obrigatrio arraylist uma ou mais variveis de matrizes delimitadas por vrgulas a
serem apagadas.
Comentrios
Erase comporta-se de formas diferentes dependendo da matriz ser de tamanho fixo (normal) ou
dinmica. Erase no recupera memria para matrizes de tamanho fixo. Erase define os elementos de
uma matriz fixa da seguinte forma:
Tipo de matriz
Matriz numrica
fixa
Matriz
de
seqncia
de
caracteres fixa
(tamanho
varivel)
Matriz
de
seqncia
de
caracteres fixa
(tamanho fixo)
Matriz
Variant
fixa
Matriz de tipos
definidos
pelo
usurio
Matriz de objetos
seqncia
de
Erase libera a memria utilizada por matrizes dinmicas. Antes que seu programa possa se referir
novamente matriz dinmica, ele dever declarar as dimenses da varivel de matriz novamente,
atravs da instruo ReDim.
Instruo Event
Declara um evento definido pelo usurio.
Sintaxe
[Public] Event procedurename [(arglist)]
A instruo Event tem estas partes:
Parte
Public
procedurename
Descrio
Opcional. Especifica que o Event seja visvel em todo o
projeto. Os tipos de Events so Public como padro.
Observe que os eventos somente podem ser
provocados no mdulo em que so declarados.
Obrigatrio. Nomeie o evento; siga as convenes
padro de nomenclatura de variveis.
Descrio
ByVal
ByRef
varname
type
Comentrios
Uma vez declarado o evento, use a instruo RaiseEvent para dispar-lo. Ocorrer um erro de
sintaxe se uma declarao Event aparecer em um mdulo padro. Um evento no pode ser
declarado para retornar um valor. Um evento tpico deve ser declarado e provocado como mostram
os fragmentos abaixo:
' Declarar um evento a nvel de mdulo de um mdulo de classe
Event LogonCompleted (UserName as String)
Sub
RaiseEvent LogonCompleted("AntoineJan")
End Sub
Instruo Function
Declara o nome, os argumentos e o cdigo que formam o corpo de um procedimento Function.
Sintaxe
[Public
|
Private]
[Static]
Function
[statements]
[name
=
[Exit
[statements]
[name = expression]
End Function
A sintaxe da instruo Function tem estas partes:
name
[(arglist)]
[As
Parte
Descrio
Public
Private
Static
name
type]
expression]
Function]
statements
expression
Descrio
Optional
ByVal
ByRef
ParamArray
varname
type
defaultvalue
Comentrios
Se no forem especificados explicitamente atravs de Public ou Private, os procedimentos Function
sero pblicos como padro. Se Static no for utilizado, o valor de variveis locais no ser
preservado entre as chamadas. A palavra-chave Friend somente pode ser usada em mdulos de
classe. Entretanto, procedimentos Friend podem ser acessados por procedimentos em qualquer
mdulo de um projeto. Um procedimento Friend no aparece na biblioteca de tipos de sua classe pai,
nem pode um procedimento Friend ser acoplado posteriormente.
Ateno Os procedimentos Function podem ser recursivos; ou seja, eles podem chamar a si
prprios para efetuar uma determinada tarefa. No entanto, a recurso pode levar ao estouro da pilha.
A palavra-chave Static em geral no utilizada com procedimentos recursivos Function.
Funo GetObject
Retorna uma referncia a um objeto ActiveX de um arquivo.
Sintaxe
GetObject([pathname] [, class])
A sintaxe da funo GetObject apresenta os argumentos nomeados abaixo:
Parte
Descrio
pathna
me
class
Descrio
appnam
e
objecttyp
e
Comentrios
Utilize a funo GetObject para acessar um objeto ActiveX de um arquivo e atribuir o objeto a uma
varivel de objeto. Utilize a instruo Set para atribuir o objeto retornado por GetObject varivel do
objeto. Por exemplo:
Dim ObjetoCAD As Object
Set ObjetoCAD = GetObject("C:\CAD\SCHEMA.CAD")
Quando esse cdigo executado, o aplicativo associado ao pathname especificado iniciado e o
objeto no arquivo especificado ativado.
Se pathname for uma seqncia de caracteres de comprimento zero (""), GetObject retornar uma
nova ocorrncia de objeto do tipo especificado. Se o argumento do pathname for omitido, GetObject
retornar um objeto atualmente ativo do tipo especificado. Se no houver nenhum objeto do tipo
especificado, um erro ser gerado.
Alguns aplicativos permitem que voc ative parte de um arquivo. Adicione um ponto de exclamao
(!) ao final do nome do arquivo e acrescente uma seqncia de caracteres que identifique a parte do
arquivo que voc deseja ativar. Para obter informaes sobre como criar essa seqncia de
caracteres, consulte a documentao referente ao aplicativo que criou o objeto.
Por exemplo, em um aplicativo de desenho, voc pode ter diversas camadas de um desenho
armazenado em um arquivo. Voc poderia utilizar o cdigo abaixo para ativar uma camada em um
desenho denominado SCHEMA.CAD:
Set CamadaObjeto = GetObject("C:\CAD\SCHEMA.CAD!Camada3")
Se voc no especificar o class do objeto, a Automao determinar o aplicativo a ser iniciado e o
objeto a ser ativado, de acordo com o nome de arquivo fornecido. Alguns arquivos, contudo, podem
suportar mais do que uma classe de objeto. Por exemplo, um desenho poderia suportar trs
diferentes tipos de objetos: um objeto Application, um objeto Drawing e um objeto Toolbar, os quais
fazem parte do mesmo arquivo. Para especificar o objeto de um arquivo que voc deseja ativar,
utilize o argumento de class opcional. Por exemplo:
Dim MeuObjeto As Object
Set MeuObjeto = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
No exemplo acima, FIGMENT o nome de um aplicativo de desenho e DRAWING um dos tipos de
objeto que ele suporta.
Depois que o objeto tiver sido ativado, voc pode referenci-lo em cdigo utilizando a varivel de
objeto que voc definiu. No exemplo anterior, voc acessa as propriedades e os mtodos do novo
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Implements
Especifica uma interface ou classe que ser implementada no mdulo de classe onde ele aparece.
Sintaxe
Implements [InterfaceName | Class]
O InterfaceName ou Class obrigatrio o nome de uma interface ou classe na biblioteca de tipos,
cujos mtodos sero implementados pelos mtodos correspondentes na classe Visual Basic.
Comentrios
Uma interface uma coleo de prottipos representando os membros (mtodos e propriedades)
encapsulados na interface; isto , contm apenas as declaraes para os procedimentos membros.
Uma classe oferece uma implementao de todos os mtodos e propriedades de uma ou mais
inferfaces. As classes oferecem o cdigo usado quando cada funo chamada por um controlador
da classe. Todas as classes implementam pelo menos uma interface, que considerada a interface
padro da classe. No Visual Basic, todo membro que no explicitamente um membro de uma
interface implementada implicitamente um membro da interface padro.
Quando uma classe do Visual Basic implementa uma interface, a classe do Visual Basic oferece sua
prpria verso de todos os procedimentos Public especificados na biblioteca de tipos da interface.
Alm de oferecer uma mapeamento entre prottipos de interface e seus procedimentos, a instruo
Implements provoca a aceitao de chamada COM QueryInterfaces pela classe para a identificao
da interface especificada.
Quando voc implementa uma interface ou classe, voc deve incluir todos os procedimentos Public
envolvidos. Um membro faltando em uma implementao de interface ou classe provoca um erro. Se
voc no colocar cdigo em um dos procedimentos de uma classe que estiver implementando, voc
pode provocar o erro adequado (Const E_NOTIMPL = &H80004001) de modo que o usurio da
implementao compreenda que o membro no est implementado.
A instruo Implements no pode aparecer em um mdulo padro.
Funo LBound
Retorna um Long que contm o menor subscrito disponvel para a dimenso indicada de uma matriz.
Sintaxe
LBound(arrayname[, dimension])
A sintaxe da funo LBound apresenta as partes abaixo:
Parte
Descrio
arrayname
dimension
Comentrios
A funo LBound utilizada com a funo UBound para determinar o tamanho de uma matriz.
Utilize a funo UBound para calcular o limite superior de uma dimenso de matriz.
LBound retorna os valores apresentados na tabela abaixo para uma matriz com as dimenses
abaixo:
Dim A(1 To 100, 0 To 3, -3 To 4)
Instruo
LBound(A,
1)
LBound(A,
2)
LBound(A,
3)
Valor de retorno
1
0
-3
O limite inferior padro para qualquer dimenso 0 ou 1, de acordo com a definio da instruo
Option Base. A base de uma matriz criada com a funo Array zero; ela no afetada por Option
Base.
As matrizes para as quais so definidas dimenses utilizando-se a clusula To em uma instruo
Dim, Private, Public, ReDim ou Static podem apresentar qualquer valor inteiro como um limite
inferior.
Instruo Let
Atribui o valor de uma expresso a uma varivel ou propriedade.
Sintaxe
[Let] varname = expression
A sintaxe da instruo Let tem estas partes:
Parte
Descrio
Let
varname
expressio
n
Comentrios
Instruo Private
Utilizada no nvel de mdulo para declarar variveis privadas e alocar espao de armazenamento.
Sintaxe
Private [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])]
[As [New] type]] . . .
A sintaxe da instruo Private tem estas partes:
Parte
Descrio
WithEvents
varname
subscripts
New
type
Comentrios
As variveis Private encontram-se disponveis somente para o mdulo em que so declaradas.
Utilize a instruo Private para declarar o tipo de dados de uma varivel. Por exemplo, a instruo
abaixo declara uma varivel como um Integer:
Private NmeroDeEmpregados As Integer
Voc tambm pode utilizar uma instruo Private para declarar o tipo de objeto de uma varivel. A
instruo abaixo declara uma varivel para uma nova ocorrncia de uma planilha.
Private X As New Worksheet
Se a palavra-chave New no for utilizada quando declarar uma varivel de objeto, a varivel que se
refere ao objeto dever ser atribuda a um objeto existente utilizando-se a instruo Set para que
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
[Static]
Property
Get
name
[(arglist)]
[As
type]
expression]
Property]
Descrio
Public
Private
Static
name
arglist
statements
expression
Descrio
Optional
ByVal
ByRef
ParamArra
y
varname
type
defaultvalue
Comentrios
Se no especificado explicitamente utilizando-se Public ou Private, os procedimentos Property
sero pblicos como padro. Se Static no for utilizado, o valor de variveis locais no ser
preservado entre chamadas.
Todo o cdigo executvel deve estar nos procedimentos. Voc no pode definir um procedimento
Property Get dentro de outro procedimento Property, Sub ou Function.
A instruo Exit Property causa uma sada imediata de um procedimento Property Get. A execuo
do programa continua com a instruo que segue a instruo que chamou o procedimento Property
Get. Pode aparecer qualquer nmero de instrues Exit Property em qualquer lugar de um
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
[Static]
Property
Let
name
([arglist,]
value)
Property]
Descrio
Public
Private
Static
nome
arglist
value
statement
s
Descrio
Optional
ByVal
ByRef
ParamArr
ay
varname
type
defaultval
ue
Observao:
Toda instruo Property Let deve definir pelo menos um argumento para o
procedimento que ela define. Esse argumento (ou o ltimo argumento se houver mais de um) contm
o valor real a ser atribudo propriedade quando o procedimento definido pela instruo Property Let
for chamado. Tal argumento referido como value na sintaxe anterior.
Comentrios
Se no especificados explicitamente utilizando-se Public ou Private, os procedimentos Property
sero pblicos como padro. Se Static no for utilizado, o valor de variveis locais no ser
preservado entre chamadas.
Todo o cdigo executvel deve estar nos procedimentos. Voc no pode definir um procedimento
Property Let dentro de outro procedimento Property, Sub ou Function.
A instruo Exit Property causa uma sada imediata de um procedimento Property Let. A execuo
do programa continua com a instruo que segue a instruo que chamou o procedimento Property
Let. Pode aparecer qualquer nmero de instrues Exit Property em qualquer lugar de um
procedimento Property Let.
Da mesma forma que um procedimento Function e Property Get, um procedimento Property Let
um procedimento separado que pode tomar argumentos, efetuar uma srie de instrues e alterar o
valor de seus argumentos. Entretanto, ao contrrio de um procedimento Function e Property Get, os
quais retornam um valor, voc somente pode utilizar um procedimento Property Let do lado
esquerdo de uma expresso de atribuio de propriedade ou instruo Let.
[Static]
Property
Set
name
([arglist,]
reference)
Property]
Descrio
Optional
Public
Private
Static
name
arglist
reference
statements
Descrio
Optional
ByVal
ByRef
ParamArray
varname
type
defaultvalue
Observao: Toda instruo Property Set deve definir pelo menos um argumento do procedimento
que ela define. Esse argumento (ou o ltimo argumento se houver mais de um) contm a referncia
real ao objeto da propriedade quando o procedimento definido pela instruo Property Set
chamado. Ele referido como reference na sintaxe anterior. No pode ser Optional.
Comentrios
Se no forem especificados explicitamente utilizando-se Public ou Private, os procedimentos
Property sero pblicos como padro. Se Static no for utilizado, o valor de variveis locais no ser
preservado entre chamadas.
Todo o cdigo executvel deve estar nos procedimentos. Voc no pode definir um procedimento
Property Set dentro de outro procedimento Property, Sub ou Function.
A instruo Exit Property causa uma sada imediata de um procedimento Property Set. A execuo
do programa continua com a instruo que segue a instruo que chamou o procedimento Property
Set. Pode aparecer qualquer nmero de instrues Exit Property em qualquer lugar de um
procedimento Property Set.
Da mesma forma que um procedimento Function e Property Get, um procedimento Property Set
um procedimento separado que pode tomar argumentos, efetuar uma srie de instrues e alterar o
valor de seus argumentos. Entretanto, ao contrrio de um procedimento Function e Property Get, os
quais retornam um valor, voc pode utilizar somente um procedimento Property Set do lado
esquerdo de uma atribuio de referncia de objeto (instruo Set).
Instruo Public
Utilizada no nvel de mdulo para declarar variveis pblicas e alocar espao de armazenamento.
Sintaxe
Public [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])]
[As [New] type]] . . .
A sintaxe da instruo Public tem estas partes:
Parte
Descrio
WithEvents
varname
subscripts
type
Comentrios
Variveis declaradas utilizando-se a instruo Public esto disponveis para todos os procedimentos
de todos os mdulos de todos os aplicativos, a menos que Option Private Module esteja em vigor,
caso em que as variveis sero pblicas somente dentro do projeto no qual residem.
Ateno A instruo Public no pode ser utilizada em um mdulo de classe para declarar uma
varivel de seqncia de caracteres de comprimento fixo.
Utilize a instruo Public para declarar o tipo de dados de uma varivel. Por exemplo, a instruo
abaixo declara uma varivel como um Integer:
Public NmeroDeEmpregados As Integer
Utilize tambm uma instruo Public para declarar o tipo de objeto de uma varivel. A instruo
abaixo declara uma varivel para uma nova ocorrncia de uma planilha.
Public X As New Worksheet
Se a palavra-chave New no for utilizada ao declarar uma varivel de objeto, a varivel que se refere
ao objeto dever ser atribuda a um objeto existente utilizando-se a instruo Set para que ela possa
ser utilizada. At que seja atribudo um objeto, a varivel de objeto declarada ter o valor especial
Nothing, que indica que no se refere a uma ocorrncia especfica de um objeto.
Voc tambm pode utilizar a instruo Public com parnteses vazios para declarar uma matriz
dinmica. Depois de declarar uma matriz dinmica, utilize a instruo ReDim dentro de um
procedimento para definir o nmero de dimenses e elementos na matriz. Se voc tentar declarar
novamente uma dimenso de uma varivel de matriz cujo tamanho tenha sido especificado
explicitamente em uma instruo Private, Public ou Dim, um erro ser gerado.
Se voc no especificar um tipo de dados ou um tipo de objeto e no houver uma instruo Deftype
no mdulo, a varivel ser Variant como padro.
Quando variveis so inicializadas, uma varivel numrica inicializada como 0, uma seqncia de
caracteres de comprimento varivel inicializada como uma seqncia de caracteres de
comprimento zero ("") e uma seqncia de caracteres de comprimento fixo preenchida com zeros.
As variveis Variant so inicializadas como Empty. Cada elemento de uma varivel de tipo definido
pelo usurio inicializado como se fosse uma varivel separada.
Instruo ReDim
Utilizado no nvel de procedimento para realocar o espao de armazenamento para as variveis de
matriz dinmica.
Sintaxe
ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]] . . .
A sintaxe da instruo ReDim tem estas partes:
Parte
Descrio
Preserve
varname
subscripts
type
Comentrios
A instruo ReDim utilizada para dimensionar ou redimensionar uma matriz dinmica que j tenha
sido declarada formalmente utilizando-se uma instruo Private, Public ou Dim com os parnteses
vazios (sem subscritos de dimenso).
Voc pode utilizar a instruo ReDim repetidamente para alterar o nmero de elementos e
dimenses em uma matriz. Contudo, voc no pode declarar uma matriz de um tipo dados e utilizar
posteriormente ReDim para alterar a matriz para um outro tipo de dados, a menos que a matriz esteja
contida em um Variant. Se a matriz estiver contida em um Variant, o tipo dos elementos podem ser
alterados utilizando-se uma clusula As type, a menos que voc esteja utilizando a palavra-chave
Preserve, que no caso, no permite alteraes no tipo de dados.
Se voc utilizar a palavra-chave Preserve, poder redimensionar somente a ltima dimenso da
matriz e no poder alterar o nmero de dimenses. Por exemplo, se sua matriz possuir somente
uma dimenso, voc poder redimensionar essa dimenso porque ela a ltima e a nica dimenso.
Contudo, se sua matriz possuir duas ou mais dimenses, voc poder alterar somente o tamanho da
ltima dimenso e ainda preservar o contedo da matriz. O exemplo abaixo mostra como voc pode
aumentar o tamanho da ltima dimenso de uma matriz dinmica sem apagar os dados nela
contidos.
ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
De forma semelhante, quando voc utiliza Preserve, pode alterar o tamanho da matriz somente
alterando o limite superior; alterar o limite inferior gera um erro.
Se voc tornar uma matriz menor do que seu tamanho original, os dados contidos nos elementos
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Rem
Utilizada para incluir comentrios explicativos em um programa.
Sintaxe
Rem comment
Voc tambm pode utilizar a sintaxe abaixo:
' comment
O argumento opcional comment o texto de qualquer comentrio que voc deseje incluir.
necessrio um espao entre a palavra-chave Rem e o comment.
Comentrios
Se voc utilizar nmeros de linha ou rtulos de linha, poder desviar de uma instruo GoTo ou
GoSub para uma linha contendo uma instruo Rem. A execuo continua com a primeira instruo
executvel que segue a instruo Rem. Se a palavra-chave Rem seguir outras instrues em uma
linha, ela deve ser separada das instrues por dois-pontos (:).
Voc pode utilizar um apstrofo (') ao invs da palavra-chave Rem. Quando voc utiliza um
apstrofo, os dois-pontos no so obrigatrios aps outras instrues.
Instruo Set
Atribui uma referncia de objeto a uma varivel ou propriedade.
Sintaxe
Set objectvar = {[New] objectexpression | Nothing}
A sintaxe da instruo Set tem estas partes:
Parte
Descrio
objectvar
New
objectexpres
sion
Nothing
Comentrios
Para ser vlido, objectvar deve ser um tipo de objeto consistente com o objeto sendo atribudo ao
mesmo.
As instrues Dim, Private, Public, ReDim e Static declaram somente uma varivel que faz
referncia a um objeto. No feita nenhuma referncia a um objeto real at que voc utilize a
instruo Set para atribuir um objeto especfico.
O exemplo abaixo ilustra como Dim utilizado para declarar uma matriz com o tipo Form1. Nenhuma
ocorrncia de Form1 existe realmente. Set ento atribui referncias s novas instncias de Form1
varivel FormulriosFilho. Tal cdigo pode ser utilizado para criar formulrios filho em um
aplicativo MDI.
Dim
Set
Set
Set
Set
FormulriosFilho(1 to
FormulriosFilho(1) =
FormulriosFilho(2) =
FormulriosFilho(3) =
FormulriosFilho(4) =
4) As Form1
New Form1
New Form1
New Form1
New Form1
Geralmente, quando voc utiliza Set para atribuir uma referncia de objeto a uma varivel, nenhuma
cpia do objeto criada para essa varivel. Em vez disso, uma referncia ao objeto criada.
possvel fazer com que mais do que uma varivel de objeto faa referncia ao mesmo objeto. Como
tais variveis so referncias ao objeto em vez de cpias do objeto, qualquer alterao no objeto
refletida em todas as variveis que fazem referncia a ele. Contudo, quando voc utiliza a palavrachave New na instruo Set, estar realmente criando uma ocorrncia do objeto.
Instruo Static
Utilizada no nvel de procedimento para declarar variveis e alocar espao de armazenamento. As
variveis declaradas com a instruo Static retm seus valores desde que o cdigo esteja sendo
executado.
Sintaxe
Static varname[([subscripts])] [As [New] type] [, varname[([subscripts])] [As [New] type]] .
..
A sintaxe da instruo Static tem estas partes:
Parte
Descrio
varname
subscripts
New
type
Comentrios
Assim que o cdigo do mdulo estiver sendo executado, as variveis declaradas com a instruo
Static retero seus valores at que o mdulo seja redefinido ou reinicializado. Utilize a instruo
Static em um procedimento no-esttico para declarar as variveis explicitamente, as quais so
visveis somente dentro do procedimento, mas cujo tempo de vida seja o mesmo que o mdulo no
qual o procedimento definido.
Utilize uma instruo Static dentro de um procedimento para declarar o tipo de dados de uma
varivel que retenha seu valor entre as chamadas de procedimento. Por exemplo, a instruo abaixo
declara uma matriz de tamanho fixo de nmeros inteiros:
Static NmeroDoEmpregado(200) As Integer
A instruo abaixo declara uma varivel para uma nova ocorrncia de uma planilha:
Static X As New Worksheet
Se a palavra-chave New no for utilizada ao declarar uma varivel de objeto, dever ser atribudo um
objeto existente varivel que se refere ao objeto utilizando-se a instruo Set antes que ela possa
ser utilizada. At que um objeto seja atribudo a ela, a varivel de objeto declarada conter o valor
especial Nothing, indicando que ela no se refere a uma ocorrncia em particular de um objeto.
Quando voc utiliza a palavra-chave New na declarao, uma ocorrncia do objeto criada na
primeira referncia a ele.
Se voc no especificar um tipo de dados ou um tipo objeto e se no houver uma instruo Deftype
no mdulo, a varivel ser Variant como padro.
Observao: A instruo Static e a palavra-chave Static so semelhantes, mas so utilizadas para
efeitos diferentes. Se voc declarar um procedimento utilizando a palavra-chave Static (como em
Static Sub ContabVendas ()), o espao de armazenamento para todas as variveis locais
dentro de um procedimento ser alocado uma vez e os valores das variveis sero preservados
durante todo o tempo em que o programa encontrar-se em execuo. Para procedimentos noestticos, o espao de armazenamento referente s variveis alocado cada vez que o procedimento
chamado e liberado quando o procedimento finalizado. A instruo Static utilizada para declarar
variveis especficas dentro de procedimentos no-estticos para preservar seus valores durante o
tempo em que o programa estiver sendo executado.
Quando as variveis so inicializadas, uma varivel numrica inicializada para o valor 0, uma
seqncia de caracteres de comprimento varivel inicializada para uma seqncia de caracteres de
comprimento ("") e uma seqncia de caracteres de comprimento fixo preenchida com zeros. As
variveis Variant so inicializadas para Empty. Cada elemento de uma varivel de tipo definida pelo
usurio inicializado como se fosse uma varivel separada.
Observao: Quando voc utilizar as instrues Static dentro de um procedimento, coloque-as no
incio do procedimento com outras instrues declarativas como Dim.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Sub
Declara o nome, os argumentos e o cdigo que formam o corpo de um procedimento Sub.
Sintaxe
[Private
|
Public]
[Static]
[statements]
[Exit
[statements]
End Sub
A sintaxe da instruo Sub tem estas partes:
Sub
name
Parte
Descrio
Public
Private
Static
name
arglist
statement
s
[(arglist)]
Sub]
Descrio
Optional
ByVal
ByRef
ParamArr
ay
varname
type
defaultval
ue
Comentrios
Se no forem especificados de forma explcita utilizando Public ou Private, os procedimentos Sub
sero pblicos como padro. Se no for utilizado Static, o valor das variveis locais no ser
preservado entre as chamadas.
Ateno Os procedimentos Sub podem ser recursivos; ou seja, eles podem chamar a si mesmos
para efetuar uma certa tarefa. Contudo, a recurso pode levar a um estouro de pilha. A palavra-chave
Static geralmente no utilizada com os procedimentos Sub recursivos.
Todos os cdigos executveis devem estar contidos em procedimentos. Voc no pode definir um
procedimento Sub dentro de um outro procedimento Sub, Function ou Property.
As palavras-chave Exit Sub causam uma sada imediata de um procedimento Sub. A execuo do
programa continua com a instruo que segue a instruo que chamou esse procedimento.
possvel aparecer um nmero variado de instrues Exit Sub em qualquer lugar de um procedimento
Sub.
Como um procedimento Function, um procedimento Sub um procedimento separado que pode
tomar os argumentos, efetuar uma srie de instrues e alterar o valor de seus argumentos. Contudo,
ao contrrio do procedimento Function, que retorna um valor, um procedimento Sub no pode ser
utilizado em uma expresso.
Voc chama um procedimento Sub utilizando o nome do procedimento seguido pela lista de
argumentos. Consulte a instruo Call para obter Especificidades sobre como chamar os
procedimentos Sub.
As variveis utilizadas nos procedimentos Sub incorrem em duas categorias: aquelas que so
declaradas de forma explcita dentro de um procedimento e aquelas que no o so. As variveis que
so declaradas de forma explcita em um procedimento (utilizando-se Dim ou equivalente) so
sempre locais no que se refere ao procedimento. As variveis que so utilizadas mas no so
declaradas de forma explcita em um procedimento tambm so locais, a menos que elas sejam
declaradas de forma explcita em algum nvel superior fora do procedimento.
Ateno Um procedimento pode utilizar uma varivel que no declarada de forma explcita no
procedimento, mas poder ocorrer um conflito de nomeao se algo que voc tenha definido no nvel
de mdulo possuir o mesmo nome. Se seu procedimento fizer referncia a uma varivel nodeclarada que possui o mesmo nome que um outro procedimento, constante ou varivel, ser
assumido que seu procedimento est se referindo quele nome no nvel de mdulo. Para evitar esse
tipo de conflito, declare as variveis de forma explcita. Voc pode utilizar uma instruo Option
Explicit para forar a declarao explcita das variveis.
Observao:
Voc no pode utilizar GoSub, GoTo ou Return para entrar ou sair de um
procedimento Sub.
Instruo Type
Utilizada no nvel de mdulo para definir um tipo de dados definido pelo usurio contendo um ou mais
elementos.
Sintaxe
[Private
|
elementname[([subscripts])]
[elementname[([subscripts])]
...
End Type
Public]
As
As
Type
varname
type
type]
Descrio
Public
Private
varname
element
name
subscrip
ts
type
Comentrios
A instruo Type pode ser utilizada somente no nvel de mdulo. Assim que voc tiver declarado um
tipo definido pelo usurio utilizando a instruo Type, ser possvel declarar uma varivel daquele
tipo em qualquer lugar dentro do escopo da declarao. Utilize Dim, Private, Public, ReDim ou
Static para declarar uma varivel do tipo definido pelo usurio.
Nos mdulos padro, os tipos definidos pelo usurio so pblicos como padro. Essa visibilidade
pode ser alterada utilizando-se a palavra-chave Private. Nos mdulos de classe, contudo, os tipos
definidos pelo usurio podem somente ser privados e a visibilidade no pode ser alterada utilizandose a palavra-chave Public.
No so permitidos nmeros de linha e rtulos de linha nos blocos Type...End Type.
Os tipos definidos pelo usurio so geralmente utilizados com registros de dados, que
freqentemente consistem em um nmero de elementos relacionados de diferentes tipos de dados.
O exemplo abaixo mostra a utilizao de matrizes de tamanho fixo em um tipo definido pelo usurio:
Type StateData
CdigoDaCidade (1 To 100) As Integer
Funo UBound
Retorna um Long contendo o maior subscrito disponvel para a dimenso indicada de uma matriz.
Sintaxe
UBound(arrayname[, dimension])
A sintaxe da funo UBound tem estas partes:
Parte
Descrio
arrayname
dimension
Comentrios
A funo UBound utilizada com a funo LBound para determinar o tamanho de uma matriz.
Utilize a funo LBound para encontrar o limite inferior da dimenso de uma matriz.
UBound retorna os seguintes valores para uma matriz com as dimenses abaixo:
Dim A(1 To 100, 0 To 3, -3 To 4)
Instruo
UBound(A, 1)
UBound(A, 2)
UBound(A, 3)
Valor de retorno
100
3
4
como
biblioteca
' No Macintosh:
Declare Sub MessageAlert Lib "MyHd:MyAlert" Alias "MyAlert" (ByVal N _
As Integer)
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
perguntando-lhe
se
Sub DetectExcel()
' O procedimento detecta que o Excel est sendo executado e registra-o.
Const WM_USER = 1024
Dim hWnd As Long
' Se o Excel est sendo executado esta chamada API retorna seu
identificador.
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then ' 0 significa que o Excel no est executando.
Exit Sub
Else
' O Excel est sendo executado, ento use o SendMessage API
' funo para inserir a tabela Running Object .
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub
e
o
o
e
O cdigo abaixo para as declaraes compartilhadas est em uma classe chamada PersonalData:
Public Name As String
Public Address As String
O cdigo que suporta os dados do cliente est em um mdulo de classe chamado Customer:
Implements PersonalData
Private Property Get PersonalData_Address() As String
PersonalData_Address = "CustomerAddress"
End Property
Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property
Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property
Private Property Get PersonalData_Name() As String
PersonalData_Name = "CustomerName"
End Property
O cdigo que suporta os dados do fornecedor est em um mdulo de classe chamado Supplier:
Dim Lower
Dim MyArray(20), TwoDArray(3, 4)
' Declara as variveis de matriz.
Dim ZeroArray(0 To 5) ' Sobrescreve o subscrito base padro.
' Utiliza a funo LBound para testar os limites Inferiores da matrizes.
Lower = LBound(MyArray) ' Retorna 1.
Lower = LBound(TwoDArray, 2) ' Retorna 1.
Lower = LBound(ZeroArray) ' Retorna 0.
ocorrer
em
um
Convenes da documentao
A documentao do Visual Basic utiliza as seguintes convenes tipogrficas.
Convenes
Descrio
Setup
Objeto,
nomevar,
lista_arg
nomecaminho,
nmeroarquivo
[listaexpresso]
{While | Until}
ESC, ENTER
ALT+F1, CTRL+R
Convenes de cdigo
So usadas as seguintes convenes de cdigo:
Sample Code
Descrio
"Isto
"exemplo"
um
"
_
_
Instruo ChDir
Altera o diretrio ou pasta atual.
Sintaxe
ChDir caminho
O argumento caminho obrigatrio uma expresso de seqncia que identifica qual diretrio ou
pasta se torna o novo diretrio ou pasta padro. O caminho pode incluir a unidade de disco. Se
nenhuma unidade for especificada, ChDir altera o diretrio ou pasta padro na unidade atual.
Comentrios
A instruo ChDir altera o diretrio padro, mas no a unidade de disco padro. Por exemplo, se a
unidade padro for C, a instruo a seguir altera o diretrio padro na unidade D, mas C permanece
como unidade padro:
ChDir "D:\TMP"
Instruo ChDrive
Altera a unidade de disco atual.
Sintaxe
ChDrive unidade
O argumento unidade obrigatrio uma expresso de seqncia que especifica uma unidade
existente. Se voc fornecer uma seqncia de comprimento zero (""), a unidade atual no ser
alterada. Se o argumento unidade for uma seqncia de mltiplos caracteres, CdDrive utilizar
somente a primeira letra.
Funo CurDir
Retorna um Variant (String) representando o caminho atual.
Sintaxe
CurDir[(unidade)]
O argumento opcional unidade uma expresso de seqncia que especifica uma unidade existente.
Se no for especificada uma unidade ou se unidade for uma seqncia de comprimento zero (""),
CurDir retorna o caminho para a unidade atual.
Funo Dir
Retorna um String que representa o nome de um arquivo, diretrio ou pasta que corresponde a um
padro especificado ou atributo de arquivo, ou o rtulo de volume de uma unidade de disco.
Sintaxe
Dir[(nomedocaminho[, atributos])]
A sintaxe da funo Dir possui as partes a seguir:
Parte
nomedoc
aminho
atributos
Descrio
Opcional. Expresso de seqncia que especifica um nome
de arquivo pode incluir diretrio ou pasta e unidade de disco.
Retorna uma seqncia de comprimento zero ("") se
nomedocaminho no for encontrado.
Opcional. Constante ou expresso numrica cuja soma
especifica os atributos de arquivo. Se for omitido, todos os
arquivos que correspondem a nomedocaminho so
retornados.
Definies
As definies do argumento atributos so:
Constante
vbNormal
vbHidden
vbSystem
vbVolume
Valor
0
2
4
8
vbDirectory
16
Descrio
Normal
Oculto
Arquivo do sistema
Rtulo do volume. Se for especificado, todos os
outros atributos sero ignorados
Diretrio ou pasta
Observao Estas constantes so especificadas pelo Visual Basic para Aplicativos e podem ser
utilizadas em qualquer parte do seu cdigo no lugar de valores reais.
Comentrios
Dir suporta a utilizao de curingas de mltiplos caracteres (*) e de caractere nico (?) para
especificar vrios arquivos.
Voc deve especificar nomedocaminho na primeira vez que chamar a funo Dir ou um erro ser
gerado. Se especificar tambm atributos de arquivo, ser necessrio incluir nomedocaminho.
Dir retorna o primeiro nome de arquivo que corresponda a nomedocaminho. Para obter qualquer
nome de arquivo adicional que combine com nomedocaminho, chame Dir novamente sem
argumentos. Quando no houver mais nenhum nome de arquivo correspondente, Dir retornar uma
seqncia de comprimento zero (""). Uma vez que essa seqncia seja retornada, voc dever
especificar nomedocaminho em chamadas subseqentes ou um erro ser gerado. Voc pode mudar
para um novo nomedocaminho sem recuperar todos os nomes de arquivo que correspondam ao
nomedocaminho atual. Entretanto, voc no pode chamar a funo Dir recorrentemente. Chamar Dir
com o atributo vbDirectory no retorna subdiretrios continuamente.
Dica Em razo de os nomes de arquivo serem recuperados sem nenhuma ordem especfica, pode
ser que voc deseje armazenar nomes de arquivo retornados em uma matriz e depois classific-la.
Funo Environ
Retorna o String associado a uma varivel de ambiente do sistema operacional.
Sintaxe
Environ({envstring | number})
A sintaxe da funo Environ possui os argumentos nomeados a seguir:
Parte
envstring
number
Descrio
Opcional. Expresso de seqncia que contm o nome de
uma varivel de ambiente.
Opcional. Expresso numrica que corresponde ordem
numrica da seqncia de ambiente na tabela de seqncia
de ambiente. O argumento number pode ser qualquer
expresso numrica, mas ser arredondado para um nmero
inteiro antes de ser avaliado.
Comentrios
Se envstring no puder ser encontrado na tabela de seqncia de ambiente, uma seqncia de
comprimento zero ("") ser retornada. Caso contrrio, Environ retornar o texto atribudo ao
envstring especificado, isto , o texto subseqente ao sinal de igual (=) na tabela de seqncia de
ambiente daquela varivel de ambiente.
Se voc especificar number, a seqncia que ocupa aquela posio numrica na tabela de
seqncia de ambiente ser retornada. Neste caso, Environ retornar todo o texto, incluindo
envstring. Se no houver seqncia de ambiente na posio especificada, Environ retornar uma
seqncia de comprimento zero.
Instruo FileCopy
Copia um arquivo.
Sintaxe
FileCopy source, destination
A sintaxe da instruo FileCopy possui os argumentos nomeados a seguir:
Parte
source
destination
Descrio
Obrigatrio. Expresso de seqncia que especifica o nome
do arquivo a ser copiado. Source pode incluir diretrio ou
pasta e unidade de disco.
Obrigatrio. Expresso de seqncia que especifica o nome
do arquivo de destino. Destination pode incluir diretrio ou
pasta e unidade de disco.
Comentrios
Se voc tentar utilizar a instruo FileCopy em um arquivo atualmente aberto, um erro ser gerado.
Funo FileDateTime
Retorna um Variant (Date) que indica a data e hora em que um arquivo foi criado ou modificado pela
ltima vez.
Sintaxe
FileDateTime(nomedocaminho)
O argumento obrigatrio nomedocaminho uma expresso de seqncia que especifica um nome de
arquivo. O nomedocaminho pode incluir o diretrio ou pasta e a unidade de disco.
Funo FileLen
Retorna um Long que especifica o tamanho de um arquivo em bytes.
Sintaxe
FileLen(nomedocaminho)
O argumento obrigatrio nomedocaminho uma expresso de seqncia que especifica um arquivo.
O nomedocaminho pode incluir o diretrio ou pasta e a unidade de disco.
Comentrios
Se o arquivo especificado estiver aberto quando a funo FileLen for chamada, o valor retornado
representa o tamanho do arquivo imediatamente antes de ele ser aberto.
Observao Para obter o tamanho de um arquivo aberto, utilize a funo LOF.
Funo GetAttr
Retorna um Integer que representa os atributos de um arquivo, diretrio ou pasta.
Sintaxe
GetAttr(nomedocaminho)
O argumento obrigatrio nomedocaminho uma expresso de seqncia que especifica um nome de
arquivo. O nomedocaminho pode incluir o diretrio ou pasta e a unidade de disco.
Valores de retorno
O valor retornado por GetAttr a soma dos valores de atributos a seguir:
Constante
vbNormal
vbReadOnly
vbHidden
vbSystem
vbDirectory
vbArchive
Valor
0
1
2
4
16
32
Descrio
Normal
Somente leitura
Oculto
Sistema
Diretrio ou pasta
O arquivo foi alterado desde o ltimo backup
Observao Estas constantes so especificadas pelo Visual Basic para Aplicativos. Os nomes
podem ser utilizados em qualquer parte do seu cdigo no lugar dos valores reais.
Comentrios
Para determinar quais atributos esto definidos, utilize o operador And para efetuar uma comparao
bit a bit do valor retornado pela funo GetAttr e do valor do atributo individual de arquivo que voc
deseja. Se o resultado no for zero, o atributo ser definido para o arquivo nomeado. Por exemplo, o
valor de retorno da expresso And a seguir ser zero se o atributo Archive no estiver definido:
Instruo Kill
Exclui arquivos de um disco.
Sintaxe
Kill nomedocaminho
O argumento obrigatrio nomedocaminho uma expresso de seqncia que especifica um ou mais
nomes de arquivo a serem excludos. O nomedocaminho pode incluir o diretrio ou pasta e a unidade
de disco.
Comentrios
Kill suporta a utilizao de curingas de mltiplos caracteres (*) ou de caractere nico (?) para
especificar vrios arquivos.
Se voc tentar utilizar Kill para excluir um arquivo aberto, um erro ser gerado.
Observao Para excluir diretrios, utilize a instruo RmDir.
Instruo MkDir
Cria um novo diretrio ou pasta.
Sintaxe
MkDir caminho
O argumento obrigatrio caminho uma expresso de seqncia que identifica o diretrio ou pasta a
ser criado. O caminho pode incluir a unidade de disco. Se uma unidade no for especificada, MkDir
cria o novo diretrio ou pasta na unidade atual.
Instruo Name
Renomeia um arquivo, diretrio ou pasta no disco.
Sintaxe
Name nomeantigodocaminho As nomenovodocaminho
A sintaxe da instruo Name possui as partes a seguir:
Parte
nomeantigodocaminho
Nomenovodocaminho
Descrio
Obrigatrio. Expresso de seqncia que
especifica o nome de arquivo existente e sua
localizao pode incluir diretrio ou pasta e
unidade de disco.
Obrigatrio. Expresso de seqncia que
especifica o novo nome de arquivo e sua
localizao pode incluir diretrio ou pasta e
unidade de disco. O nome de arquivo
especificado por nomenovodocaminho no pode
j existir.
Comentrios
Tanto nomenovodocaminho quanto nomeantigodocaminho devem estar na mesma unidade. Se o
Funo QBColor
Retorna um Long que representa o cdigo de cores RGB correspondente ao nmero de cor
especificado.
Sintaxe
QBColor(cor)
O argumento obrigatrio cor um nmero inteiro no intervalo de 0 a 15.
Definies
O argumento cor possui as definies a seguir:
Nmero
0
1
2
3
4
5
6
7
Cor
Preto
Azul
Verde
Ciano
Vermelho
Magenta
Amarelo
Branco
Nmero
8
9
10
11
12
13
14
15
Cor
Cinza
Azul-claro
Verde-claro
Ciano-claro
Vermelho-claro
Magenta-claro
Amarelo-claro
Branco-brilhante
Comentrios
O argumento cor representa valores de cor utilizados por verses anteriores do Basic (como o
Microsoft Visual Basic para MS-DOS e o Basic Compiler). Comeando pelo byte menos significativo,
o valor retornado especifica os valores de vermelho, verde e azul utilizados para definir a cor
apropriada no sistema RGB utilizado pelo Visual Basic para Aplicativos.
Funo RGB
Retorna um nmero inteiro Long que representa um valor de cor RGB.
Sintaxe
RGB(red, green, blue
A sintaxe da funo RGB possui os argumentos nomeados a seguir:
Parte
red
green
blue
Descrio
Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a 255,
inclusive, que representa o componente vermelho da cor.
Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a.255,
inclusive, que representa o componente verde da cor.
Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a 255,
inclusive, que representa o componente azul da cor.
Comentrios
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Valor
do
vermelho
0
0
0
0
255
255
255
255
Valor
verde
0
0
255
255
0
0
255
255
do
Valor do azul
0
255
0
255
0
255
0
255
Instruo RmDir
Remove um diretrio ou pasta existente.
Sintaxe
RmDir caminho
O argumento obrigatrio caminho uma expresso de seqncia que identifica o diretrio ou pasta a
ser removida. O caminho pode incluir a unidade de disco. Se uma unidade no for especificada,
RmDir remove o diretrio ou pasta da unidade atual.
Comentrios
Se voc tentar utilizar RmDir em um diretrio ou pasta que contenha arquivos, um erro ser gerado.
Utilize a instruo Kill para excluir todos os arquivos antes de tentar a remoo de um diretrio ou
pasta.
Instruo SetAttr
Define as informaes de atributo de um arquivo.
Sintaxe
SetAttr pathname, attributes
A sintaxe da instruo SetAttr possui os argumentos nomeados a seguir:
Parte
pathname
Attributes
Descrio
Obrigatrio. Expresso de seqncia que especifica um
nome de arquivo pode incluir diretrio ou pasta e unidade
de disco.
Obrigatrio. Constante ou expresso numrica cuja soma
especifica os atributos do arquivo.
Definies
As definies do argumento attributes so:
Constante
Valor
Descrio
0
1
2
4
32
Normal (padro)
Somente leitura
Oculto
Arquivo do sistema
O arquivo foi alterado desde o ltimo backup
Observao Estas constantes so especificadas pelo Visual Basic para Aplicativos. Os nomes
podem ser utilizados em qualquer parte do seu cdigo no lugar dos valores reais.
Comentrios
Um erro em tempo de execuo ocorrer se voc tentar definir os atributos de um arquivo que esteja
aberto.
caracteres
no
as
no
Para arquivos abertos em modos diferentes do modo Aleatrio, Seek define a posio do byte em
que a prxima operao ocorre. Suponha que ARQUIVODETESTE seja um arquivo que contenha
algumas linhas de texto.
Dim TamanhoMax, PrximoCar, MeuCar
Open "ARQUIVODETESTE" For Input As #1
' Abre o arquivo para entrada.
TamanhoMax = LOF(1) ' Obtm o tamanho do arquivo em bytes.
' O loop l todos os caracteres a comear do ltimo.
For PrximoCar = TamanhoMax To 1 Step -1
Seek #1, PrximoCar ' Define a posio.
MeuCar = Input(1, #1)
' L os caracteres.
Next PrximoCar
Close #1 ' Fecha o arquivo.
Instruo Close
Conclui a entrada/sada (E/S) para um arquivo aberto utilizando-se a instruo Open.
Sintaxe
Close [listadenmerodoarquivo]
O argumento opcional listadenmerodoarquivo pode ser um ou mais nmeros de arquivo que utilizam
a sintaxe a seguir, onde nmerodoarquivo qualquer nmero de arquivo vlido:
[[#]nmerodoarquivo] [, [#]nmerodoarquivo] . . .
Comentrios
Se voc omitir listadenmerodoarquivo, todos os arquivos ativos abertos pela instruo Open sero
fechados.
Quando voc fecha os arquivos que foram abertos para Output ou Append, o buffer final de sada
gravado no buffer do sistema operacional referente ao arquivo. Todo o espao de buffer associado ao
arquivo fechado liberado.
Quando a instruo Close executada, encerra-se a associao de um arquivo com o seu nmero
de arquivo.
Funo EOF
Retorna um Integer contendo o valor Boolean True quando se chega ao final de um arquivo aberto
para Input seqencial ou Random.
Sintaxe
EOF(nmerodoarquivo)
O argumento obrigatrio nmerodoarquivo um Integer contendo qualquer nmero de arquivo
vlido.
Comentrios
Utilize EOF para evitar o erro gerado pela tentativa de inserir dados depois do final de um arquivo.
A funo EOF retorna False enquanto no o final do arquivo no alcanado. Com os arquivos
abertos para o acesso Random ou Binary, EOF retorna False at que a ltima instruo Get
executada no possa ler um registro inteiro.
Com os arquivos abertos para acesso Binary, uma tentativa de leitura do arquivo utilizando-se a
funo Input at que EOF retorne True gera um erro. Utilize as funes LOF e Loc em vez de EOF
ao ler os arquivos binrios com Input ou utilize Get ao utilizar a funo EOF. Com os arquivos
abertos para Output, EOF sempre retorna True.
Funo FileAttr
Retorna um Long representando o modo de arquivo para arquivos abertos com a instruo Open.
Sintaxe
FileAttr(filenumber, returntype)
A sintaxe da funo FileAttr possui os argumentos nomeados a seguir:
Parte
Descrio
filenumber
returntype
Valor
Input
Output
Random
Append
Binary
1
2
4
8
32
Funo FreeFile
Retorna um Integer representando o prximo nmero de arquivo disponvel para utilizao pela
instruo Open.
Sintaxe
FreeFile[(nmerodointervalo)]
O argumento opcional nmerodointervalo um Variant que especifica o intervalo a partir do qual o
prximo nmero de arquivo disponvel deve ser retornado. Especifique 0 (padro) para retornar um
nmero de arquivo no intervalo de 1 a 255, inclusive. Especifique 1 para retornar um nmero de
arquivo no intervalo de 256 a 511.
Comentrios
Utilize FreeFile para fornecer um nmero de arquivo que no esteja j sendo utilizado.
Instruo Get
L os dados a partir de um arquivo de disco aberto e os coloca em uma varivel.
Sintaxe
Get [#]nmerodoarquivo, [nmerodoreg], nomedavar
A sintaxe da instruo Get possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
nmerodoreg
nomedavar
Comentrios
A leitura de dados com Get normalmente gravada em um arquivo com Put.
O primeiro registro ou byte em um arquivo encontra-se na posio 1, o segundo registro ou byte
encontra-se na posio 2 e assim por diante. Se voc omitir nmerodoreg, o prximo registro ou byte
aps a ltima instruo Get ou Put (ou apontado pela ltima funo Seek) ser lido. Voc deve incluir
as vrgulas delimitadoras, por exemplo:
Get #4,,FileBuffer
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
clusula Len da instruo Open, Get l os registros subseqentes nos limites de comprimento dos
registros. O espao entre o final de um registro e o comeo do prximo preenchido com o
contedo existente do buffer do arquivo. Como a quantidade dos dados de preenchimento no
pode ser determinada com segurana, aconselhvel fazer com que o tamanho do registro
corresponda ao comprimento dos dados que esto sendo lidos.
Se a varivel que est sendo lida for uma seqncia de caracteres de comprimento varivel, Get l
um descritor de 2 bytes contendo o comprimento da seqncia de caracteres e, em seguida, l os
dados da varivel. Entretanto, o comprimento do registro especificado pela clusula Len na
instruo Open deve ser pelo menos 2 bytes maior do que o comprimento real da seqncia de
caracteres.
Se a varivel que est sendo lida for um Variant de tipo numrico, Get ler 2 bytes que identificam
o VarType de Variant e, em seguida, os dados da varivel. Por exemplo, ao ler um Variant de
VarType 3, Get l 6 bytes: 2 bytes que identificam o Variant como VarType 3 (Long) e 4 bytes
que contm os dados Long. O comprimento do registro especificado pela clusula Len na
instruo Open deve ser pelo menos 2 bytes maior do que o nmero de bytes real necessrio para
armazenar a varivel.
Observao Voc pode utilizar a instruo Get para ler uma matriz Variant a partir do disco, mas
no pode utilizar Get para ler um Variant escalar contendo uma matriz. Voc no pode tambm
utilizar Get para ler os objetos a partir do disco.
Se a varivel que est sendo lida for um Variant de VarType 8 (String), Get l 2 bytes que
Instruo Input #
L os dados de um arquivo seqencial aberto e atribui os dados s variveis.
Sintaxe
Input #nmerodoarquivo, listadevar
A sintaxe da instruo Input # possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
listadevar
Comentrios
Os dados lidos com Input # so geralmente gravados em um arquivo com Write #. Utilize essa
instruo somente com arquivos abertos no modo Input ou Binary.
Quando lidos, seqncias de caracteres padro ou dados numricos so atribudos s variveis sem
modificao. A tabela a seguir ilustra como outros dados de sada so tratados:
Dados
Vrgula delimitadora ou
linha em branco
#NULL#
#TRUE# ou #FALSE#
#dd-mm-aaaa hh:mm:ss#
#ERROR
nmerodoerro#
Empty
Null
True ou False
A data e/ou hora representada pela expresso
nmerodoerro (varivel um Variant marcado
como um erro)
Funo Input
Retorna String contendo os caracteres de um arquivo aberto no modo Input ou Binary.
Sintaxe
Input(nmero, [#]nmerodoarquivo)
A sintaxe da funo Input possui as partes a seguir:
Parte
Descrio
nmero
nmerodoarquivo
Comentrios
Os dados lidos com a funo Input so normalmente gravados em um arquivo com Print # ou Put.
Utilize essa funo apenas com arquivos abertos no modo Input ou Binary.
Ao contrrio da instruo Input #, a funo Input retorna todos os caracteres que l, incluindo
vrgulas, retornos de carro, alimentaes de linha, aspas e espaos esquerda.
Com arquivos abertos para acesso Binary, uma tentativa de se ler o arquivo utilizando a funo Input
at que EOF retorne True gera um erro. Utilize as funes LOF e Loc em vez de EOF quando estiver
lendo arquivos binrios com Input ou utilize Get quando utilizar a funo EOF.
Observao Utilize a funo InputB para dados de bytes contidos em arquivos de texto. Com
InputB, nmero especifica o nmero de bytes a serem retornados em vez do nmero de caracteres a
serem retornados.
Descrio
nmerodoarquivo
nomedavar
Comentrios
Os dados lidos com Line Input # so geralmente gravados a partir de um arquivo com Print #.
A instruo Line Input # l um caractere do arquivo de cada vez, at encontrar um retorno de carro
(Chr(13)) ou uma seqncia de retorno de carro alimentao de linha (Chr(13) + Chr(10)). As
seqncias de retorno de carro alimentao de linha so ignoradas em vez de serem anexadas
seqncia de caracteres.
Funo Loc
Retorna um Long especificando a posio de leitura/gravao atual dentro de um arquivo aberto.
Sintaxe
Loc(nmerodoarquivo)
O argumento obrigatrio nmerodoarquivo pode ser qualquer nmero de arquivo Integer vlido.
Comentrios
A tabela abaixo descreve o valor de retorno para cada modo de acesso a arquivo:
Modo
Valor de retorno
Random
Sequential
Binary
intervalodoregistro]
Descrio
nmerodoarquivo
intervalodoregistro
Definies
As definies do argumento intervalodoregistro so:
nmerodoreg | [incio] To fim
Definio
Descrio
nmerodoreg
incio
fim
Comentrios
As instrues Lock e Unlock so utilizadas em ambientes onde vrios processos podem precisar ter
acesso ao mesmo arquivo.
As instrues Lock e Unlock so sempre utilizadas aos pares. Os argumentos para Lock e Unlock
devem ter correspondncia exata.
O primeiro registro ou byte em um arquivo encontra-se na posio 1, o segundo registro ou byte na
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo LOF
Retorna um Long representando o tamanho, em bytes, de um arquivo aberto com a instruo Open.
Sintaxe
LOF(nmerodoarquivo)
O argumento obrigatrio nmerodoarquivo um Integer que contm um nmero de arquivo vlido.
Observao Utilize a funo FileLen para obter o comprimento de um arquivo que no est aberto.
Instruo Open
Possibilita a entrada/sada (E/S) para um arquivo.
Sintaxe
Open nomedocaminho For
[Len=comprimentodoreg]
modo
[Access
acesso]
[bloqueio]
As
[#]nmerodoarquivo
Descrio
nomedocaminho
modo
acesso
bloqueio
nmerodoarquivo
comprimentodoreg
Instruo Print #
Grava os dados formatados para tela em um arquivo seqencial.
Sintaxe
Print #nmerodoarquivo, [listadesada]
A sintaxe da instruo Print # possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
listadesada
Definies
As definies do argumento listadesada so:
[{Spc(n) | Tab[(n)]}] [expresso] [posdocarac]
Definio
Descrio
Spc(n)
Tab(n)
expresso
posdocarac
Comentrios
Os dados gravados com Print # so geralmente lidos a partir de um arquivo com Line Input # ou
Input.
Se voc omitir listadesada e incluir apenas um separador de lista aps nmerodoarquivo, uma linha
Instruo Put
Grava os dados a partir de uma varivel para um arquivo em disco.
Sintaxe
Put [#]nmerodoarquivo, [nmerodoreg], nomedavar
A sintaxe da instruo Put possui as partes a seguir:
Parte
Descrio
nmerodoarq
uivo
nmerodoreg
nomedavar
Comentrios
Os dados gravados com Put so geralmente lidos de um arquivo com Get.
O primeiro registro ou byte em um arquivo encontra-se na posio 1, o segundo registro ou byte na
posio 2 e assim por diante. Se nmerodoreg for omitido, o prximo registro ou byte aps a ltima
instruo Get ou Put ou aquele apontado pela ltima funo Seek ser gravado. Voc deve incluir as
vrgulas de delimitao, por exemplo:
Put #4,,FileBuffer
Para os arquivos abertos no modo Random, so aplicadas as regras a seguir:
Se o comprimento dos dados que esto sendo gravados for menor do que o comprimento
especificado na clusula Len da instruo Open, Put grava os registros subseqentes nos limites
do comprimento do registro. O espao entre o final de um registro e o incio do prximo registro
preenchido com o contedo existente do buffer do arquivo. Como a quantidade dos dados de
Os 118 bytes so distribudos da seguinte forma: 18 bytes para o descritor (2 + 8 * 2) e 100 bytes
Instruo Reset
Fecha todos os arquivos em disco abertos com a instruo Open.
Sintaxe
Reset
Comentrios
A instruo Reset fecha todos os arquivos ativos abertos pela instruo Open e grava em disco o
contedo de todos os buffers de arquivo.
Funo Seek
Retorna um Long especificando a posio atual de leitura/gravao dentro de um arquivo aberto
utilizando-se a instruo Open.
Sintaxe
Seek(nmerodoarquivo)
O argumento obrigatrio nmerodoarquivo um Integer contendo um nmero de arquivo vlido.
Comentrios
Seek retorna um valor entre 1 e 2.147.483.647 (equivalente a 2^31 1), inclusive.
A tabela a seguir descreve os valores de retorno para cada modo de acesso a arquivos.
Modo
Valor de retorno
Random
Binary
Output,
Append
e
Input
Instruo Seek
Define a posio da prxima operao de leitura/gravao dentro de um arquivo aberto com a
instruo Open.
Sintaxe
Seek [#]nmerodoarquivo, posio
A sintaxe da instruo Seek possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
posio
Comentrios
Os nmeros de registro especificados nas instrues Get e Put sobrepem-se posio de arquivo
efetuada por Seek.
Funo Spc
Utilizada com a instruo Print # ou o mtodo Print para posicionar a sada.
Sintaxe
Spc(n)
O argumento obrigatrio n o nmero de espaos a serem inseridos antes da exibio ou impresso
da prxima expresso em uma lista.
Comentrios
Se n for menor que a largura da linha de sada, a prxima posio de impresso seguir
imediatamente o nmero de espaos impressos. Se n for maior que a largura da linha de sada, Spc
calcular a prxima posio de impresso utilizando a frmula:
posioatualdaimpresso + (n Mod largura)
Por exemplo, se a posio atual da impresso for 24, a largura da linha de sada for 80 e voc
especificar Spc(90), a prxima impresso comear na posio 34 (a posio atual de impresso + o
resto de 90/80). Se a diferena entre a posio atual da impresso e a largura da linha de sada for
menor do que n (ou n Mod largura), a funo Spc passar para o incio da prxima linha e gerar
espaos iguais a n (largura posioatualdaimpresso).
Observao
Certifique-se de que suas colunas tabulares sejam largas o suficiente para
acomodarem letras largas.
Quando voc utiliza o mtodo Print com uma fonte proporcionalmente espaada, a largura dos
caracteres de espao impressos com a funo Spc sempre uma mdia da largura de todos os
caracteres em tamanho de pontos para a fonte escolhida. Contudo, no h correlao entre o nmero
de caracteres impressos e o nmero de colunas de largura fixa que esses caracteres ocupam. Por
exemplo, a letra maiscula W ocupa mais do que uma coluna de largura fixa e a letra minscula i
ocupa menos.
Funo Tab
Utilizada com a instruo Print # ou o mtodo Print para posicionar a sada.
Sintaxe
Tab[(n)]
O argumento opcional n representa o nmero da coluna que movido antes da exibio ou
impresso da prxima expresso em uma lista. Se for omitido, Tab move o ponto de insero para o
incio da prxima zona de impresso. Isso permite que Tab seja utilizado em vez de uma vrgula nas
localidades onde a vrgula utilizada como um separador decimal.
Comentrios
Se a posio atual de impresso na linha atual for maior do que n, Tab pula para a coluna de nmero
n da prxima linha de sada. Se n for menor do que 1, Tab move a posio de impresso para a
coluna 1. Se n for maior do que a largura da linha de sada, Tab calcula a prxima posio de
impresso utilizando a frmula:
n Mod largura
Por exemplo, se a largura for 80 e voc especificar Tab(90), a prxima impresso comear na
coluna 10 (o resto de 90/80). Se n for menor do que a posio atual de impresso, a impresso
comear na prxima linha na posio de impresso calculada. Se a posio de impresso calculada
for maior do que a posio atual de impresso, a impresso comear na posio de impresso
calculada na mesma linha.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Width #
Atribui uma largura de linha de sada a um arquivo aberto com a instruo Open.
Sintaxe
Width #nmerodoarquivo, largura
A sintaxe da instruo Width # possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
largura
Instruo Write #
Grava os dados em um arquivo seqencial.
Sintaxe
Write #nmerodoarquivo, [listadesada]
A sintaxe da instruo Write # possui as partes a seguir:
Parte
Descrio
nmerodoarquivo
listadesada
Comentrios
Os dados gravados com Write # so geralmente lidos a partir de um arquivo com Input #.
Se voc omitir listadesada e incluir uma vrgula aps nmerodoarquivo, uma linha em branco
impressa no arquivo. Vrias expresses podem ser separadas com um espao, um ponto-e-vrgula
ou uma vrgula. Um espao possui o mesmo efeito que um ponto-e-vrgula.
Quando Write # for utilizado para gravar dados em um arquivo, vrias hipteses universais so
seguidas para que os dados possam sempre ser lidos e interpretados corretamente utilizando Input
#, independente da localidade:
Os dados numricos so sempre gravados utilizando o ponto como separador decimal.
componente de data ou hora estiver faltando, ou for igual a zero, somente a parte fornecida
gravada no arquivo.
Se os dados de listadesada forem Empty, nada ser gravado no arquivo. Contudo, para dados
Null, #NULL# gravado.
Se os dados de listadesada forem Null, #NULL# gravado no arquivo.
Para os dados de Error, a sada aparece como #ERROR cdigodoerro#. A palavra-chave Error
Ao contrrio da instruo Print #, a instruo Write # insere vrgulas entre itens e aspas ao redor de
seqncias de caracteres assim que so gravadas no arquivo. Voc no precisa colocar
delimitadores explcitos na lista. Write # insere um caractere de linha nova, ou seja, um retorno de
carroalimentao de linha (Chr(13) + Chr(10)), aps ter gravado o ltimo caractere de listadesada
no arquivo.
Exemplo da funo FV
Este exemplo utiliza a funo FV para retornar o valor futuro de um investimento dada a taxa
percentual que se acumula por perodo (APR / 12), o nmero total de pagamentos (TotPgtos), o
pagamento (Pagamento), o valor atual do investimento (ValP) e um nmero que indica se o
pagamento feito no incio ou no fim do perodo de pagamento (TipoPag). Observe que, como
Pagamento representa dinheiro pago, um nmero negativo.
Dim Fmt, Pagamento, TPA, TotPgtos, TipoPag, ValP, ValF
Exemplo da funo PV
Neste exemplo, a funo PV retorna o valor presente de uma anuidade de $1.000.000 que fornecer
$50.000 por ano nos prximos 20 anos. So fornecidos a taxa de percentagem anual esperada (TPA),
o nmero total de pagamentos (TotPgtos), o valor de cada pagamento (SuaReceita), o valor total
do investimento (ValF) e o nmero que indica se cada pagamento feito no incio ou no final do
perodo de pagamento (TipoPag). Observe que SuaReceita um nmero negativo porque
representa o dinheiro pago da anuidade a cada ano.
Dim Fmt, TPA, TotPgtos, SuaReceita, ValF, TipoPag, ValP
Const PERODOFINAL = 0, PERODOINICIAL = 1
' Quando os pagamentos so
feitos.
Fmt = "###,##0.00" ' Define o formato monetrio.
TPA = .0825 ' Taxa de percentagem anual.
TotPgtos = 20 ' Nmero total de pagamentos.
SuaReceita = 50000 ' Receita anual.
Funo DDB
Retorna um Double que especifica a depreciao de um ativo para um perodo de tempo especfico
utilizando o mtodo de balano de declinao dupla ou algum outro mtodo que voc especifique.
Sintaxe
DDB(cost, salvage, life, period[,factor])
A funo DDB possui estes argumentos nomeados:
Parte
Descrio
cost
salvage
life
period
factor
Comentrios
O mtodo de balano de declinao dupla calcula a depreciao a uma taxa acelerada. A
depreciao mais alta no primeiro perodo e diminui nos perodos sucessivos.
Funo FV
Retorna um Double que especifica o valor futuro de uma anuidade com base em pagamentos fixos
peridicos e uma taxa de juros fixa.
Sintaxe
FV(rate, nper, pmt[, pv[, type]])
A funo FV tem os seguintes argumentos nomeados:
Parte Descrio
rate
nper
pmt
pv
type
Comentrios
Uma anuidade uma srie de pagamentos monetrios fixos efetuados durante um perodo de tempo.
A anuidade pode um emprstimo (como um financiamento imobilirio) ou um investimento (como uma
poupana mensal).
Os argumentos rate e nper devem ser calculados usando-se perodos de pagamento expressos nas
mesmas unidades. Por exemplo, se a rate for calculada usando meses, nper tambm deve ser
calculado usando meses.
Para todos os argumentos, a quantia paga (como depsitos em poupana) representada por
valores negativos; a quantia recebida (como cheques de dividendos) representada por nmeros
positivos.
Funo IPmt
Retorna um Double que especifica o pagamento de juros em um dado perodo de uma anuidade com
base em pagamentos fixos, peridicos e uma taxa de juros fixa.
Sintaxe
IPmt(rate, per, nper, pv[, fv[, type]])
A funo IPmt tem os seguintes argumentos nomeados:
Parte Descrio
rate
per
nper
pv
fv
type
Comentrios
Uma anuidade uma srie de pagamentos monetrios fixos efetuados em um perodo. A anuidade
pode ser um emprstimo (como um financiamento imobilirio) ou um investimento (como uma
poupana mensal).
Os argumentos rate e nper devem ser calculados usando-se perodos de pagamento expressos na
mesma unidade. Por exemplo, se rate for calculada usando meses, nper tambm deve ser calculado
usando meses.
Para todos os argumentos, o valor monetrio pago (como depsitos em poupana) representado
por nmeros negativos; o valor monetrio recebido (como cheques de dividendos) representado por
nmeros positivos.
Funo IRR
Retorna um Double que especifica uma taxa interna de retorno para uma srie de fluxos de caixa
peridicos (pagamentos e recebimentos).
Sintaxe
IRR(values()[, guess])
A funo IRR tem os seguintes argumentos nomeados:
Parte
Descrio
Comentrios
A taxa de retorno interna a taxa de juros recebida para um investimento consistindo em
pagamentos e recebimentos que ocorrem a intervalos regulares.
A funo IRR utiliza a ordem dos valores dentro da matriz para interpretar a ordem de pagamentos e
recebimentos. Certifique-se de inserir os valores dos seus pagamentos e recebimentos na seqncia
correta. O fluxo de caixa de cada perodo no precisa ser fixo, como com a anuidade.
IRR calculado por iterao. Comeando com o valor de guess, IRR calcula vrias vezes at que o
resultado seja exato dentro de 0,00001 porcento. Se IRR no puder encontrar um resultado aps 20
tentativas, ele falhar.
Funo MIRR
Retorna um Double que especifica a taxa interna de retorno modificada de uma srie de fluxos de
caixa peridicos (pagamentos e recebimentos).
Sintaxe
MIRR(values(), finance_rate, reinvest_rate)
A funo MIRR tem os seguintes argumentos nomeados:
Parte
Descrio
values()
finance_rate
reinvest_rate
Comentrios
Funo NPer
Retorna um Double que especifica o nmero de perodos para uma anuidade com base em
pagamentos fixos e peridicos e uma taxa de juros fixa.
Sintaxe
NPer(rate, pmt, pv [, fv [, type]])
A funo NPer tem os seguintes argumentos nomeados:
Parte Descrio
rate
pmt
pv
fv
type
Comentrios
Uma anuidade uma srie de pagamentos monetrios fixos efetuados em um perodo de tempo. A
anuidade pode ser um emprstimo (como um financiamento imobilirio) ou um investimento (como
uma poupana mensal).
Para todos os argumentos, o valor pago (como depsitos em poupana) representado por nmeros
negativos; o valor recebido (como cheques de dividendos) representado por nmeros positivos.
Funo NPV
Retorna um Double que especifica o valor presente lquido de um investimento com base em uma
srie de fluxos de caixa peridicos (pagamentos e recebimentos) e a taxa de desconto.
Sintaxe
NPV(rate, values())
A funo NPV tem os seguintes argumentos nomeados:
Parte
Descrio
rate
values()
Funo Pmt
Retorna um Double que especifica o pagamento de uma anuidade com base em pagamentos fixos,
peridicos e uma taxa de juros fixa.
Sintaxe
Pmt(rate, nper, pv [, fv [, type]])
A funo Pmt tem os seguintes argumentos nomeados:
Parte Descrio
rate
nper
pv
fv
type
Comentrios
Uma anuidade uma srie de pagamentos fixos a serem efetuados em um perodo. A anuidade pode
ser um emprstimo (como um financiamento imobilirio) ou um investimento (como uma poupana
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo PPmt
Retorna um Double que especifica o pagamento principal por um dado perodo de uma anuidade
com base em pagamentos fixos e uma taxa de juros fixa.
Sintaxe
PPmt(rate, per, nper, pv [, fv [, type]])
A funo PPmt tem os seguintes argumentos nomeados:
Parte Descrio
rate
per
nper
pv
fv
type
Comentrios
Uma anuidade uma srie de pagamentos fixos efetuados em um perodo. Ela pode ser um
emprstimo (como um financiamento imobilirio) ou um investimento (como uma poupana mensal).
Os argumentos rate e nper devem ser calculados usando-se perodos de pagamento expressos nas
mesmas unidades. Por exemplo, se a rate for calculada usando meses, nper deve tambm ser
calculado usando meses.
Para todos os argumentos, o valor pago (como depsitos em poupana) representado por nmeros
negativos; o valor recebido (como cheque de dividendo) representado por nmeros positivos.
Funo PV
Retorna um Double que especifica o valor presente de uma anuidade com base em pagamentos
fixos peridicos a serem pagos no futuro e taxas de juros fixas.
Sintaxe
PV(rate, nper, pmt[, fv[, type]])
A funo PV tem os seguintes argumentos nomeados:
Parte Descrio
rate
nper
pmt
fv
type
Comentrios
Uma anuidade uma srie de pagamentos monetrios fixos efetuados em um perodo de tempo. A
anuidade pode ser um emprstimo (como um financiamento imobilirio) ou um investimento (como
uma poupana mensal).
Os argumentos rate e nper devem ser calculados usando-se perodos de pagamento expressos nas
mesmas unidades. Por exemplo, se a rate for calculada usando meses, nper tambm deve ser
calculado usando meses.
Para todos os argumentos, o valor pago (como depsitos em poupana) representado por nmeros
negativos; o valor recebido (como cheques de dividendos) representado por nmeros positivos.
Funo Rate
Retorna um Double que especifica a taxa de juros por perodo da anuidade.
Sintaxe
Rate(nper, pmt, pv [, fv[, type[, guess]]])
A funo Rate tem os seguintes argumentos nomeados:
Parte
Descrio
nper
pmt
pv
fv
type
guess
Comentrios
Uma anuidade uma srie de pagamentos monetrios fixos efetuados em um perodo de tempo. A
anuidade pode ser um emprstimo (como um financiamento imobilirio) ou um investimento (como
uma poupana mensal).
Para todos os argumentos, o valor pago (como depsitos em poupana) representado por nmeros
negativos; o valor recebido (como cheques de dividendos) representado por nmeros positivos.
Rate calculado por iterao. Comeando com o valor guess, Rate calcula vrias vezes at que o
resultado seja exato dentro de 0,00001 porcento. Se Rate no puder encontrar um resultado aps 20
tentativas, ele falhar. Se sua estimativa for de 10 porcento e Rate falhar, tente um valor diferente
para guess.
Funo SLN
Retorna um Double que especifica uma depreciao em linha reta de um ativo para um perodo
nico.
Sintaxe
SLN(cost, salvage, life)
A funo SLN tem os seguintes argumentos nomeados:
Parte
Descrio
cost
salvage
life
Comentrios
O perodo de depreciao deve ser expresso na mesma unidade que o argumento life. Todos os
argumentos devem ser nmeros positivos.
Funo SYD
Retorna um Double que especifica a depreciao dos dgitos da soma dos anos de um ativo para um
perodo especificado.
Sintaxe
SYD(cost, salvage, life, period)
A funo SYD tem os seguintes argumentos nomeados:
Parte
Descrio
cost
salvage
life
period
Comentrios
Os argumentos life e period devem ser expressos nas mesmas unidades. Por exemplo, se life for
dado em meses, period tambm deve ser dado em meses. Todos os argumentos devem ser
nmeros positivos.
Declara
as
MinhaVar = ""
MeuControle = IsNull(MinhaVar)
MinhaVar = Null
MeuControle = IsNull(MinhaVar)
Funo IsArray
Retorna um valor Boolean que indica se uma varivel uma matriz.
Sintaxe
IsArray(nomedavar)
O argumento obrigatrio nomedavar um identificador que especifica uma varivel.
Comentrios
IsArray retornar True se a varivel for uma matriz; caso contrrio, retornar False. IsArray
especialmente til com variantes que contm matrizes.
Funo IsDate
Retorna um valor Boolean que indica se uma expresso pode ser convertida em uma data.
Sintaxe
IsDate(expresso)
O argumento obrigatrio expresso um Variant que contm uma expresso de data ou expresso
de seqncia que pode ser reconhecida como uma data ou hora.
Comentrios
IsDate retornar True se a expresso for uma data ou puder ser convertida em uma data vlida; caso
contrrio, retornar False. No Microsoft Windows, o intervalo de datas vlidas 1 de janeiro de 100
A.D. a 31 de dezembro de 9999 A.D. Os intervalos podem variar de um sistema operacional para
outro.
Funo IsEmpty
Retorna um valor Boolean que indica se uma varivel foi inicializada.
Sintaxe
IsEmpty(expresso)
O argumento obrigatrio expresso um Variant que contm uma expresso numrica ou expresso
de seqncia. Entretanto, por ser IsEmpty utilizado para determinar se variveis individuais so
inicializadas, o argumento expresso geralmente um nome de varivel nica.
Comentrios
IsEmpty retornar True se a varivel no tiver sido inicializada ou se tiver sido explicitamente
definida como Empty; caso contrrio, retornar False. Se expresso contiver mais de uma varivel,
False sempre ser retornado. IsEmpty retorna somente informaes significativas para variantes.
Funo IsError
Retorna um valor Boolean que indica se uma expresso um valor de erro.
Sintaxe
IsError(expresso)
O argumento obrigatrio expresso deve ser uma Variant do tipo VarType vbError.
Comentrios
Os valores de erro so criados pela converso de nmeros reais em valores de erro utilizando a
funo CVErr. A funo IsError utilizada para determinar se uma expresso numrica representa
um erro. IsError retornar True se o argumento expresso indicar um erro. Caso contrrio, retornar
False. IsError retorna somente informaes significativas para variantes de VarType vbError.
Funo IsMissing
Retorna um valor Boolean que indica se um argumento Variant opcional foi passado para um
procedimento.
Sintaxe
IsMissing(nomedoarg)
O argumento obrigatrio nomedoarg contm o nome de um argumento de procedimento Variant
opcional.
Comentrios
Utilize a funo IsMissing para detectar se argumentos Variant opcionais foram fornecidos ou no
na chamada de um procedimento. IsMissing retornar True se nenhum valor tiver sido passado para
o argumento especificado. Caso contrrio, retornar False. Se IsMissing retornar True para um
argumento, a utilizao do argumento ausente em outro cdigo pode gerar um erro definido pelo
usurio. Se IsMissing for utilizado em um argumento ParamArray, ele sempre retornar False. Para
detectar um ParamArray vazio, faa um teste para ver se o limite superior da matriz menor que seu
limite inferior.
Funo IsNull
Retorna um valor Boolean que indica se uma expresso contm dados que no so vlidos (Null).
Sintaxe
IsNull(expresso)
O argumento obrigatrio expresso um Variant que contm uma expresso numrica ou expresso
de seqncia.
Comentrios
IsNull retornar True se expresso for Null; caso contrrio, IsNull retornar False. Se expresso
consistir em mais de uma varivel, Null em qualquer varivel constituinte far com que True seja
retornado para a expresso inteira.
O valor Null indica que Variant contm dados que no so vlidos. Null no igual a Empty, o que
indica que uma varivel ainda no foi inicializada. Ele tambm no igual a uma seqncia de
comprimento zero (""), que, algumas vezes, referida como seqncia nula.
Importante
Utilize a funo IsNull para determinar se uma expresso contm um valor Null.
Expresses que voc esperaria serem avaliadas como True em algumas circunstncias, como If
Var = Null and If Var <> Null, so sempre False. Isto acontece porque qualquer expresso
que contenha um Null por si mesma Null e, portanto, False.
Funo IsNumeric
Retorna um valor Boolean que indica se uma expresso pode ser avaliada como um nmero.
Sintaxe
IsNumeric(expresso)
O argumento obrigatrio expresso um Variant que contm uma expresso numrica ou expresso
de seqncia.
Comentrios
IsNumeric retornar True se a expresso inteira for reconhecida como um nmero; caso contrrio,
retornar False.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo IsObject
Retorna um valor Boolean que indica se um identificador representa uma varivel de objeto.
Sintaxe
IsObject(identificador)
O argumento obrigatrio identificador um nome de varivel.
Comentrios
IsObject til somente para determinar se um Variant do VarType vbObject. Isto poderia ocorrer
se Variant realmente se referisse (ou se j se referiu) a um objeto ou se contiver Nothing.
IsObject retornar True se identificador for uma varivel declarada com o tipo Object ou qualquer
tipo de classe vlido, ou se identificador for um Variant de VarType vbObject, ou um objeto definido
pelo usurio; caso contrrio, retornar False. IsObject retornar True mesmo que a varivel tenha
sido definida como Nothing.
Utilize a interceptao de erro para se certificar de que a referncia a um objeto vlida.
Funo TypeName
Retorna uma String que fornece informaes sobre uma varivel.
Sintaxe
TypeName(nomedavar)
O argumento obrigatrio nomedavar uma Variant que contm qualquer varivel, exceto a de tipo
definido pelo usurio.
Comentrios
A seqncia de caracteres retornada por TypeName pode ser qualquer uma das seguintes:
Seqncia
caracteres
retornada
tipo de objeto
Byte
Integer
Long
Single
Double
Currency
Decimal
Date
String
Boolean
Error
Empty
Null
Object
Desconhecido
de
Varivel
Um objeto cujo tipo tipodeobjeto
Valor em bytes
Nmero inteiro
Inteiro longo
Nmero de vrgula flutuante de preciso simples
Nmero de vrgula flutuante de preciso dupla
Valor de moeda
Valor decimal
Valor de data
Seqncia de caracteres
Valor booleano
Um valor de erro
No-inicializada
Dados no-vlidos
Um objeto
Um objeto cujo tipo desconhecido
Se nomedavar for uma matriz, a seqncia de caracteres retornada pode ser qualquer uma das
seqncias retornadas possveis (ou Variant) com parnteses vazios anexados. Por exemplo, se
nomedavar for uma matriz de nmeros inteiros, TypeName retornar "Integer()".
Funo VarType
Retorna um Integer que indica o subtipo de uma varivel.
Sintaxe
VarType(nomedavar)
O argumento obrigatrio nomedavar um Variant que contm qualquer varivel, exceto uma do tipo
definido pelo usurio.
Valores de retorno
Constante
vbEmpty
vbNull
vbInteger
vbLong
vbSingle
Valor
0
1
2
3
4
vbDouble
vbCurrency
vbDate
vbString
vbObject
vbError
vbBoolean
vbVariant
6
7
8
9
10
11
12
vbDataObject
vbDecimal
vbByte
vbArray
13
14
17
8192
Descrio
Empty (no-inicializada)
Null (dados no-vlidos)
Nmero inteiro
Inteiro longo
Nmero de vrgula flutuante de
preciso simples
Nmero de vrgula flutuante de
preciso dupla
Valor de moeda
Valor da data
Seqncia de caracteres
Objeto
Valor do erro
Valor booleano
Variant (utilizada somente com
matrizes de variantes)
Um objeto de acesso de dados
Valor decimal
Valor em bytes
Matriz
Observao Estas constantes so especificadas pelo Visual Basic para Aplicativos. Os nomes
podem ser utilizados em qualquer parte do seu cdigo no lugar dos valores reais.
Comentrios
A funo VarType nunca retorna o valor de vbArray por si mesma. Ele sempre adicionado a algum
outro valor para indicar uma matriz de um tipo especfico. A constante vbVariant somente
retornada em conjunto com vbArray para indicar que o argumento para a funo VarType uma
matriz do tipo Variant. Por exemplo, o valor retornado para uma matriz de nmeros inteiros
calculado como vbInteger + vbArray ou 8194. Se um objeto possui uma propriedade padro,
VarType (objeto) retorna o tipo da propriedade padro do objeto.
Empty
A palavra-chave Empty utilizada como um subtipo de Variant. Ela indica um valor de varivel no
inicializada.
False
A palavra-chave False tem valor igual a 0.
Me
A palavra-chave Me comporta-se como uma varivel declarada implicitamente. Ela
automaticamente disponvel para cada procedimento em um mdulo de classe. Quando uma classe
pode ter mais de uma instncia, Me proporciona uma forma de referir a instncia especfica da classe
onde o cdigo est sendo executado. O uso de Me particularmente til para passar informaes
sobre a instncia de uma classe que est sendo atualmente executada para um procedimento em um
outro mdulo. Por exemplo, suponha que voc possua o seguinte procedimento em um mdulo:
Sub AlterarCorForm(NomeForm As Form)
NomeForm.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
End Sub
Voc pode chamar esse procedimento e passar a instncia atual da classe do Formulrio como um
argumento utilizando a seguinte instruo:
AlterarCorForm Me
Nothing
A palavra-chave Nothing utilizada para desassociar uma varivel de objeto de um objeto real. Use
a instruo Set para atribuir Nothing a uma varivel de objeto. Por exemplo:
Set MeuObjeto = Nothing
Diversas variveis de objeto podem se referir ao mesmo objeto real. Quando Nothing atribudo a
uma varivel de objeto, essa varivel no far mais referncia ao objeto real. Quando vrias variveis
de objeto se referirem ao mesmo objeto, os recursos de memria e sistema associados ao objeto ao
qual as variveis se referem so liberados somente aps todos eles terem sido definidos como
Nothing, usando Set de forma explcita ou implcita aps a ltima varivel de objeto definida como
Nothing sair do escopo.
Null
A palavra-chave Null utilizada como um subtipo de Variant. Ela indica que uma varivel no
contm dados vlidos.
True
A palavra-chave True tem valor igual a -1.
MeuNmero = Int(-99.2)
MeuNmero = Fix(-99.2)
'
'
'
'
Retorna
Retorna
Retorna
Gera um
2.
4.79583152331272.
0.
erro em tempo de execuo.
Funes matemticas
Funo Abs
Retorna um valor do mesmo tipo que passado para ele especificando o valor absoluto de um
nmero.
Sintaxe
Abs(nmero)
O argumento obrigatrio nmero pode ser qualquer expresso numrica vlida. Se nmero contiver
Null, ser retornado Null; se for uma varivel no inicializada, ser retornado zero.
Comentrios
O valor absoluto de um nmero sua magnitude sem sinal. Por exemplo, tanto ABS(-1) como
ABS(1) retornam 1.
Funo Atn
Retorna um Double que especifica o arco tangente de um nmero.
Sintaxe
Atn(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida.
Comentrios
A funo Atn toma a razo entre dois lados de um tringulo retngulo (nmero) e retorna o ngulo
correspondente em radianos. A razo o comprimento do lado oposto ao ngulo dividido pelo
comprimento do lado adjacente a ele.
O intervalo do resultado -pi/2 a pi/2 radianos.
Para converter graus em radianos, multiplique graus por pi/180. Para converter radianos em graus,
multiplique radianos por 180/pi.
Observao
Atn a funo trigonomtrica inversa de Tan, que toma um ngulo como seu
argumento e retorna a razo entre dois lados de um tringulo retngulo. No confunda Atn com a cotangente, que o inverso simples da tangente (1/tangente).
Funo Cos
Retorna um Double que especifica o co-seno de um ngulo.
Sintaxe
Cos(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida que expressa
um ngulo em radianos.
Comentrios
A funo Cos toma um ngulo e retorna a razo entre dois lados de um tringulo retngulo. A razo
o comprimento do lado adjacente ao ngulo dividido pelo comprimento da hipotenusa.
O resultado situa-se no intervalo -1 a 1.
Para converter graus em radianos, multiplique graus por pi/180. Para converter radianos em graus,
multiplique radianos por 180/pi.
Funo Exp
Retorna um Double que especifica e (a base dos logaritmos naturais) elevada a uma potncia.
Sintaxe
Exp(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida.
Comentrios
Se o valor de nmero exceder 709,782712893, ocorrer um erro. A constante e vale
aproximadamente 2,718282.
Observao
antilogaritmo.
Funo Log
Retorna um Double que especifica o logaritmo natural de um nmero.
Sintaxe
Log(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida maior que
zero.
Comentrios
O logaritmo natural o logaritmo com base e. A constante e vale aproximadamente 2,718282.
Voc pode calcular logaritmos de base n para qualquer nmero x dividindo o logaritmo natural de x
pelo logaritmo natural de n, como a seguir:
Logn(x) = Log(x) / Log(n)
O exemplo seguinte ilustra um Function personalizada que calcula logaritmos de base 10:
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Randomize
Inicializa o gerador de nmeros aleatrios.
Sintaxe
Randomize [nmero]
O argumento opcional nmero um Variant ou qualquer expresso numrica vlida.
Comentrios
Randomize utiliza nmero para inicializar o gerador de nmeros aleatrios da funo Rnd, dando-lhe
um novo valor de semente. Se voc omitir nmero, o valor retornado pelo cronmetro do sistema ser
utilizado como o novo valor de semente.
Se Randomize no for utilizado, a funo Rnd (sem argumentos) utilizar o mesmo nmero como
uma semente a primeira vez chamada, e da em diante utilizar o ltimo nmero gerado como valor
semente.
Observao
Para repetir seqncias de nmeros aleatrios, chame Rnd com um argumento
negativo imediatamente antes de utilizar Randomize com um argumento numrico. Utilizar
Randomize com o mesmo valor de nmero no repete a seqncia anterior.
Funo Rnd
Retorna um Single que contm um nmero aleatrio.
Sintaxe
Rnd[(nmero)]
O argumento opcional nmero um Single ou qualquer expresso numrica vlida.
Valores de Retorno
Se nmero for
Menor que zero
Maior que zero
Igual a zero
No fornecido
Rnd gera
O mesmo nmero todas as vezes, utilizando nmero
como semente.
O prximo nmero aleatrio na seqncia.
O nmero gerado mais recentemente.
O prximo nmero aleatrio na seqncia.
Comentrios
A funo Rnd retorna um valor menor que 1, mas maior ou igual a zero.
O valor de nmero determina como Rnd gera um nmero aleatrio:
Para qualquer semente inicial dada, a mesma seqncia de nmeros gerada porque cada chamada
que sucede a funo Rnd utiliza o nmero anterior como semente para o prximo nmero da
seqncia.
Antes de chamar Rnd, utilize a instruo Randomize sem argumento para inicializar o gerador de
nmeros aleatrios com uma semente baseada no cronmetro do sistema.
Para produzir nmeros inteiros aleatrios, utilize esta frmula:
Int((limitesuperior - limiteinferior + 1) * Rnd + limiteinferior)
Aqui, limitesuperior o nmero mais alto do intervalo e limiteinferior o nmero mais baixo.
Observao
Funo Sgn
Retorna um Variant (Integer) que indica o sinal de um nmero.
Sintaxe
Sgn(nmero)
O argumento obrigatrio nmero pode ser qualquer expresso numrica vlida.
Valores de retorno
Se nmero for
Maior que zero
Igual a zero
Menor que zero
Sgn retorna
1
0
-1
Comentrios
O sinal do argumento nmero determina o valor de retorno da funo Sgn.
Funo Sin
Retorna um Double que especifica o seno de um ngulo.
Sintaxe
Sin(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida que exprima
um ngulo em radianos.
Comentrios
A funo Sin toma um ngulo e retorna a razo entre dois lados de um tringulo retngulo. A razo
o comprimento do lado oposto ao ngulo dividido pelo comprimento da hipotenusa.
O resultado situa-se no intervalo -1 a 1.
Para converter graus em radianos, multiplique graus por pi/180. Para converter radianos em graus,
multiplique radianos por 180/pi.
Funo Sqr
Retorna um Double que especifica a raiz quadrada de um nmero.
Sintaxe
Sqr(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida maior ou igual
a zero.
Funo Tan
Retorna um Double que especifica a tangente de um ngulo.
Sintaxe
Tan(nmero)
O argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida que exprima
um ngulo em radianos.
Comentrios
Tan toma um ngulo e retorna a razo entre dois lados de um tringulo retngulo. A razo o
comprimento do lado oposto ao ngulo dividido pelo comprimento do lado adjacente.
Para converter graus em radianos, multiplique graus por pi/180. Para converter radianos em graus,
multiplique radianos por 180/pi.
Equivalentes derivadas
Sec(X) = 1 / Cos(X)
Cosec(X) = 1 / Sin(X)
Cotan(X) = 1 / Tan(X)
Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) 1) * (2 * Atn(1))
Arccosec(X) = Atn(X / Sqr(X * X 1)) + (Sgn(X) 1) * (2 * Atn(1))
Arccotan(X) = Atn(X) + 2 * Atn(1)
Sinh(X) = (Exp(X) Exp(-X)) / 2
Cosh(X) = (Exp(X) + Exp(-X)) / 2
Tanh(X) = (Exp(X) Exp(-X)) / (Exp(X) + Exp(-X))
Sech(X) = 2 / (Exp(X) + Exp(-X))
Cosech(X) = 2 / (Exp(X) Exp(-X))
Cotanh(X) = (Exp(X) + Exp(-X)) / (Exp(X) Exp(-X))
Arcsinh(X) = Log(X + Sqr(X * X + 1))
Arccosh(X) = Log(X + Sqr(X * X 1))
Arctanh(X) = Log((1 + X) / (1 X)) / 2
Arcsech(X) = Log((Sqr(-X * X + 1) + 1) / X)
Arccosech(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
Arccotanh(X) = Log((X + 1) / (X 1)) / 2
Logn(X) = Log(X) / Log(N)
Dim Inst As New Class1 ' Cria uma nova instncia da Class1.
Num = Num + 1 ' Incrementa Num e, em seguida, obtm um nome.
Msg = "Insira um nome para este objeto". & Chr(13) _
& "Pressione Cancelar para ver os nomes na coleo".
ONome = InputBox(Msg, "Nomeie a coleo de Items")
Inst.NomeDaInstncia = ONome
' Coloca o nome na instncia de objeto.
' Se o usurio inseriu o nome, adiciona-o coleo.
If Inst.NomeDaInstncia <> "" Then
' Adiciona o objeto nomeado coleo.
MinhasClasses.Add item := Inst, key := CStr(Num)
End If
' Limpa a referncia atual em preparao para a seguinte.
Set Inst = Nothing
Loop Until ONome = ""
For Each x In MinhasClasses
MsgBox x.NomeDaInstncia, , "Nome da instncia"
Next
Exemplo do mtodo Clear
Este exemplo utiliza o mtodo Clear do objeto Err para redefinir as propriedades numricas do objeto
Err como zero e as suas propriedades de seqncia de caracteres como seqncias de caracteres
de comprimento zero. Se Clear fosse omitido do cdigo a seguir, a caixa de dilogo de mensagem de
erro seria exibida a cada iterao do loop (depois que ocorresse um erro), independentemente de um
clculo sucessivo gerar ou no um erro. Voc pode simplesmente passar pelo cdigo para ver o
resultado.
Dim Resultado(10) As Integer ' Declara a matriz cujos elementos
' sero facilmente sobrecarregados.
Dim ind
On Error Resume Next ' Adia a interceptao do erro.
Do Until ind = 10
' Gera um erro ocasional ou armazena o resultado se no houver erro.
Resultado(ind) = Rnd * ind * 20000
If Err.Number <> 0 Then
MsgBox Err, , "Erro gerado: ", Err.HelpFile, Err.HelpContext
Err.Clear
' Limpa as propriedades do objeto Err.
End If
ind = ind + 1
Loop
SmithBillBD As Object
SmithAdamBD As Object
Aniversrios
SmithBillBD = Aniversrios.Item("SmithBill")
SmithAdamBD = Aniversrios("SmithAdam")
Mtodo Add
Adiciona um membro a um objeto Collection.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Descrio
objeto
item
key
before
after
Comentrios
Se o argumento before ou after for uma expresso de seqncia de caracteres ou uma expresso
numrica, ele deve fazer referncia a um membro existente da coleo, ou ocorrer um erro.
Tambm ocorrer um erro se uma key especificada duplicar a key de um membro existente da
coleo.
Mtodo Clear
Limpa todas as configuraes de propriedade do objeto Err.
Sintaxe
objeto.Clear
O objeto sempre o objeto Err.
Comentrios
Utilize Clear para limpar explicitamente o objeto Err aps um erro ter sido tratado, por exemplo,
quando voc utiliza a manipulao de erro diferida com On Error Resume Next. O mtodo Clear
chamado automaticamente sempre que qualquer uma das instrues a seguir for executada:
Qualquer tipo de instruo Resume
Exit Sub, Exit Function, Exit Property
Qualquer instruo On Error
Observao A construo On Error Resume Next pode ser prefervel a On Error GoTo ao tratar
erros gerados durante o acesso a outros objetos. Verificar Err aps cada interao com um objeto
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Mtodo Item
Retorna um membro especfico de um objeto Collection, seja por posio ou por chave.
Sintaxe
objeto.Item(ndice)
A sintaxe do mtodo Item tem o qualificador e parte do objeto a seguir:
Parte
Descrio
objeto
ndice
Comentrios
Se o valor fornecido como ndice no corresponder a nenhum membro existente da coleo, ocorrer
um erro.
O mtodo Item o mtodo padro de uma coleo. Por essa razo, as linhas de cdigo a seguir so
equivalentes:
Print MinhaColeo(1)
Print MinhaColeo.Item(1)
Mtodo Print
Imprime o texto no painel Imediato da janela Depurar.
Sintaxe
objeto.Print [listadesada]
A sintaxe do mtodo Print tem o seguinte qualificador e parte do objeto:
Parte
Descrio
objeto
Descrio
Spc(n)
Tab(n)
Comentrios
Vrias expresses podem ser separadas com um espao ou um ponto-e-vrgula.
Todos os dados impressos na janela Imediato so formatados de forma apropriada usando o
separador decimal para as configuraes de localidade especificadas para seu sistema. As palavraschave so colocadas no idioma apropriado do aplicativo host.
Para os dados Boolean, impresso True ou False. As palavras-chave True e False so
convertidas de acordo com a definio de localidade para o aplicativo host.
Os dados Date so gravados usando o formato de data padro reconhecido pelo seu sistema.
Quando faltam os componentes de data ou hora ou eles equivalem a zero, somente os dados
fornecidos so gravados.
Nada gravado se os dados de listadesada estiverem Empty. Contudo, se esses dados forem Null,
a sada ser Null. A palavra-chave Null convertida de forma apropriada na sada.
Para os dados com erro, a sada gravada como Error cdigoerro. A palavra-chave Error
convertida de forma apropriada na sada.
O objeto ser requerido se o mtodo for utilizado fora de um mdulo contendo um espao de exibio
padro. Por exemplo, ocorrer um erro se o mtodo for chamado em um mdulo padro sem
especificar um objeto, mas, se for chamado em um mdulo de formulrio, listadesada ser exibida no
formulrio.
Observao Como o mtodo Print tipicamente imprime com caracteres com espao proporcional,
no h correlao entre o nmero de caracteres impressos e o nmero de colunas de largura fixa que
esses caracteres ocupam. Por exemplo, uma letra larga, como o "W", ocupa mais do que uma coluna
de largura fixa, e uma letra estreita, como o "i", ocupa menos do que essa coluna. Para permitir os
casos em que os caracteres maiores do que a mdia sejam usados, suas colunas tabulares devem
ser posicionadas longe o suficiente umas das outras. De forma alternativa, voc pode imprimir
usando uma fonte de espaamento fixo (como Courier) para assegurar que cada caractere ocupe
somente uma coluna.
Mtodo Raise
Gera um erro de tempo de execuo.
Sintaxe
objeto.Raise number, source, description, helpfile, helpcontext
O mtodo Raise tem o qualificador de objeto e os argumentos nomeados a seguir:
Argumento
Descrio
objeto
number
source
description
helpfile
helpcontext
Comentrios
Todos os argumentos so opcionais com exceo de number. Se voc usar Raise sem especificar
alguns argumentos, e as configuraes de propriedade do objeto Err contiverem valores que tenham
sido removidos, esses valores serviro como os valores para o seu erro.
Raise utilizado para gerar erros de tempo de execuo e pode ser usado no lugar da instruo
Error. Raise til para gerar erros ao gravar mdulos de classe, pois o objeto Err fornece
informaes mais completas do que seria possvel se voc gerasse erros com a instruo Error. Por
exemplo, com o mtodo Raise, a fonte que gerou o erro pode ser especificada na propriedade
Source, a Ajuda on-line para o erro pode ser referida e assim por diante.
Mtodo Remove
Remove um membro de um objeto Collection.
Sintaxe
objeto.Remove ndice
A sintaxe do mtodo Remove tem o qualificador e parte do objeto a seguir:
Parte
Descrio
objeto
ndice
para
Instruo AppActivate
Ativa uma janela do aplicativo.
Sintaxe
AppActivate title[, wait]
A sintaxe da instruo AppActivate possui os argumentos nomeados a seguir:
Parte
Descrio
title
wait
Instruo Beep
Emite um som pelo alto-falante do computador.
Sintaxe
Beep
Comentrios
A freqncia e a durao do som dependem do hardware e do software do sistema e variam de um
computador para outro.
Funo Command
Retorna a parte argumento da linha de comando utilizada para executar o Microsoft Visual Basic ou
um programa executvel desenvolvido com o Visual Basic.
Sintaxe
Command
Comentrios
Quando o Visual Basic executado a partir da linha de comando, qualquer parte da linha de
comando que esteja aps /cmd passada ao programa como o argumento de linha de comando. No
exemplo a seguir, cmdlineargs representa as informaes de argumento retornadas pela funo
Command.
VB /Cmd cmdlineargs
Para aplicativos desenvolvidos com o Visual Basic e compilados para um arquivo .exe, Command
retorna qualquer argumento que aparea depois do nome do aplicativo na linha de comando. Por
exemplo:
MyApp cmdlineargs
Para descobrir de que forma os argumentos de linha de comando podem ser alterados na interface
do usurio do aplicativo que voc est utilizando, procure Argumentos de linha de comando na
Ajuda.
Funo InputBox
Exibe um aviso em uma caixa de dilogo, aguarda at que o usurio insira texto ou clique em um
boto e retorna um String com o contedo da caixa de texto.
Sintaxe
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
A sintaxe da funo InputBox possui os argumentos nomeados a seguir:
Parte
Descrio
prompt
title
default
xpos
ypos
helpfile
context
Comentrios
Quando helpfile e context so fornecidos, o usurio pode pressionar F1 para exibir o tpico de
Ajuda que corresponde ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, tambm
adicionam automaticamente um boto Ajuda caixa de dilogo. Se o usurio clicar em OK ou
pressionar ENTER, a funo InputBox retornar o que houver na caixa de texto. Se o usurio clicar
em Cancelar, a funo retornar uma seqncia de caracteres de comprimento zero ("").
Observao Para especificar mais que o primeiro argumento nomeado, voc deve utilizar InputBox
em uma expresso. Para omitir alguns argumentos posicionais, voc deve incluir o delimitador de
vrgula correspondente.
Funo MsgBox
Exibe uma mensagem em uma caixa de dilogo, aguarda que o usurio clique em um boto e retorna
um Integer que indica qual boto o usurio clicou.
Sintaxe
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
A sintaxe da funo MsgBox possui os argumentos nomeados a seguir:
Parte
Descrio
prompt
buttons
title
helpfile
context
Definies
As definies do argumento buttons so:
Constante
Valor
Descrio
vbOKOnly
VbOKCancel
VbAbortRetryIgnore
0
1
2
VbYesNoCancel
VbYesNo
VbRetryCancel
VbCritical
VbQuestion
VbExclamation
VbInformation
3
4
5
16
32
48
64
VbDefaultButton1
VbDefaultButton2
VbDefaultButton3
VbDefaultButton4
0
256
512
768
VbSystemModal
4096
O primeiro grupo de valores (05) descreve o nmero e o tipo de botes exibidos na caixa de dilogo;
o segundo grupo (16, 32, 48, 64) descreve o estilo de cone; o terceiro grupo (0, 256, 512) determina
qual boto o padro e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem.
Quando estiver somando nmeros para criar um valor final para o argumento buttons, utilize
somente um nmero de cada grupo.
Observao
Estas constantes so especificadas pelo Visual Basic para Aplicativos. Como
resultado, os nomes podem ser utilizados em qualquer lugar do seu cdigo em vez dos valores reais.
Valores de retorno
Constante
Valor
Descrio
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
1
2
3
4
5
6
7
OK
Cancelar
Abortar
Repetir
Ignorar
Sim
No
Comentrios
Quando helpfile e context so fornecidos, o usurio pode pressionar F1 para exibir o tpico da
Ajuda correspondente ao context. Alguns aplicativos host, por exemplo, o Microsoft Excel, tambm
adicionam automaticamente um boto Ajuda caixa de dilogo.
Se a caixa de dilogo exibir um boto Cancelar, pressionar a tecla ESC ter o mesmo efeito que clicar
em Cancelar. Se a caixa de dilogo contiver um boto Ajuda, ser fornecida a ajuda sensvel ao
contexto relativa caixa de dilogo. Entretanto, nenhum valor ser retornado at que um dos outros
botes seja clicado.
Observao
Para especificar mais do que o primeiro argumento nomeado, voc deve utilizar
MsgBox em uma expresso. Para omitir algum argumento posicional, voc deve incluir o delimitador
de vrgula correspondente.
Instruo SendKeys
Envia um ou mais pressionamentos de teclas para a janela ativa como se tivessem sido digitados no
teclado.
Sintaxe
SendKeys string[, wait]
A sintaxe da instruo SendKeys possui os argumentos nomeados a seguir:
Parte
Descrio
string
wait
TAB,
Tecla
Cdigo
BACKSPACE
BREAK
CAPS LOCK
DEL ou DELETE
SETA ABAIXO
END
ENTER
ESC
HELP
HOME
INS ou INSERT
SETA ESQUERDA
NUM LOCK
PAGE DOWN
PAGE UP
PRINT SCREEN
SETA DIREITA
SCROLL LOCK
TAB
SETA ACIMA
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
{DELETE} ou {DEL}
{DOWN}
{END}
{ENTER}ou ~
{ESC}
{HELP}
{HOME}
{INSERT} ou {INS}
{LEFT}
{NUMLOCK}
{PGDN}
{PGUP}
{PRTSC}
{RIGHT}
{SCROLLLOCK}
{TAB}
{UP}
{F1}
{F2}
{F3}
{F4}
{F5}
{F6}
{F7}
{F8}
{F9}
{F10}
{F11}
{F12}
{F13}
{F14}
{F15}
{F16}
F16
Para especificar teclas combinadas com qualquer combinao das teclas SHIFT, CTRL e ALT, preceda o
cdigo de teclas de um ou mais dos cdigos a seguir:
Tecla
SHIFT
CTRL
ALT
Cdigo
+
^
%
Para especificar que qualquer combinao de SHIFT, CTRL e ALT deve ser mantida pressionada
enquanto vrias outras teclas so pressionadas, coloque o cdigo dessas teclas entre parnteses.
Por exemplo, para especificar manter pressionada SHIFT enquanto E e C so pressionadas, utilize
"+(EC)". Para especificar manter pressionada SHIFT enquanto E pressionada, seguida de C sem
SHIFT, utilize "+EC".
Para especificar a repetio de teclas, utilize a forma{tecla nmero}. Voc deve colocar um
espao entre tecla e nmero. Por exemplo, {ESQUERDA 42} significa pressionar a tecla SETA
ESQUERDA 42 vezes; {h 10} significa pressionar H 10 vezes.
Observao Voc no pode utilizar SendKeys para enviar pressionamentos de teclas para um
aplicativo que no tenha sido projetado para ser executado no Microsoft Windows. Sendkeys
tambm no pode enviar a tecla PRINT SCREEN {PRTSC} a nenhum aplicativo.
32
[espao]
64
@ 96
33
65
97
34
"
66
98
35
67
99
36
68
100
37
69
101
38
&
70
102
39
'
71
103
**
40
72
104
**
41
73
105
10
**
42
74
106
11
43
75
107
12
44
76
108
13
**
45
77
109
14
46
78
110
15
47
79
111
16
48
80
112
17
49
81
113
18
50
82
114
19
51
83
115
20
52
84
116
21
53
85
117
22
54
86
118
23
55
87
W 119
24
56
88
120
25
57
89
121
26
58
90
122
27
59
91
123
28
60
<
92
124
29
61
93
125
30
62
>
94
126
31
63
95
127
Funo IMEStatus
Retorna um Integer especificando o modo Editor de Mtodo de Entrada (IME, Input Method Editor)
atual do Microsoft Windows; disponvel somente nas verses para o Extremo Oriente.
Sintaxe
IMEStatus
Valores de retorno
Os valores de retorno referentes localidade Japo so os seguintes:
Constante
Valor
Descrio
vbIMENoOP
vbIMEOn
vbIMEOff
vbIMEDisable
vbIMEHiragana
vbIMEKatakanaDbl
vbIMEKatakanaSng
0
1
2
3
4
5
6
vbIMEAlphaDbl
vbIMEAlphaSng
7
8
Valor
Descrio
vbIMENoOP
vbIMEOn
vbIMEOff
0
1
2
Para a localidade coreana, os primeiros cinco bits de retorno so definidos da seguinte forma:
Bit Valor
Descrio
Valor
Descrio
0
1
2
3
4
0
0
0
0
Nenhum
IME
instalado
IME desativado
Modo Ingls IME
Modo Banja (SB)
Modo Normal
IME instalado
1
1
1
1
IME ativado
Modo Hangeul
Modo Junja (DB)
Modo de Converso Hanja
Objeto Collection
Um objeto Collection um conjunto de itens ordenados que podem ser referidos como uma unidade.
Comentrios
O objeto Collection proporciona uma forma conveniente de se fazer referncia a um grupo
relacionado de itens como um objeto nico. Os itens, ou membros, de uma coleo precisam ser
relacionados somente pelo fato de existirem em uma coleo. Os membros de uma coleo no
precisam compartilhar o mesmo tipo de dados.
Uma coleo pode ser criada da mesma forma que os outros objetos so criados. Por exemplo:
Dim X As Nova Collection
Depois de uma coleo ser criada, os membros podem ser adicionados usando-se o mtodo Add e
removidos usando-se o mtodo Remove. Os membros especficos podem ser retornados da coleo
usando-se o mtodo Item, enquanto toda a coleo pode ser iterada utilizando-se a instruo For
Each...Next.
Objeto Debug
O objeto Debug envia a sada para a janela Imediato durante o tempo de execuo.
Objeto Err
Contm informaes sobre erros em tempo de execuo.
Comentrios
As propriedades do objeto Err so definidas pelo gerador de um erro o Visual Basic, um objeto ou
um programador de Visual Basic.
A propriedade padro do objeto Err Number. Como a propriedade padro pode ser representada
pelo nome do objeto Err, o cdigo escrito anteriormente utilizando a funo Err ou a instruo Err
no precisa ser modificado.
Quando ocorre um erro em tempo de execuo as propriedades do objeto Err so preenchidas com
informaes que identificam o erro de forma exclusiva e informaes que podem ser utilizadas para
manipular esse erro. Para gerar um erro em tempo de execuo em seu cdigo, use o mtodo Raise.
As propriedades do objeto Err so redefinidas como zero ou seqncias de comprimento zero ("")
aps qualquer forma da instruo Resume ou On Error e aps uma instruo Exit Sub, Exit
Function ou Exit Property dentro de uma rotina de manipulao de erro. O mtodo Clear pode ser
usado para redefinir Err de forma explcita.
Use o mtodo Raise, em vez da instruo Error, para gerar erros de tempo de execuo para um
mdulo de classe. Usar o mtodo Raise em outro cdigo depende da riqueza das informaes que
voc quer retornar. Em cdigos que utilizam instrues Error em vez do mtodo Raise para gerar
erros, as propriedades do objeto Err so atribudas aos seguintes valores padro quando Error
executado:
Propriedade
Valor
Number
Source
Description
Voc no precisa alterar o cdigo existente que utiliza o objeto Err e a instruo Error. Contudo,
utilizar o objeto Err e a instruo Error pode resultar em conseqncias no desejadas. Por exemplo,
mesmo que voc preencha as propriedades referentes ao objeto Err, elas sero redefinidas com os
valores padro indicados na tabela anterior assim que a instruo Error for executada. Embora voc
possa utilizar a instruo Error para gerar erros em tempo de execuo do Visual Basic, ela retida
principalmente para haver compatibilidade com o cdigo existente. Utilize o objeto Err, o mtodo
Raise e o mtodo Clear para os erros do sistema e em cdigo novo, especialmente para mdulos de
classe.
O objeto Err um objeto intrnseco com escopo global. No h necessidade de se criar uma instncia
dele em seu cdigo.
Exemplo do operador ^
Este exemplo utiliza o operador ^ para elevar um nmero potncia de um expoente.
Dim MeuValor
MeuValor = 2 ^ 2 ' Retorna 4.
MeuValor = 3 ^ 3 ^ 3 ' Retorna 19683.
MeuValor = (-5) ^ 3 ' Retorna -125.
Exemplo do operador +
Este exemplo utiliza o operador + para somar nmeros. O operador + tambm pode ser utilizado para
concatenar seqncias de caracteres. Entretanto, para eliminar a ambigidade, voc deve utilizar o
operador & em seu lugar. Se os componentes de uma expresso criada com o operador + inclurem
tanto seqncias de caracteres como numricas, ser atribudo o resultado aritmtico. Se os
componentes forem exclusivamente seqncias de caracteres, as seqncias de caracteres sero
concatenadas.
Dim MeuNmero, Var1, Var2
MeuNmero = 2 + 2 ' Retorna 4.
MeuNmero = 4257.04 + 98112 ' Retorna 102369,04.
Var1 = "34": Var2 = 6 ' Inicializa variveis mistas.
MeuNmero = Var1 + Var2 ' Retorna 40.
Var1 = "34": Var2 = "6" '
caracteres.
MeuNmero = Var1 + Var2 '
caracteres).
Inicializa
Retorna
"346"
variveis
com
(concatenao
seqncias
de
seqncias
de
de
Exemplo do operador *
Este exemplo utiliza o operador * para multiplicar dois nmeros.
Dim MeuValor
MeuValor = 2 * 2 ' Retorna 4.
MeuValor = 459.35 * 334.90 ' Retorna 153836,315.
Exemplo do operador /
Este exemplo utiliza o operador / para executar diviso de vrgula flutuante.
Dim MeuValor
MeuValor = 10 / 4 ' Retorna 2,5.
MeuValor = 10 / 3 ' Retorna 3,333333.
Exemplo do operador \
Este exemplo utiliza o operador \ para executar a diviso de inteiros.
Dim MeuValor
MeuValor = 11 \ 4 ' Retorna 2.
MeuValor = 9 \ 3 ' Retorna 3.
MeuValor = 100 \ 3 ' Retorna 33.
Retorna
"Controle
123
Exemplo do operador Or
Este exemplo utiliza o operador Or para executar a disjuno lgica em duas expresses.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null
MeuControle = A > B Or B > C '
MeuControle = B > A Or B > C '
MeuControle = A > B Or B > D '
MeuControle = B > D Or B > A '
MeuControle = A Or B ' Retorna
AqueleObjeto,
= SeuObjeto Is EsteObjeto
' Retorna True.
= AqueleObjeto Is EsteObjeto ' Retorna False.
que MeuObjeto <> OutroObjeto
= MeuObjeto Is AqueleObjeto ' Retorna False.
Resumo de operadores
Operadores
Descrio
Operadores aritmticos
Operadores de comparao
Operadores
de
concatenao
Operadores lgicos
Precedncia de operadores
Quando diversas operaes ocorrem em uma expresso, cada parte avaliada e resolvida em uma
ordem predeterminada chamada precedncia de operadores.
Quando as expresses contm operadores de mais de uma categoria, os operadores aritmticos so
avaliados em primeiro lugar, seguidos pelos operadores de comparao e, finalmente, pelos
operadores lgicos. Os operadores de comparao apresentam todos a mesma precedncia, ou seja,
so avaliados da esquerda para a direita na ordem em que aparecem. Os operadores lgicos e os
aritmticos so avaliados na ordem de precedncia a seguir:
Aritmticos
De comparao
Lgicos
Exponenciao (^)
Negao ()
Multiplicao e diviso (*, /)
Diviso de inteiros (\)
Mdulo aritmtico (Mod)
Adio e subtrao (+, )
Concatenao de seqncias
de caracteres (&)
Igualdade (=)
Desigualdade (<>)
Menor que (<)
Maior que (>)
Menor que ou igual a (<=)
Maior que ou igual a (>=)
Like
Is
Not
And
Or
Xor
Eqv
Imp
Quando a multiplicao e a diviso ocorrem ao mesmo tempo em uma expresso, cada operao
avaliada medida que ela ocorre da esquerda para a direita. Quando a adio e a subtrao ocorrem
ao mesmo tempo em uma expresso, cada operao avaliada na ordem em que aparece da
esquerda para a direita. Parnteses podem ser utilizados para ignorar a ordem de precedncia e
fazer com que algumas partes da expresso sejam avaliadas antes de outras. As operaes entre
parnteses so sempre executadas antes daquelas que se encontram fora deles. Dentro dos
parnteses, contudo, a precedncia de operadores mantida.
O operador de concatenao de seqncias de caracteres (&) no um operador aritmtico, mas
segue todos os operadores aritmticos e precede todos os operadores de comparao.
O operador Like apresenta a mesma precedncia de todos os operadores de comparao, mas , na
verdade, um operador de correspondncia de padro.
O operador Is um operador de comparao de referncia de objeto. Ele no compara objetos ou
seus valores; somente verifica e determina se duas referncias de objeto referem-se a um mesmo
objeto.
Operador ^
Utilizado para elevar um nmero potncia de um expoente.
Sintaxe
resultado = nmero^expoente
A sintaxe do operador ^ possui as partes a seguir:
Parte
Descrio
resultado
nmero
expoente
Comentrios
Um nmero pode ser negativo somente se expoente for um valor inteiro. Quando mais de uma
exponenciao efetuada em uma nica expresso, o operador ^ avaliado medida que
encontrado da esquerda para a direita.
Em geral, o tipo de dados de resultado um Double ou um Variant contendo um Double. No
entanto, se nmero ou expoente for uma expresso Null, resultado ser Null.
Operador +
Utilizado para somar dois nmeros.
Sintaxe
resultado = expresso1+expresso2
A sintaxe do operador + possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
Quando voc utiliza o operador +, pode no ser capaz de determinar se ocorrer a adio ou a
concatenao de seqncias de caracteres. Utilize o operador & para a concatenao de forma a
eliminar a ambigidade e fornecer cdigo autodocumentvel.
Se pelo menos uma expresso no for Variant, as regras a seguir se aplicam:
Se
Ento
Adiciona.
Concatena.
Adiciona.
Concatena.
Retorna
a outra
expresso
inalterada como resultado.
Um erro Type mismatch ocorre.
resultado Null.
Ento
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Adiciona.
Concatena.
Adiciona.
Para uma adio aritmtica simples envolvendo somente expresses de tipos de dados numricos, o
tipo de dados de resultado geralmente o mesmo da expresso mais precisa. A ordem de preciso,
da menos para a mais precisa, Byte, Integer, Long, Single, Double, Currency e Decimal. A
seguir so apresentadas excees a essa ordem:
Se
Um Single e um Long so
adicionados,
O tipo de dados de resultado for uma
variante de Long, Single ou Date
que ultrapasse o intervalo permitido,
O tipo de dados de resultado for uma
variante de Byte que ultrapasse o
intervalo permitido,
O tipo de dados de resultado for uma
variante de Integer que ultrapasse o
intervalo permitido,
Uma Date for adicionada a qualquer
tipo de dados,
um Double.
convertido
Double.
uma
variante
de
Se uma ou ambas as expresses forem Null, resultado ser Null. Se ambas as expresses forem
Empty, resultado ser um Integer. No entanto, se somente uma expresso for Empty, a outra ser
retornada inalterada como resultado.
Observao A ordem de preciso utilizada para adio e subtrao no a mesma utilizada pela
multiplicao.
Operador
Utilizado para encontrar a diferena entre dois nmeros ou para indicar o valor negativo em uma
expresso numrica.
Sintaxe 1
resultado = nmero1nmero2
Sintaxe 2
nmero
A sintaxe do operador possui as partes a seguir:
Parte
Descrio
resultado
nmero
nmero1
nmero2
Comentrios
Em Sintaxe 1, o operador o operador aritmtico de subtrao utilizado para encontrar a diferena
entre dois nmeros. Em Sintaxe 2, o operador utilizado como operador de negao unrio para
indicar o valor negativo de uma expresso.
O tipo de dados de resultado geralmente o mesmo da expresso mais precisa. A ordem de
preciso, da menos para a mais precisa, Byte, Integer, Long, Single, Double, Currency e
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Variant que
Se uma ou ambas as expresses forem Null, resultado ser Null. Se uma expresso for Empty, ela
ser tratada como 0.
Observao A ordem de preciso utilizada pela adio e subtrao no a mesma utilizada pela
multiplicao.
Operador *
Utilizado para multiplicar dois nmeros.
Sintaxe
resultado = nmero1*nmero2
A sintaxe do operador * possui as partes a seguir:
Parte
Descrio
resultado
nmero1
nmero2
Comentrios
O tipo de dados de resultado geralmente o mesmo da expresso mais precisa. A ordem de
preciso, da menos para a mais precisa, Byte, Integer, Long, Single, Currency, Double e
Decimal. A seguir esto algumas excees a essa ordem:
Se
Se uma ou ambas as expresses forem Null, resultado ser Null. Se uma expresso for Empty, ela
ser tratada como 0.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Operador /
Utilizado para dividir dois nmeros e retornar um resultado de vrgula flutuante.
Sintaxe
resultado = nmero1/nmero2
A sintaxe do operador / possui as partes a seguir:
Parte
Descrio
resultado
nmero1
nmero2
Comentrios
O tipo de dados de resultado geralmente um Double ou uma variante de Double. A seguir so
apresentadas excees a essa regra:
Se
Ambas
as
expresses
forem
expresses Byte, Integer ou Single,
Ambas
as
expresses
forem
variantes de Byte, Integer ou Single,
A diviso envolver um Decimal e
qualquer outro tipo de dados,
Se uma ou ambas as expresses forem Null, resultado ser Null. Qualquer expresso que seja
Empty ser tratada como 0.
Operador \
Utilizado para dividir dois nmeros e retornar um resultado inteiro.
Sintaxe
resultado = nmero1\nmero2
A sintaxe do operador \ possui as partes a seguir:
Parte
Descrio
resultado
nmero1
nmero2
Comentrios
Antes de a diviso ser realizada, as expresses numricas so arredondadas para expresses Byte,
Integer ou Long.
Em geral, o tipo de dados de resultado um Byte, uma variante de Byte, um Integer, uma variante
de Integer, um Long ou uma variante de Long, independente de resultado ser um nmero inteiro.
Qualquer parte fracionria truncada. No entanto, se qualquer expresso for Null, resultado ser
Null. Qualquer expresso que seja Empty ser tratada como 0.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Operador Mod
Utilizado para dividir dois nmeros e retornar somente o resto.
Sintaxe
resultado = nmero1 Mod nmero2
A sintaxe do operador Mod possui as partes a seguir:
Parte
Descrio
resultado
nmero1
nmero2
Comentrios
O operador de mdulo, ou resto, divide nmero1 por nmero2 (arredondando nmeros de vrgula
flutuante para inteiros) e retorna somente o resto como resultado. Por exemplo, na expresso a
seguir, A (resultado) igual a 5.
A = 19 Mod 6.7
Geralmente, o tipo de dados de resultado um Byte, uma variante de Byte, um Integer, uma
variante de Integer, um Long ou uma Variant contendo um Long, independente de resultado ser um
nmero inteiro ou no. Qualquer parte fracionria truncada. No entanto, se qualquer expresso for
Null, resultado ser Null. Qualquer expresso que seja Empty ser tratada como 0.
Operador &
Utilizado para forar a concatenao de seqncias de caracteres de duas expresses.
Sintaxe
resultado = expresso1 & expresso2
A sintaxe do operador & possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
Se uma expresso no for uma seqncia de caracteres, ela ser convertida para uma variante de
String. O tipo de dados de resultado String se ambas as expresses forem expresses de
seqncia de caracteres; caso contrrio, resultado ser uma variante de String. Se ambas as
expresses forem Null, resultado ser Null. No entanto, se somente uma expresso for Null, essa
expresso ser tratada como uma seqncia de caracteres de comprimento zero ("") quando
concatenada com outra expresso. Qualquer expresso que seja Empty tratada tambm como
uma seqncia de caracteres de comprimento zero.
Operadores de comparao
Utilizados para comparar expresses.
Sintaxe
resultado = expresso1 operadordecomparao expresso2
resultado = objeto1 Is objeto2
resultado = seqnciadecaracteres Like padro
Os operadores de comparao possuem as partes a seguir:
Parte
Descrio
resultado
expresso
operadordecomparao
objeto
seqnciadecaracteres
padro
Comentrios
A tabela a seguir contm uma lista dos operadores de comparao e as condies que determinam
se resultado True, False ou Null:
Operador
True se
False se
Null se
expresso1 <
expresso2
expresso1 <=
expresso2
expresso1 >=
expresso2
expresso1
>
expresso2
expresso1
ou
expresso2 = Null
expresso1
ou
expresso2 = Null
expresso1 >
expresso2
expresso1 >=
expresso2
expresso1 =
expresso2
expresso1 <>
expresso2
expresso1 <=
expresso2
expresso1
<
expresso2
expresso1 <>
expresso2
expresso1
=
expresso2
expresso1
ou
expresso2 = Null
expresso1
ou
expresso2 = Null
expresso1
ou
expresso2 = Null
expresso1
ou
expresso2 = Null
<=
(Menor
que ou igual
a)
> (Maior que)
>= (Maior que
ou igual a)
= (Igual a)
<> (Diferente
de)
Ento
Efetuam
numrica.
uma
comparao
Se tanto expresso1 quanto expresso2 so expresses Variant, seus tipos bsicos determinam
como elas sero comparadas. A tabela a seguir mostra como as expresses so comparadas ou o
resultado da comparao, dependendo do tipo bsico da Variant:
Se
Ento
Efetuam
uma
comparao
numrica.
Efetuam uma comparao de
seqncias de caracteres.
A expresso numrica menor
que a expresso de seqncia
de caracteres.
Efetuam
uma
comparao
numrica, utilizando 0 como a
expresso Empty.
Efetuam uma comparao de
seqncia
de
caracteres,
utilizando uma seqncia de
caracteres de comprimento zero
("") como a expresso Empty.
As expresses so iguais.
Operador And
Utilizado para efetuar uma conjuno lgica em duas expresses.
Sintaxe
resultado = expresso1 And expresso2
A sintaxe do operador And possui as partes a seguir:
Parte
Descrio
resultado
expresso1
Comentrios
Se ambas as expresses forem avaliadas como True, resultado ser True. Se uma das expresses
for avaliada como False, resultado ser False. A tabela a seguir mostra como resultado
determinado:
Se expresso1 for
E expresso2 for
O resultado ser
True
True
True
False
False
False
Null
Null
Null
True
False
Null
True
False
Null
True
False
Null
True
False
Null
False
False
False
Null
False
Null
O operador And tambm efetua uma comparao bit-a-bit dos bits posicionados da mesma forma em
duas expresses numricas e define o bit correspondente em resultado de acordo com a tabela a
seguir:
Se o bit na
expresso1 for
E o bit na
expresso2 for
O resultado ser
0
0
1
1
0
1
0
1
0
0
0
1
Operador Eqv
Utilizado para efetuar uma equivalncia lgica em duas expresses.
Sintaxe
resultado = expresso1 Eqv expresso2
A sintaxe do operador Eqv possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
Se uma das expresses for Null, resultado tambm ser Null. Se nenhuma das expresses for Null,
resultado ser determinado de acordo com a tabela a seguir:
Se expresso1 for
E expresso2 for
O resultado ser
True
True
False
False
True
False
True
False
True
False
False
True
O operador Eqv executa uma comparao bit-a-bit dos bits posicionados da mesma forma em duas
expresses numricas e define o bit correspondente em resultado de acordo com a tabela a seguir:
Se o bit na
expresso1 for
E
o
bit
na
expresso2 for
O resultado ser
0
1
0
1
1
0
0
1
Operador Imp
Utilizado para efetuar uma implicao lgica em duas expresses.
Sintaxe
resultado = expresso1 Imp expresso2
A sintaxe do operador Imp possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
A tabela a seguir mostra como resultado determinado:
Se expresso1 for
E expresso2 for
O resultado ser
True
True
True
False
False
False
Null
Null
Null
True
False
Null
True
False
Null
True
False
Null
True
False
Null
True
True
True
True
Null
Null
O operador Imp efetua uma comparao bit-a-bit dos bits posicionados da mesma forma em duas
expresses numricas e define o bit correspondente em resultado de acordo com a tabela a seguir:
Se o bit na expresso1 for
O resultado ser
0
0
1
1
0
1
0
1
1
1
0
1
Operador Not
Utilizado para efetuar uma negao lgica em uma expresso.
Sintaxe
resultado = Not expresso
A sintaxe do operador Not possui as partes a seguir:
Parte
Descrio
resultado
expresso1
Comentrios
A tabela a seguir mostra como resultado determinado:
Se expresso for
True
False
Null
False
True
Null
Alm disso, o operador Not inverte os valores de bit de qualquer varivel e define o bit
correspondente em resultado de acordo com a tabela a seguir:
Se o bit na
expresso for
Ento
ser
0
1
1
0
bit
em
resultado
Operador Or
Utilizado para efetuar uma disjuno lgica em duas expresses.
Sintaxe
resultado = expresso1 Or expresso2
A sintaxe do operador Or possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
Se uma ou ambas as expresses forem True, resultado ser True. A tabela a seguir mostra como
resultado determinado:
Se expresso1 for
E expresso2 for
True
True
True
False
False
False
Null
Null
True
False
Null
True
False
Null
True
False
True
True
True
True
False
Null
True
Null
Null
Null
O operador Or tambm efetua uma comparao bit-a-bit dos bits posicionados da mesma forma em
duas expresses numricas e define o bit correspondente em resultado de acordo com a tabela a
seguir:
Se o bit na
expresso1 for
0
0
1
1
E o bit na
expresso2 for
0
1
0
1
Operador Xor
Utilizado para efetuar uma excluso lgica em duas expresses.
Sintaxe
[resultado =] expresso1 Xor expresso2
A sintaxe do operador Xor possui as partes a seguir:
Parte
Descrio
resultado
expresso1
expresso2
Comentrios
Se uma, e somente uma, das expresses resultar em True, resultado ser True. No entanto, se uma
das expresses for Null, resultado tambm ser Null. Quando nenhuma das expresses for Null,
resultado ser determinado de acordo com a tabela a seguir:
Se expresso1 for
E expresso2 for
True
True
False
False
True
False
True
False
False
True
True
False
O operador Xor funciona tanto como um operador lgico quanto bit-a-bit. Uma comparao bit-a-bit
de duas expresses utilizando Xor lgico para definir o resultado, como mostrado na tabela a seguir:
Se o bit na
expresso1 for
E o bit na
expresso2 for
O resultado ser
0
0
1
1
0
1
0
1
0
1
1
0
Operador Is
Utilizado para comparar duas variveis de referncia de objeto.
Sintaxe
resultado = objeto1 Is objeto2
A sintaxe do operador Is possui as partes a seguir:
Parte
Descrio
Operador Like
Utilizado para comparar duas seqncias de caracteres.
Sintaxe
resultado = seqnciadecaracteres Like padro
A sintaxe do operador Like possui as partes a seguir:
Parte
Descrio
resultado
seqnciadecaracteres
padro
Comentrios
Se seqnciadecaracteres corresponder a padro, resultado ser True; caso contrrio, resultado ser
False. Se seqnciadecaracteres ou padro for Null, resultado ser Null.
O comportamento do operador Like depende da instruo Option Compare. O mtodo padro de
comparao de seqncias de caracteres para cada mdulo Option Compare Binary.
Option Compare Binary resulta em comparaes de seqncias de caracteres baseadas em uma
ordem de classificao derivada das representaes binrias internas dos caracteres. No Microsoft
Windows, a ordem de classificao determinada pela pgina de cdigo. No exemplo a seguir, uma
ordem de classificao binria tpica apresentada:
A<B<E<Z<a<b<e<z<<<<<<
Option Compare Text resulta em comparaes de seqncias de caracteres baseadas em uma
ordem de classificao textual, sem coincidir maisculas ou minsculas, determinada pela localidade
de seu sistema. Quando voc classifica os mesmos caracteres utilizando Option Compare Text, o
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Correspondem na seqnciadecaracteres a
?
*
#
[listadecarac]
[!listadecarac]
Um grupo de um ou mais caracteres (listadecarac) entre colchetes ([ ]) pode ser utilizado para
corresponder a qualquer caractere nico em seqnciadecaracteres e pode incluir quase qualquer
cdigo de caractere, incluindo dgitos.
Observao Para fazer a correspondncia dos caracteres especiais colchete esquerdo ([), ponto de
interrogao (?),nmero (#) e asterisco (*), coloque-os entre colchetes. O colchete direito (]) no pode
ser utilizado dentro de um grupo para corresponder a si prprio, mas pode ser utilizado fora de um
grupo como um caractere individual.
Ao utilizar um hfen () para separar os limites superior e inferior do intervalo, listadecarac pode
especificar um intervalo de caracteres. Por exemplo, [A-Z] resulta em uma correspondncia se a
posio do caractere correspondente em seqnciadecaracteres contiver qualquer letra em caixa alta
no intervalo de AZ. Intervalos mltiplos so includos entre os colchetes sem delimitadores.
O significado de um intervalo especificado depende da ordem dos caracteres vlida em tempo de
execuo (como determinado por Option Compare e pela definio da localidade do sistema no qual
o cdigo est sendo executado). Utilizando o exemplo de Option Compare Binary, o intervalo de
[AE] corresponde a A, B e E. Com Option Compare Text, [AE] corresponde a A, a, , , B, b,
E, e. O intervalo no corresponde a ou porque caracteres acentuados situam-se aps caracteres
no acentuados na ordem de classificao.
Outras regras importantes para a correspondncia de padro incluem:
Um ponto de exclamao (!) no incio de listadecarac significa que uma correspondncia
("").
Em alguns idiomas, existem caracteres especiais no alfabeto que representam dois caracteres
diferentes. Por exemplo, diversos idiomas utilizam o caractere "" para representar os caracteres
"a" e "e" quando eles aparecem juntos. O operador Like reconhece a equivalncia entre o caractere
especial nico e os dois caracteres individuais.
Quando um idioma que utiliza um caractere especial especificado nas definies de localidade do
sistema, uma ocorrncia do caractere especial nico em padro ou seqnciadecaracteres
corresponde seqncia de dois caracteres equivalente na outra seqncia de caracteres. Da
mesma forma, um caractere especial nico em padro entre colchetes (sozinho, em uma lista ou em
um intervalo) corresponde seqncia de dois caracteres equivalente em seqnciadecaracteres.
Propriedade Calendar
Retorna ou configura um valor especificando o tipo de calendrio a ser usado com seu projeto.
Voc pode usar uma das duas configuraes abaixo para Calendar:
Configurao
Valor
Descrio
vbCalGreg
vbCalHijri
0
1
Observaes
Voc somente pode configurar a propriedade Calendar atravs de programa. Por exemplo, para usar
o calendrio Hijri, use:
Calendar = vbCalHijri
Propriedade Count
Retorna um Long (nmero inteiro longo) que contm o nmero de objetos de uma coleo. Somente
leitura.
Propriedade Description
Retorna ou define uma expresso de seqncia de caracteres que contm uma seqncia de
caracteres descritiva associada a um objeto. Leitura/gravao.
Para o objeto Err, retorna ou define uma seqncia de caracteres descritiva associada a um erro.
Comentrios
A definio da propriedade Description consiste em uma breve descrio do erro. Utilize essa
propriedade para alertar o usurio sobre um erro que voc no pode ou no deseja manipular.
Quando gerar um erro definido pelo usurio, atribua uma breve descrio do erro propriedade
Description. Se Description no estiver preenchida e o valor de Number corresponder a um erro
em tempo de execuo do Visual Basic, a seqncia de caracteres retornada pela funo Error ser
localizada em Description quando o erro for gerado.
Propriedade HelpContext
Retorna ou define uma expresso de seqncia de caracteres que contm a identificao de contexto
de um tpico em um arquivo de Ajuda do Microsoft Windows. Leitura/gravao.
Comentrios
A propriedade HelpContext utilizada para exibir automaticamente o tpico de Ajuda especificado
na propriedade HelpFile. Se tanto HelpFile quanto HelpContext estiverem vazios, o valor de
Number ser selecionado. Se Number corresponder a um valor de erro em tempo de execuo do
Visual Basic, a identificao de contexto da Ajuda do Visual Basic para o erro ser utilizada. Se o
valor de Number no corresponder a um erro do Visual Basic, a tela de contedo do arquivo de
Ajuda do Visual Basic ser exibida.
Observao
Voc deve colocar rotinas de manipulao de erros tpicos no seu aplicativo. Ao
programar com um objeto, voc pode utilizar o arquivo de Ajuda do objeto para melhorar a qualidade
da manipulao de erros ou para exibir uma mensagem significativa para seu usurio se o erro no
for recupervel.
Propriedade HelpFile
Retorna ou define em uma expresso de seqncia de caracteres o caminho completo para um
arquivo de Ajuda do Microsoft Windows. Leitura/gravao.
Comentrios
Se um arquivo de Ajuda for especificado em HelpFile, ele ser automaticamente chamado quando o
usurio pressionar o boto Help (ou a tecla F1) na caixa de dilogo de mensagem de erro. Se a
propriedade HelpContext contiver uma identificao de contexto vlida para o arquivo especificado,
aquele tpico ser automaticamente exibido. Se nenhum HelpFile for especificado, o arquivo de
Ajuda do Visual Basic ser exibido.
Observao Voc deve colocar rotinas de manipulao de erros tpicos no seu aplicativo. Ao
programar com um objeto, voc pode utilizar o arquivo de Ajuda do objeto para melhorar a qualidade
da manipulao de erros ou para exibir uma mensagem significativa para seu usurio se o erro no
for recupervel.
Propriedade LastDLLError
Retorna um cdigo de erro de sistema produzido por uma chamada a uma biblioteca de vnculo
dinmico (DLL). Somente-leitura.
Comentrios
A propriedade LastDLLError aplica-se somente a chamadas a DLL feitas a partir de cdigo do Visual
Basic. Quando tal chamada feita, a funo chamada retorna um cdigo indicando xito ou falha, e a
propriedade LastDLLError preenchida. Verifique a documentao das funes da DLL para
determinar os valores de retorno que indicam xito ou falha. Sempre que o cdigo de falha
retornado, o aplicativo do Visual Basic deve verificar imediatamente a propriedade LastDLLError.
Nenhuma exceo levantada quando a propriedade LastDLLError est definida.
Propriedade Number
Retorna ou define um valor numrico que especifica um erro. Number a propriedade padro do
objeto Err. Leitura/gravao.
Comentrios
Quando retornar um erro definido pelo usurio de um objeto, defina Err.Number adicionando o
nmero que voc selecionou como cdigo de erro constante. vbObjectError. Por exemplo, para
retornar o nmero 1051 como um cdigo de erro voc usaria o cdigo a seguir:
Err.Raise Number := vbObjectError + 1051, Source:= "AlgumaClasse"
Propriedade Source
Retorna ou define uma expresso de seqncia de caracteres que especifica o nome do objeto ou
aplicativo que originalmente gerou o erro. Leitura/gravao.
Comentrios
A propriedade Source especifica uma expresso de seqncia de caracteres que representa o objeto
que gerou o erro; a expresso normalmente o nome de classe do objeto ou uma identificao
programtica. Utilize Source para fornecer informaes quando seu cdigo no for capaz de
manipular um erro gerado em um objeto acessado. Por exemplo, se voc acessar o Microsoft Excel e
ele gerar um erro Division by zero, o Microsoft Excel define Err.Number para seu cdigo de
erro correspondente e define Source como Excel.Application.
Quando gerar um erro a partir do cdigo, Source ser a identificao programtica do seu aplicativo.
Para mdulos de classe, Source deve conter um nome com a forma projeto.classe. Quando um erro
inesperado ocorre em seu cdigo, a propriedade Source automaticamente preenchida. Para erros
em um mdulo padro, Source contm o nome do projeto. Para erros em um mdulo de classe,
Source contm um nome com a forma projeto.classe.
section
:=
Instruo DeleteSetting
Exclui uma seo ou definio de chave existente na entrada de um aplicativo no Registro do
Windows.
Sintaxe
DeleteSetting appname, section[,key]
A sintaxe da instruo DeleteSetting possui estes argumentos nomeados:
Parte
appname
section
key
Descrio
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto ao qual se aplica a
seo ou a definio de chave.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo da qual a definio da chave est
sendo excluda. Se forem fornecidos somente appname e
section, a seo especificada ser excluda juntamente com
todas as definies de chave relacionadas.
Opcional. Expresso de seqncia de caracteres que contm
o nome da definio da chave sendo excluda.
Comentrios
Se todos os argumentos forem fornecidos, a definio da chave especificada ser excluda.
Entretanto, a instruo DeleteSetting no far nada se a seo ou a definio de chave no existir.
Funo GetAllSettings
Retorna uma lista de definies de chave e seus respectivos valores (originariamente criados com
SaveSetting) a partir da entrada de um aplicativo no Registro do Windows.
Sintaxe
GetAllSettings(appname, section)
A sintaxe da funo GetAllSettings possui estes argumentos nomeados:
Parte
appname
section
Descrio
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto cujas definies de
chave so solicitadas.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo cujas definies de chave so
solicitadas. GetAllSettings retorna um Variant cujo contedo
uma matriz bidimensional de seqncias de caracters
Funo GetSetting
Retorna um valor de definio da chave para uma entrada de aplicativo no Registro do Windows.
Sintaxe
GetSetting(appname, section, key[,default])
A sintaxe da funo GetSetting possui estes argumentos nomeados:
Parte
appname
section
key
default
Descrio
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto cuja definio de
chave solicitada.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo onde se encontra a definio de
chave.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da definio de chave a ser retornada.
Opcional. Expresso que contm o valor a retornar se nenhum
valor for definido na definio da chave. Se for omitido,
default ser assumido como uma seqncia de caracters de
tamanho nulo ("").
Comentrios
Se qualquer dos itens nomeados nos argumentos de GetSetting no existirem, GetSetting retornar
o valor do default.
Instruo SaveSetting
Salva ou cria uma entrada de aplicativo no Registro do Windows.
Sintaxe
SaveSetting appname, section, key, setting
A sintaxe da instruo SaveSetting possui estes argumentos nomeados:
Parte
appname
section
key
setting
Descrio
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto ao qual se aplica a
definio.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo em que a definio da chave est
sendo salva.
Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da definio de chave sendo salva.
Obrigatrio. Expresso que contm o valor com que key est
sendo definido.
Comentrios
Ocorrer um erro se, por qualquer motivo, a definio da chave no puder ser salva.
'
'
'
'
Retorna
Retorna
Retorna
Retorna
A.
a.
>.
%.
' Retorna 0.
".
gato salta"
' Inicializa a seqncia de caracteres.
3, 4) = "sapo" ' MinhaSeqncia = "O sapo salta".
3) = "rato"
' MinhaSeqncia = "O rato salta".
3) = "rato saltou sobre"
' MinhaSeqncia = "O rato
3, 4) = "ganso"' MinhaSeqncia = "O gans salto".
Funo Chr
Retorna um String que contm o caractere associado ao cdigo de caractere especificado.
Sintaxe
Chr(cdigodecarac)
O argumento obrigatrio cdigodecarac um Long que identifica um caractere.
Comentrios
Os nmeros de 0 a 31 so os mesmos que os cdigos padro no-imprimveis ASCII. Por exemplo,
Chr(10) retorna um caractere de alimentao de linha. O intervalo normal para cdigodecarac 0
255. No entanto, em sistemas DBCS, o intervalo real para cdigodecarac de -32768 a 65536.
Observao A funo ChrB utilizada com dados de byte contidos em um String. Em vez de
retornar um caractere, que pode ser de um ou dois bytes, ChrB sempre retorna um nico byte. A
funo ChrW retorna um String contendo o caractere Unicode, com exceo de plataformas nas
quais Unicode no suportado, caso em que o comportamento dessa funo idntico ao da funo
Chr.
Funo Format
Retorna um Variant (String) que contm uma expresso formatada de acordo com as instrues
contidas em uma expresso de formato.
Sintaxe
Format(expresso[, formato[, primeirodiadasemana[, primeirasemanadoano]]])
A sintaxe da funo Format possui as partes a seguir:
Parte
Descrio
expresso
formato
Valor
Descrio
vbUseSystem
VbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
vbFriday
vbSaturday
0
1
2
3
4
5
6
7
Valor
Descrio
vbUseSystem
VbFirstJan1
0
1
VbFirstFourDays
vbFirstFullWeek
Comentrios
Para formatar
Faa isto
Nmeros
Data e hora
Nmeros de srie
de data e hora
Seqncias
de
caracteres
Se voc tentar formatar um nmero sem especificar formato, Format oferece uma funcionalidade
semelhante da funo Str, embora reconhea os padres internacionais. No entanto, nmeros
positivos formatados como seqncias de caracteres utilizando-se Format no incluem um espao
esquerda reservado para o sinal do valor; aqueles convertidos utilizando-se Str mantm o espao
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Descrio
General Number
Currency
Fixed
Standard
Percent
Scientific
Yes/No
True/False
On/Off
Descrio
Nenhum
(0)
(#)
(.)
(%)
(,)
(:)
(/)
(E- E+ ee+)
("ABC")
O resultado ser
Somente
uma
seo
Duas sees
Trs sees
Quatro sees
e
a
a
a
O exemplo a seguir apresenta duas sees: a primeira define o formato para valores positivos e
zeros; a segunda define o formato para valores negativos.
"$#,##0;($#,##0)"
Se voc incluir pontos-e-vrgulas sem nada entre eles, a seo ausente ser impressa utilizando o
formato do valor positivo. Por exemplo, o formato a seguir exibe valores positivos e negativos
utilizando o formato da primeira seo e exibindo "Zero" se o valor for zero.
"$#,##0;;\Z\e\r\o"
Positivo 5
Negativo 5
Decimal .5
-5
0,5
5
5,00
5
5,00
-5
-5,00
-5
-5,00
1
0,50
1
0,50
R$5
(R$5)
R$1
R$5,00
(R$5,00)
R$0,50
500%
500,00%
5,00E+00
50%
50,00%
5,00E-01
0,00E-00
5,00E00
-500%
-500,00%
5,00E+00
-5,00E00
Null
Nil
5,00E-01
do Descrio
General Date
Long Date
Medium Date
Short Date
Long Time
Medium Time
Short Time
Descrio
(:)
(/)
d
dd
ddd
dddd
ddddd
dddddd
w
ww
m
mm
mmm
mmmm
t
a
aa
aaaa
h
AM/PM
am/pm
A/P
a/p
AMPM
Exibe
7/12/58
7-Dez
7-Dezembro-58
7 Dezembro
Dezembro 58
08:50 PM
8:50:35 p
20:50
20:50:35
7/12/58 20:50
Descrio
&
<
>
!
O resultado ser
Somente
uma
seo
Duas sees
Funo Hex
Retorna um String que representa o valor hexadecimal de um nmero.
Sintaxe
Hex(nmero)
O argumento obrigatrio nmero qualquer expresso numrica vlida ou expresso de seqncia
de caracteres.
Comentrios
Se nmero no for um nmero inteiro, deve ser arredondado para o nmero mais prximo antes de
ser avaliado.
Se nmero for
Null
Empty
Qualquer
outro
nmero
Hex retornar
Nulo
Zero (0)
At oito caracteres hexadecimais
Funo InStr
Retorna um Variant (Long) especificando a posio da primeira ocorrncia de uma seqncia de
caracteres dentro de outra.
Sintaxe
InStr([start, ]string1, string2[, compare])
A sintaxe da funo InStr apresenta os argumentos a seguir:
Parte
Descrio
start
string1
string2
compare
Valores de retorno
Se
InStr retorna
string1
tiver
comprimento
zero
Nulo
start
Nulo
0
Posio na qual a correspondncia encontrada
Comentrios
A funo InStrB utilizada com os dados de byte contidos em uma seqncia de caracteres. Em vez
de retornar a posio do caractere da primeira ocorrncia de uma seqncia de caracteres dentro de
outra, InStrB retorna a posio do byte.
Funo LCase
Retorna um String que foi convertido para letra minscula.
Sintaxe
LCase(seqnciadecaracteres)
O argumento obrigatrio seqnciadecaracteres qualquer expresso de seqncia de
caracteres.vlida. Se seqnciadecaracteres contiver Null, ser retornado Nulo.
Comentrios
Somente as letras maisculas so convertidas para minsculas; todas as letras minsculas e
caracteres que no sejam letras permanecem inalterados.
Funo Left
Retorna um Variant (String) contendo um nmero especificado de caracteres do lado esquerdo de
uma seqncia de caracteres.
Sintaxe
Left(string, length)
A sintaxe da funo Left apresenta os argumentos nomeados a seguir:
Parte
Descrio
string
length
Comentrios
Para determinar o nmero de caracteres em string, utilize a funo Len.
Observao Utilize a funo LeftB com dados de byte contidos em uma seqncia de caracteres.
Ao invs de especificar o nmero de caracteres a serem retornados, length especifica o nmero de
bytes.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo Len
Retorna um Long que contm o nmero de caracteres em uma seqncia de caracteres ou o nmero
de bytes necessrios para armazenar uma varivel.
Sintaxe
Len(seqnciadecaracteres | nomedavar)
A sintaxe da funo Len apresenta as partes a seguir:
Parte
Descrio
string
varname
Comentrios
Um (e somente um) dos dois argumentos possveis deve ser especificado. Com tipos definidos pelo
usurio, Len retorna o tamanho como ele ser gravado no arquivo.
Observao Utilize a funo LenB com dados de byte contidos em uma seqncia de caracteres.
Em vez de retornar o nmero de caracteres em uma seqncia de caracteres, LenB retorna o
nmero de bytes utilizados para representar aquela seqncia de caracteres. Com tipos definidos
pelo usurio, LenB retorna o tamanho memorizado, incluindo qualquer item entre os elementos.
Observao Len pode no ser capaz de determinar o nmero real de bytes de armazenamento
necessrios quando utilizado com seqncias de caracteres de comprimento varivel em tipos de
dados definidos pelo usurio.
Instruo LSet
Alinha uma seqncia de caracteres esquerda dentro de uma varivel de seqncia de caracteres,
ou copia uma varivel de um tipo definido pelo usurio para outra varivel de um tipo diferente
definido pelo usurio.
Sintaxe
LSet varseq = seqnciadecaracteres
LSet nomedavar1 = nomedavar2
A sintaxe da instruo LSet apresenta as partes a seguir:
Parte
Descrio
stringvar
string
varname1
varname2
Comentrios
seqncia
de
Funo Mid
Retorna um Variant (String) que contm um nmero especificado de caracteres de uma seqncia
de caracteres.
Sintaxe
Mid(string, start[, length])
A sintaxe da funo Mid apresenta os argumentos nomeados a seguir:
Parte
Descrio
string
start
length
Comentrios
Para determinar o nmero de caracteres em string, utilize a funo Len.
Observao Utilize a funo MidB com dados de byte contidos em uma seqncia de caracteres.
Em vez de especificar o nmero de caracteres, os argumentos especificam o nmero de bytes.
Instruo Mid
Substitui um nmero especificado de caracteres em uma varivel Variant (String) com caracteres de
outra seqncia de caracteres.
Sintaxe
Mid(varseq, incio[, comprimento]) = seqnciadecaracteres
A sintaxe da instruo Mid apresenta as partes a seguir:
Parte
Descrio
varseq
incio
comprimento
seqnciadecaracteres
Comentrios
O nmero de caracteres substitudo sempre menor ou igual ao nmero de caracteres em varseq.
Observao Utilize a instruo MidB com dados de byte contidos em uma seqncia de caracteres.
Na instruo MidB, incio especifica a posio do byte dentro de varseq onde a substituio tem incio
e comprimento especifica o nmero de bytes a ser substitudo.
Funo Oct
Retorna um Variant (String) que representa o valor octal de um nmero.
Sintaxe
Oct(nmero)
O argumento obrigatrio nmero qualquer expresso numrica vlida ou expresso de seqncia
de caracteres.
Comentrios
Se nmero no for um nmero inteiro, deve ser arredondado para o nmero inteiro mais prximo
antes de ser avaliado.
Se nmero for
Oct retornar
Null
Empty
Qualquer
nmero
Null
Zero (0)
At 11 caracteres octais
outro
Voc pode representar nmeros octais diretamente ao anteceder nmeros no intervalo apropriado
com &O. Por exemplo, &O10 a notao octal para o decimal 8.
Funo Right
Retorna um Variant (String) que contm um nmero especfico de caracteres do lado direito de uma
seqncia de caracteres.
Sintaxe
Right(string, length)
A sintaxe da funo Right apresenta os argumentos nomeados a seguir:
Parte
Descrio
string
length
Comentrios
Para determinar o nmero de caracteres em string, utilize a funo Len.
Observao Utilize a funo RightB com dados de byte contidos em uma seqncia de caracteres.
Em vez de especificar o nmero de caracteres a ser retornado, length especifica o nmero de bytes.
Instruo RSet
Alinha uma seqncia de caracteres direita dentro de uma varivel de seqncia de caracteres.
Sintaxe
RSet varseq = seqnciadecaracteres
A sintaxe da instruo RSet apresenta as partes a seguir:
Parte
Descrio
varseq
seqnciadecaracteres
Comentrios
Se varseq for maior do que seqnciadecaracteres, RSet substitui qualquer caractere deixado em
varseq por espaos, de volta a seu incio.
Observao RSet no pode ser utilizado com tipos definidos pelo usurio.
Funo Space
Retorna um Variant (String) que consiste em um nmero especificado de espaos.
Sintaxe
Space(nmero)
O argumento obrigatrio nmero o nmero de espaos que voc deseja na seqncia de
caracteres.
Comentrios
Funo Str
Retorna uma representao de um nmero Variant (String).
Sintaxe
Str(nmero)
O argumento obrigatrio nmero um Long contendo qualquer expresso numrica.vlida.
Comentrios
Quando nmeros so convertidos em seqncias de caracteres, um espao esquerda sempre
reservado para o sinal de nmero. Se nmero for positivo, a seqncia de caracteres retornada ter
um espao esquerda e o sinal de mais estar implcito.
Utilize a funo Format para converter valores numricos que voc deseja formatar como datas,
horas, moeda ou outros formatos definidos pelo usurio. Ao contrrio de Str, a funo Format no
inclui um espao esquerda para o sinal de nmero.
Observao A funo Str reconhece somente o ponto (.) como um separador decimal vlido.
Quando separadores decimais diferentes puderem ser utilizados (por exemplo, em aplicativos
internacionais), utilize CStr para converter um nmero em uma seqncia de caracteres.
Funo StrComp
Retorna Variant (Integer) que indica o resultado de uma comparao de seqncia de caracteres.
Sintaxe
StrComp(string1, string2[, compare])
A sintaxe da funo StrComp apresenta os argumentos nomeados a seguir:
Parte
Descrio
string1
string2
compare
Valores de retorno
Se
StrComp retornar
-1
0
1
Null
Funo StrConv
Retorna um Variant (String) convertido como especificado.
Sintaxe
StrConv(string, conversion)
A sintaxe da funo StrConv apresenta os argumentos nomeados a seguir:
Parte
Descrio
string
conversion
Definies
Valor
Descrio
vbUpperCase
VbLowerCase
VbProperCase
vbWide*
4*
VbNarrow*
8*
vbKatakana**
16**
vbHiragana**
32**
vbUnicode
64
vbFromUnicode
128
Observao Essas constantes so especificadas pelo Visual Basic para Aplicativos. Dessa forma,
elas podem ser utilizadas em qualquer lugar de seu cdigo no lugar dos valores reais. A maioria delas
pode ser combinada, por exemplo vbUpperCase + vbWide, exceto quando forem mutuamente
exclusivas, como vbUnicode + vbFromUnicode. As constantes vbWide, vbNarrow, vbKatakana e
vbHiragana causam erros em tempo de execuo quando utilizadas em localidades onde no so
aplicadas.
A seguir so apresentados separadores de palavras vlidos para a utilizao apropriada de letras
maisculas e minsculas: Null (Chr$(0)), tab horizontal (Chr$(9)), alimentao de linha (Chr$(10)),
tab vertical (Chr$(11)), alimentao de formulrio (Chr$(12)), retorno de carro (Chr$(13)), espao
(SBCS) (Chr$(32)). O valor real de um espao varia de acordo com o pas para DBCS.
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Funo String
Retorna um Variant (String) que contm uma seqncia de caracteres repetidos do comprimento
especificado.
Sintaxe
String(number, character)
A sintaxe da funo String apresenta os argumentos nomeados a seguir:
Parte
Descrio
number
character
Comentrios
Se voc especificar um nmero maior do que 255 para character, String converter o nmero em
um cdigo de caracteres vlido utilizando a seguinte frmula:
character Mod 256
Funo UCase
Retorna um Variant (String) que contm a seqncia de caracteres especificada, convertida para
letra maiscula.
Sintaxe
UCase(seqnciadecaracteres)
O argumento seqnciadecaracteres exigido qualquer expresso de
caracteres.vlida. Se seqnciadecaracteres contiver Null, Null ser retornado.
seqncia
de
Comentrios
Somente as letras minsculas so convertidas para maisculas; todas as letras maisculas e
caracteres diferentes de letras permanecem inalterados.
Erros interceptveis
Os erros interceptveis podem ocorrer quando um aplicativo est sendo executado. Alguns erros
interceptveis podem ocorrer tambm durante o desenvolvimento ou a compilao. Voc pode testar
e responder a erros interceptveis utilizando a instruo On Error e o objeto Err. Os nmeros de
erros no utilizados no intervalo de 1 a 1000 so reservados para uso futuro pelo Visual Basic.
Cdig
o
Mensagem
3
5
6
7
9
10
11
13
14
16
17
18
20
28
35
47
48
49
51
52
53
54
55
57
58
59
61
62
63
67
68
70
71
74
75
76
91
92
93
94
97
298
160
[espao]
192
224
129
161
193
225
130
162
194
226
131
163
195
227
132
164
196
228
133
165
197
229
134
166
198
230
135
167
199
231
136
168
200
232
137
169
201
233
138
170
202
234
139
171
203
235
140
172
204
236
141
173
205
237
142
174
206
238
143
175
207
239
144
176
208
240
177
178
179
209
210
211
241
242
243
148
180
212
244
149
145
146
147
181
213
245
150
182
214
246
151
183
215
247
152
184
216
248
153
185
217
249
154
186
218
250
155
187
219
251
156
188
220
252
157
189
221
253
158
190
222
254
159
191
223
255
Operador AddressOf
Um operador que faz com que o endereo do procedimento que ele precede seja passado a um
procedimento API que espere um ponteiro de funo naquela posio na lista de argumentos.
Sintaxe
AddressOf procedurename
O procedurename obrigatrio especifica o procedimento cujo endereo deve ser passado. Ele deve
representar um procedimento em um mdulo padro no projeto em que feita a chamada.
Comentrios
Quando um nome de procedimento aparece em uma lista de argumentos, normalmente o
procedimento avaliado e o endereo do valor de retorno do procedimento passado. AddressOf
permite que o endereo do procedimento seja passado a uma funo API Windows em uma
biblioteca de vnculos dinmicos (DLL), ao invs de passar o valor de retorno do procedimento. A
funo API pode ento usar o endereo para chamar o procedimento em Basic, um processo
conhecido como chamada de retorno. O operador AddressOf aparece somente na chamada ao
procedimento API. Entretanto, na instruo Declare que descreve a funo API qual passado o
ponteiro, o argumento de endereo do procedimento deve ser declarado As Any.
Embora voc possa usar AddressOf para passar ponteiros de procedimento entre procedimentos
Basic, voc no pode chamar uma funo do tipo ponteiro a partir de Basic. Isto significa, por
exemplo, que uma classe escrita em Basic no pode efetuar uma chamada de retorno a seu
controlador usando este tipo de ponteiro. Ao usar AddressOf para passar um ponteiro de
procedimento entre procedimentos dentro do Basic, o parmetro do procedimento chamado deve ser
digitado As Long.
Ateno
Usar AddressOf pode provocar resultados imprevisveis se voc no compreender
totalmente o conceito de chamadas de retorno de funo. Voc deve compreender como a parte
Basic da chamada de retorno funciona e tambm o cdigo da DLL qual voc esta passando seu
endereo de funo. Depurar este tipo de interaes difcil, pois o programa executado no mesmo
processo que o ambiente de desenvolvimento. Em alguns casos, a depurao sistemtica pode no
ser possvel.
Mtodo Assert
Suspende condicionalmente a execuo na linha em que aparece o mtodo.
Sintaxe
object.Assert booleanexpression
A sintaxe do mtodo Assert tem o seguinte qualificador de objeto e argumento:
Parte
Descrio
object
Booleanexpression
Comentrios
Acionamentos de Assert somente funcionam dentro do ambiente de desenvolvimento. Quando o
mdulo compilado em um executvel, as chamadas do mtodo sobre o objeto Debug so omitidas.
Todas as booleanexpression so sempre avaliadas. Por exemplo, mesmo se a primeira parte de uma
expresso And for avaliada como False, a expresso inteira ser avaliada.
Friend
Modifica a definio de um procedimento em um mdulo de classe para tornar o procedimento
passvel de chamada a partir de mdulos que estejam fora da classe, mas que faam parte do projeto
dentro do qual a classe definida.
Sintaxe
[Private | Friend | Public] [Static] [Sub | Function | Property] procedurename
O procedurename obrigatrio o nome do procedimento a ser tornado visvel em todo o projeto, mas
no visvel a controladores da classe.
Comentrios
Procedimentos Public em uma classe podem ser chamados a partir de qualquer lugar, mesmo por
controladores de ocorrncias da classe. Declarar um procedimento como Private impede que
controladores do objeto chamem o procedimento, mas tambm impede que o procedimento seja
chamado a partir do projeto em que a prpria classe est definida. Friend torna o procedimento
visvel atravs do projeto, mas no a um controlador de uma ocorrncia do objeto. Friend somente
pode aparecer em mdulos de classe, e somente pode modificar nomes de procedimento, no
variveis ou tipos. Os procedimentos em uma classe podem acessar os procedimentos Friend de
todas as outras classes em um projeto. Procedimentos Friend no aparecem na biblioteca de tipos
de suas classes. Um procedimento Friend no pode ser posteriormente acoplado.
Instruo RaiseEvent
Dispara um evento declarado a nvel de mdulo dentro de uma classe, formulrio ou documento.
Sintaxe
RaiseEvent eventname [(argumentlist)]
O eventname obrigatrio o nome de um evento declarado dentro do mdulo e segue a conveno
de nomeao de varivel do Basic.
A sintaxe da instruo RaiseEvent tem estas partes:
Parte
Descrio
eventname
Comentrios
Se o evento no foi declarado em um mdulo em que ele foi provocado, ocorre um erro. O fragmento
abaixo ilustra uma declarao de evento e um procedimento em que o evento provocado.
' Declarar um evento a nvel de mdulo de um mdulo de classe
Event LogonCompleted (UserName as String)
Sub
' Produzir o evento.
RaiseEvent LogonCompleted ("AntoineJan")
End Sub
Se o evento no tem nenhum argumento, incluindo parnteses vazios, no RaiseEvent, seu
acionamento produz um erro. Voc no pode usar RaiseEvent para disparar eventos que no sejam
explicitamente declarados no mdulo. Por exemplo, se um formulrio tiver um evento Click, voc no
poder dispar-lo usando RaiseEvent. Se voc declarar um evento Click no mdulo de formulrio,
ele encobrir o prprio evento Click do formulrio. Voc ainda pode acionar o evento Click do
formulrio usando a sintaxe normal para chamar o evento, mas no usando a instruo RaiseEvent.
O disparo do evento feito na ordem em que as conexes so estabelecidas. Como os eventos
podem ter parmetros ByRef, o processo que conecta posteriormente pode receber parmetros que
foram alterados por um manipulador de eventos anterior.
_
_
_
"user32"
(ByVal
hWnd
As
Long,