Você está na página 1de 249

Apostila com algumas funes VB 5 e Exemplos Pg.

:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

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

POWER Informtica Santana do Livramento RS
Fone: ( 0 5 5 ) 2 4 2 5 4 2 7
Visite o Site da Power Informtica l voc encontra outras APOSTILAS VB





Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da diretiva #Const

Este exemplo utiliza a diretiva #Const para declarar constantes de compilao condicional para uso
em construes #If...#Else...#End If.
#Const DebugVersion = 1 ' Avaliar verdadeiro no bloco #If.


Exemplo da construo #If...Then...#Else

Este exemplo faz referncia a constantes de compilao condicional em uma construo
#If...Then...#Else para determinar se certas instrues sero compiladas.
' Se Mac avalia como verdadeiro, as instrues que se seguem a #If tambm o
fazem.
#If Mac Then
'. Insere aqui exclusivamente instrues Mac.
'.
'.
' Caso contrrio, se for um programa do Windows de 32 bits, faz o seguinte:
#ElseIf Win32 Then
'. Insere aqui exclusivamente instrues do Windows de 32 bits.
'.
'.
' Caso contrrio, se no for uma coisa nem outra, faz o seguinte:
#Else
'. Insere aqui outras instrues de plataforma.
'.
'.
#End If


Diretiva #Const
Utilizada para definir constantes condicionais do compilador no Visual Basic.
Sintaxe
#Const nomedaconst = expresso
u
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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 Descrio

expresso Obrigatria. Qualquer expresso, consistindo
exclusivamente de uma ou mais constantes
condicionais do compilador, literais e operadores que
so avaliados como True ou False.
instrues Obrigatria. Linhas de programa ou diretivas de
compilador do Visual Basic que so avaliadas se a
expresso associada for True.
expresso-n Opcional. Qualquer expresso, consistindo
exclusivamente de uma ou mais constantes
condicionais do compilador, literais e operadores que
so avaliados como True ou False.
instrueselseif Opcional. Uma ou mais linhas de programa ou diretivas
de compilador que sero avaliadas se expresso-n for
True.
instrueselse 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 Visual Basic
O Visual Basic para Aplicativos define as constantes para simplificar sua programao. As constantes
a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores reais:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 0 Indica que o calendrio gregoriano utilizado
vbCalHijri 1 Indica que o calendrio Hijri utilizado

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 Indica que o ambiente de desenvolvimento de 16
bits.
Win32 False Indica que o ambiente de desenvolvimento no de
32 bits.

Em plataformas de desenvolvimento de 32 bits, as constantes do compilador so definidas da
seguinte maneira:
Constant
e
Valor Descrio

Win16 False Indica que o ambiente de desenvolvimento no de
16 bits.
Win32 True Indica que o ambiente de desenvolvimento de 32
bits.

Observao Essas constantes so fornecidas pelo Visual Basic. Sendo assim voc no pode definir
suas prprias constantes com esses mesmos nomes em qualquer nvel.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 0 Utiliza a definio NLS API.
VbSunday 1 Domingo (padro)
vbMonday 2 Segunda
vbTuesday 3 Tera
vbWednesday 4 Quarta
vbThursday 5 Quinta
vbFriday 6 Sexta
vbSaturday 7 Sbado

O argumento primeirodiadoano possui os valores a seguir:
Constante Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
VbFirstJan1 1 Inicia com a semana na qual ocorre o dia 1
de janeiro (padro).
VbFirstFourDays 2 Inicia com a primeira semana que possui
pelo menos quatro dias do ano novo.
VbFirstFullWeek 3 Inicia com a primeira semana completa do
ano.

Valores de retorno
Constante Valor Descrio

vbSunday 1 Domingo
vbMonday 2 Segunda
vbTuesday 3 Tera
vbWednesday 4 Quarta
vbThursday 5 Quinta
vbFriday 6 Sexta
vbSaturday 7 Sbado

Constantes Dir, GetAttr e SetAttr
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante Valor Descrio

vbNormal 0 Normal (padro de Dir e SetAttr)
vbReadOnly 1 Somente leitura
vbHidden 2 Oculto
vbSystem 4 Arquivo do sistema
vbVolume 8 Rtulo do volume
vbDirectory 16 Diretrio ou pasta
vbArchive 32 O arquivo foi alterado desde o ltimo backup

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 0 Nenhum IME instalado
vbIMEOn 1 IME ligado
vbIMEOff 2 IME desligado
vbIMEDisable 3 IME desativado
vbIMEHiragana 4 Caracteres de duplo byte Hiragana
(DBC)
vbIMEKatakanaDbl 5 Katakana DBC
vbIMEKatakanaSng 6 Caracteres de byte simples Katakana
(SBC)
vbIMEAlphaDbl 7 DBC alfanumrico
vbIMEAlphaSng 8 SBC alfanumrico

As constantes para a localidade chinesa (em chins tradicional e simplificado) so as seguintes:
Constante Valor Descrio

vbIMENoOp 0 Nenhum IME instalado
vbIMEOn 1 IME ligado
vbIMEOff 2 IME desligado

Para a localidade coreana, os cinco primeiros bits do valor de retorno so os seguintes:
Bit Valor Descrio Valor Descrio

0 0 Nenhum IME
instalado
1 IME instalado
1 0 IME desativado 1 IME ativado
2 0 Modo ingls IME 1 Modo Hangeul
3 0 Modo Banja (SBC) 1 Modo Junja (DBC)
4 0 Modo normal 1 Modo de converso Hanja


Constantes Instr e StrComp
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 Valor Descrio

vbBinaryCompare 0 Realiza a comparao binria
vbTextCompare 1 Realiza a comparao textual
vbDatabaseCompare 2 Para o Microsoft Access, realiza a
comparao baseada nas informaes
contidas em seu banco de dados.


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) Combinao de retorno de carro e
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
alimentao de linha
vbCr Chr(13) Caractere de retorno de carro
vbLf Chr(10) Caractere de alimentao de linha
vbNewLine Chr(13) + Chr(10)
ou Chr(13)
Caractere de linha nova especfico
de uma plataforma; aquele que seja
apropriado plataforma atual
vbNullChar Chr(0) Caractere que possui o valor 0
vbNullString Seqncia
contendo o valor 0
No o mesmo que a seqncia de
comprimento zero (""); utilizada para
chamar procedimentos externos
vbTab Chr(9) Caractere de tabulao
vbBack Chr(8) Caractere de backspace
vbFormFeed Chr(12) No til no Microsoft Windows
vbVerticalTab Chr(11) 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 0 Apenas o boto OK (padro)
vbOKCancel 1 Botes OK e Cancelar
vbAbortRetryIgnore 2 Botes Anular, Repetir e Ignorar
vbYesNoCancel 3 Botes Sim, No e Cancelar
vbYesNo 4 Botes Sim e No
vbRetryCancel 5 Botes Repetir e Cancelar
vbCritical 16 Mensagem crtica
vbQuestion 32 Consulta de aviso
vbExclamation 48 Mensagem de aviso
vbInformation 64 Mensagem de informao
vbDefaultButton1 0 Primeiro boto o padro (padro)
vbDefaultButton2 256 Segundo boto o padro
vbDefaultButton3 512 Terceiro boto o padro
vbDefaultButton4 768 Quarto boto o padro
vbApplicationModal 0 Caixa de mensagem relativa ao modo do
aplicativo (padro)
vbSystemModal 4096 Caixa de mensagem relativa ao modo do
sistema

Valores de retorno de MsgBox
Constante Valor Descrio

vbOK 1 Boto OK pressionado
vbCancel 2 Boto Cancelar pressionado
vbAbort 3 Boto Anular pressionado
vbRetry 4 Boto Repetir pressionado
vbIgnore 5 Boto Ignorar pressionado
vbYes 6 Boto Sim pressionado
vbNo 7 Boto No pressionado

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Constantes Shell
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante Valor Descrio

vbHide 0 A janela est oculta e o foco passado
para a janela oculta.
vbNormalFocus 1 A janela recebe o foco e restaurada
para seu tamanho e posio originais.
vbMinimizedFocus 2 A janela exibida como um cone com o
foco sobre ela.
vbMaximizedFocus 3 A janela maximizada com o foco.
vbNormalNoFocus 4 A janela restaurada para o tamanho e
posio mais recentes. A janela
atualmente ativa permanece ativa.
vbMinimizeNoFocus 6 A janela exibida como um cone. A
janela atualmente ativa permanece ativa.


Constantes StrConv
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante Valor Descrio

vbUpperCase 1 Converte a seqncia em caracteres
maisculos.
VbLowerCase 2 Converte a seqncia em caracteres
minsculos.
VbProperCase 3 Converte a primeira letra de cada palavra da
seqncia em maisculas.
VbWide 4 Converte os caracteres estreitos (de byte
simples) da seqncia em caracteres largos
(de byte duplo). Aplicvel s localidades do
oriente.
VbNarrow 8 Converte os caracteres largos (de byte
duplo) da seqncia em caracteres estreitos
(de byte simples). Aplicvel s localidades do
oriente.
VbKatakana 16 Converte caracteres Hiragana da seqncia
em caracteres Katakana. Aplicvel apenas
ao Japo.
vbHiragana 32 Converte os caracteres Katakana da
seqncia em caracteres Hiragana. Aplicvel
apenas ao Japo.
vbUnicode 64 Converte a seqncia para Unicode
utilizando a pgina de cdigo padro do
sistema.
vbFromUnicode 128 Converte a seqncia de Unicode para a
pgina de cdigos padro do sistema.


Constantes VarType
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
reais:
Constante Valor Descrio

vbEmpty 0 No-inicializada (padro)
vbNull 1 No contm dados vlidos
vbInteger 2 Integer
vbLong 3 Inteiro longo
vbSingle 4 Nmero de vrgula flutuante de preciso nica
vbDouble 5 Nmero de vrgula flutuante de preciso dupla
vbCurrency 6 Currency
vbDate 7 Date
vbString 8 String
vbObject 9 Objeto
vbError 10 Erro
vbBoolean 11 Boolean
vbVariant 12 Variant (utilizada apenas para as matrizes de
variantes)
vbDataObject 13 Objeto de acesso a dados
vbDecimal 14 Decimal
vbByte 17 Byte
vbArray 8192 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 0x0 Preto
vbRed 0xFF Vermelho
vbGreen 0xFF00 Verde
vbYellow 0xFFFF Amarelo
vbBlue 0xFF0000 Azul
vbMagenta 0xFF00FF Magenta
vbCyan 0xFFFF00 Ciano
vbWhite 0xFFFFFF Branco


Constantes de cdigo de tecla
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante Valor Descrio

vbKeyLButton 0x1 Boto esquerdo do mouse
vbKeyRButton 0x2 Boto direito do mouse
vbKeyCancel 0x3 Tecla CANCEL
vbKeyMButton 0x4 Boto do meio do mouse
vbKeyBack 0x8 Tecla BACKSPACE
vbKeyTab 0x9 Tecla TAB
vbKeyClear 0xC Tecla CLEAR
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbKeyReturn 0xD Tecla ENTER
vbKeyShift 0x10 Tecla SHIFT
vbKeyControl 0x11 Tecla CTRL
vbKeyMenu 0x12 Tecla MENU
vbKeyPause 0x13 Tecla PAUSE
vbKeyCapital 0x14 Tecla CAPS LOCK
vbKeyEscape 0x1B Tecla ESC
vbKeySpace 0x20 Tecla SPACEBAR
vbKeyPageUp 0x21 Tecla PAGE UP
vbKeyPageDown 0x22 Tecla PAGE DOWN
vbKeyEnd 0x23 Tecla END
vbKeyHome 0x24 Tecla HOME
vbKeyLeft 0x25 Tecla SETA ESQUERDA
vbKeyUp 0x26 Tecla SETA ACIMA
vbKeyRight 0x27 Tecla SETA DIREITA
vbKeyDown 0x28 Tecla SETA ABAIXO
vbKeySelect 0x29 Tecla SELECT
vbKeyPrint 0x2A Tecla PRINT SCREEN
vbKeyExecute 0x2B Tecla EXECUTE
vbKeySnapshot 0x2C Tecla SNAPSHOT
vbKeyInsert 0x2D Tecla INSERT
vbKeyDelete 0x2E Tecla DELETE
vbKeyHelp 0x2F Tecla HELP
vbKeyNumlock 0x90 Tecla NUM LOCK

As teclas de A a Z so as mesmas teclas ASCII de A a Z equivalentes:
Constante Valor Descrio

vbKeyA 65 Tecla A
vbKeyB 66 Tecla B
vbKeyC 67 Tecla C
vbKeyD 68 Tecla D
vbKeyE 69 Tecla E
vbKeyF 70 Tecla F
vbKeyG 71 Tecla G
vbKeyH 72 Tecla H
vbKeyI 73 Tecla I
vbKeyJ 74 Tecla J
vbKeyK 75 Tecla K
vbKeyL 76 Tecla L
vbKeyM 77 Tecla M
vbKeyN 78 Tecla N
vbKeyO 79 Tecla O
vbKeyP 80 Tecla P
vbKeyQ 81 Tecla Q
vbKeyR 82 Tecla R
vbKeyS 83 Tecla S
vbKeyT 84 Tecla T
vbKeyU 85 Tecla U
vbKeyV 86 Tecla V
vbKeyW 87 Tecla W
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbKeyX 88 Tecla X
vbKeyY 89 Tecla Y
vbKeyZ 90 Tecla Z

As teclas de 0 a 9 so as mesmas teclas ASCII de 0 a 9 equivalentes:
Constante Valor Descrio

vbKey0 48 Tecla 0
vbKey1 49 Tecla 1
vbKey2 50 Tecla 2
vbKey3 51 Tecla 3
vbKey4 52 Tecla 4
vbKey5 53 Tecla 5
vbKey6 54 Tecla 6
vbKey7 55 Tecla 7
vbKey8 56 Tecla 8
vbKey9 57 Tecla 9

As constantes a seguir representam teclas no teclado numrico:
Constante Valor Descrio

vbKeyNumpad0 0x60 Tecla 0
vbKeyNumpad1 0x61 Tecla 1
vbKeyNumpad2 0x62 Tecla 2
vbKeyNumpad3 0x63 Tecla 3
vbKeyNumpad4 0x64 Tecla 4
vbKeyNumpad5 0x65 Tecla 5
vbKeyNumpad6 0x66 Tecla 6
vbKeyNumpad7 0x67 Tecla 7
vbKeyNumpad8 0x68 Tecla 8
vbKeyNumpad9 0x69 Tecla 9
vbKeyMultiply 0x6A Tecla SINAL DE MULTIPLICAO (*)
vbKeyAdd 0x6B Tecla SINAL DE ADIO (+)
vbKeySeparator 0x6C Tecla ENTER
vbKeySubtract 0x6D Tecla SINAL DE SUBTRAO ()
vbKeyDecimal 0x6E Tecla PONTO DECIMAL (.)
vbKeyDivide 0x6F Tecla SINAL DE DIVISO (/)

As constantes a seguir representam teclas de funo:
Constante Valor Descrio

vbKeyF1 0x70 Tecla F1
vbKeyF2 0x71 Tecla F2
vbKeyF3 0x72 Tecla F3
vbKeyF4 0x73 Tecla F4
vbKeyF5 0x74 Tecla F5
vbKeyF6 0x75 Tecla F6
vbKeyF7 0x76 Tecla F7
vbKeyF8 0x77 Tecla F8
vbKeyF9 0x78 Tecla F9
vbKeyF10 0x79 Tecla F10
vbKeyF11 0x7A Tecla F11
vbKeyF12 0x7B Tecla F12
vbKeyF13 0x7C Tecla F13
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbKeyF14 0x7D Tecla F14
vbKeyF15 0x7E Tecla F15
vbKeyF16 0x7F Tecla F16

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Constantes da cor do sistema
As constantes a seguir podem ser utilizadas em qualquer parte do seu cdigo no lugar dos valores
reais:
Constante Valor Descrio

vbScrollBars 0x80000000 Cor da barra de rolagem
vbDesktop 0x80000001 Cor da rea de trabalho
vbActiveTitleBar 0x80000002 Cor da barra de ttulo da
janela ativa
vbInactiveTitleBar 0x80000003 Cor da barra de ttulo da
janela inativa
vbMenuBar 0x80000004 Cor de segundo plano do
menu
vbWindowBackground 0x80000005 Cor de segundo plano da
janela
vbWindowFrame 0x80000006 Cor da moldura da janela
vbMenuText 0x80000007 Cor do texto nos menus
vbWindowText 0x80000008 Cor do texto nas janelas
vbTitleBarText 0x80000009 Cor do texto na legenda,
caixa de dimensionamento
e seta de rolagem
vbActiveBorder 0x8000000A Cor da borda da janela ativa
vbInactiveBorder 0x8000000B Cor da borda da janela
inativa
vbApplicationWorkspace 0x8000000C Cor de segundo plano dos
aplicativos de interface de
mltiplos documentos (MDI,
Multiple-Document
Interface)
vbHighlight 0x8000000D Cor de segundo plano dos
itens selecionados em um
controle
vbHighlightText 0x8000000E Cor do texto dos itens
selecionados em um
controle
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 acinzentado
(desativado)
vbButtonText 0x80000012 Cor do texto dos botes de
pressionamento
vbInactiveCaptionText 0x80000013 Cor do texto de uma
legenda ativa
vb3DHighlight 0x80000014 Cor de realce de elementos
de exibio em 3-D
vb3DDKShadow 0x80000015 Cor de sombreamento mais
escura dos elementos de
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
exibio em 3-D
vb3DLight 0x80000016 Segunda cor 3-D mais clara
depois de vb3DHighlight
vbInfoText 0x80000017 Cor do texto das Dicas de
ferramentas
vbInfoBackground 0x80000018 Cor de segundo plano das
Dicas de ferramentas


Exemplo da instruo Call

Este exemplo ilustra como a instruo Call utilizada para transferir o controle para um procedimento
Sub, uma funo intrnseca, um procedimento da biblioteca de vinculao dinmica (DLL) e um
procedimento.
' Chama um procedimento Sub.
Call PrintToDebugWindow("Al Mundo")
' A instruo anterior faz com que o controle seja passado ao procedimento
' Sub seguinte.
Sub PrintToDebugWindow(AnyString)
Debug.Print AnyString ' Imprime na janela Depurar.
End Sub

' Chama uma funo intrnseca. O valor de retorno da funo descartado.
Call Shell(AppName, 1) ' AppName contm o caminho do
arquivo executvel.

' Chama um procedimento DLL do Microsoft Windows. A
' instruo Declare deve ser Private em um Mdulo de
' classe, mas no em um Mdulo padro.
Private Declare Sub MessageBeep Lib "Usurio" (ByVal N As Integer)
Sub CallMyDll()
Call MessageBeep(0) ' Chama o procedimento DLL do Windows.
MessageBeep 0 ' Chama novamente sem a palavra-chave Call.
End Sub


Exemplo da funo Choose

Este exemplo utiliza a funo Choose para exibir um nome em resposta a um ndice passado ao
procedimento no parmetro Ind.
Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Expresso", "United", "Federal")
End Function

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo DoEvents

Este exemplo utiliza a funo DoEvents para fazer com que se saia para o sistema operacional uma
vez a cada 1000 iteraes do loop. DoEvents retorna o nmero de formulrios abertos do Visual
Basic, mas somente quando o aplicativo host for o Visual Basic.
' Cria uma varivel para conter o nmero de formulrios ' do Visual Basic
carregados e visveis.
Dim I, AbreFormulrios
For I = 1 To 150000 ' Inicia o loop.
If I Mod 1000 = 0 Then ' Se o loop tiver se repetido 1000 vezes.
AbreFormulrios = DoEvents ' Submete-se ao sistema operacional.
End If
Next I ' Incrementa o contador de loops.


Exemplo da instruo Do...Loop

Este exemplo mostra como as instrues Do...Loop podem ser utilizadas. A instruo Do...Loop
interna faz o loop 10 vez, define o valor do sinalizador como False e sai prematuramente utilizando a
instruo Exit Do. O loop externo sai imediatamente aps a verificao do valor do sinalizador.
Dim Controle, Contador
Controle = True: Contador = 0 ' Inicializa as variveis.
Do ' Loop externo.
Do While Contador < 20 ' Loop interno.
Contador = Contador + 1 ' Incrementa o Contador.
If Contador = 10 Then ' Se a condio for True.
Controle = False ' Define o valor do sinalizador como False.
Exit Do ' Sai do loop interno.
End If
Loop
Loop Until Controle = False ' Sai do loop externo imediatamente.


Exemplo da instruo End

Este exemplo utiliza a instruo End para encerrar a execuo do cdigo se o usurio inserir uma
senha invlida.
Sub Form_Load
Dim Senha, ASenha
Senha = "Swordfish"
ASenha = InputBox("Digite a sua senha")
If ASenha <> Senha Then
MsgBox "Sinto muito, senha incorreta"
End
End If
End Sub

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Exit

Este exemplo utiliza a instruo Exit para sair de um loop For...Next, Do...Loop e de um
procedimento Sub.
Sub ExitStatementDemo()
Dim I, MeuNum
Do ' Configura o loop infinito.
For I = 1 To 1000 ' Faz o loop 1000 vezes.
MeuNum = Int(Rnd * 1000) ' Gera nmeros aleatrios.
Select Case MeuNum ' Avalia o nmero aleatrio.
Case 7: Exit For ' Se 7, sai de For...Next.
Case 29: Exit Do ' Se 29, sai de Do...Loop.
Case 54: Exit Sub ' Se 54, sai do procedimento Sub.
End Select
Next I
Loop
End Sub


Exemplo da instruo For Each...Next

Este exemplo utiliza a instruo For Each...Next para pesquisar a propriedade Text de todos os
elementos em uma coleo procura da seqncia de caracteres "Al". No exemplo, MeuObjeto
um objeto relacionado ao texto e um elemento da coleo MinhaColeo. Ambos so nomes
genricos utilizados somente com finalidades ilustrativas.
Dim Encontrado, MeuObjeto, MinhaColeo
Encontrado = False ' Inicializa a varivel.
For Each MeuObjeto In MinhaColeo ' Itera a cada elemento.
If MeuObjeto.Text = "Al" Then ' Se Text for igual a "Al".
Encontrado = True ' Define Encontrado como True.
Exit For ' Sai do loop.
End If
Next

Exemplo da instruo For...Next

Este exemplo utiliza a instruo For...Next para criar uma seqncia de caracteres que contm 10
instncias dos nmeros 0 a 9, cada seqncia de caracteres separada da outra por um nico
espao. O loop externo utiliza uma varivel de contador de loops que decrescida toda vez atravs
do loop.
Dim Palavras, Caracteres, MinhaSeqncia
For Palavras = 10 To 1 Step -1 ' Configura 10 repeties.
For Caracteres = 0 To 9 ' Configura 10 repeties.
MinhaSeqncia = MinhaSeqncia & Caracteres ' Acrescenta o nmero
seqncia de caracteres.
Next Caracteres ' Incrementa o contador
MinhaSeqncia = MinhaSeqncia & " " ' Acrescenta um espao.
Next Palavras

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo GoSub...Return

Este exemplo utiliza GoSub para chamar uma sub-rotina dentro de um procedimento Sub. A
instruo Return faz com que a execuo continue imediatamente aps a instruo GoSub. A
instruo Exit Sub utilizada para evitar que o controle flua acidentalmente para a sub-rotina.
Sub GosubDemo()
Dim Num
' Solicita um nmero ao usurio.
Num = InputBox("Insira um nmero positivo para ser dividido por 2.")
' Utiliza a rotina somente se o usurio inserir um nmero positivo.
If Num > 0 Then GoSub MinhaRotina
Debug.Print Num
Exit Sub ' Utiliza Exit para evitar um erro.
MinhaRotina:
Num = Num/2 ' Executa a diviso.
Return ' Retorna o controle instruo
End Sub ' que se segue instruo GoSub.


Exemplo da instruo GoTo

Este exemplo utiliza a instruo GoTo para desviar para rtulos de linha de um procedimento.
Sub GotoStatementDemo()
Dim Nmero, MinhaSeqncia
Nmero = 1 ' Inicializa a varivel.
' Avalia Nmero e desvia para o rtulo apropriado.
If Nmero = 1 Then GoTo Line1 Else GoTo Line2

Line1:
MinhaSeqncia = "Nmero igual a 1"
GoTo LastLine ' Vai para LastLine.
Line2:
' A instruo a seguir nunca executada.
MinhaSeqncia = "Nmero igual a 2"
LastLine:
Debug.Print MinhaSeqncia ' Imprime "Nmero igual a 1" na
' janela Depurar.
End Sub


Exemplo da instruo If...Then...Else

Este exemplo mostra as formas de bloco e de linha nica da instruo If...Then...Else. Ele tambm
ilustra o uso de If TypeOf...Then...Else.
Dim Nmero, Dgitos, MinhaSeqncia
Nmero = 53 ' Inicializa a varivel.
If Nmero < 10 Then
Dgitos = 1
ElseIf Nmero < 100 Then
' A condio avalia como True, ento a prxima instruo executada.
Dgitos = 2
Else
Dgitos = 3
End If

' Atribui um valor utilizando a forma de sintaxe de linha nica.
If Dgitos = 1 Then MinhaSeqncia = "Uma" Else MinhaSeqncia = "Mais de
uma"

Utilize a construo If TypeOf para determinar se o Controle passado para um procedimento uma
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
caixa de texto.
Sub ControlProcessor(MeuControle As Control)
If TypeOf MeuControle Is CommandButton Then
Debug.Print "Voc passou um " & TypeName(MeuControle)
ElseIf TypeOf MeuControle Is CheckBox Then
Debug.Print "Voc passou um " & TypeName(MeuControle)
ElseIf TypeOf MeuControle Is TextBox Then
Debug.Print "Voc passou um " & TypeName(MeuControle)
End If
End Sub


Exemplo da funo IIf

Este exemplo utiliza a funo IIf para avaliar o parmetro TestMe do procedimento CheckIt e
retorna a palavra "Grande" se a quantidade for maior que 1000; do contrrio, retorna a palavra
"Pequena".
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Grande", "Pequena")
End Function


Exemplo das instrues On...GoSub e On...GoTo

Este exemplo utiliza as instrues On...GoSub e On...GoTo para desviar para sub-rotinas e rtulos
de linha, respectivamente.
Sub OnGosubGotoDemo()
Dim Nmero, MinhaSeqncia
Nmero = 2 ' Inicializa a varivel.
' Desvia para Sub2.
On Nmero GoSub Sub1, Sub2 ' A execuo continua aqui depois de
' On...GoSub.
On Nmero GoTo Linha1, Linha2 ' Desvia para Linha2.
' A execuo no continua aqui depois de On...GoTo.
Exit Sub
Sub1:
MihaSeqncia = "Em Sub1" : Return
Sub2:
MinhaSeqncia = "Em Sub2" : Return
Linha1:
MinhaSeqncia = "Em Linha1"
Linha2:
MinhaSeqncia = "Em Linha2"
End Sub

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Partition

Este exemplo pressupe que voc tem uma tabela Pedidos que contm um campo Frete. Ela cria um
procedimento de seleo que conta o nmero de pedidos para os quais o custo se enquadra em cada
um dos diversos intervalos. A funo Partition utilizada primeiro para estabelecer esses intervalos
e, em seguida, a funo SQL Count conta o nmero de pedidos em cada faixa. Neste exemplo, os
argumentos da funo Partition so incio = 0, fim = 500, intervalo = 50. O primeiro intervalo,
portanto, seria 0:49, e assim por diante at 500.

SELECT DISTINCTROW Partition([frete],0, 500, 50) AS Range,
Count(Pedidos.Frete) AS Count
FROM Pedidos
GROUP BY Partition([frete],0,500,50);



Exemplo da instruo Select Case

Este exemplo utiliza a instruo Select Case para avaliar o valor de uma varivel. A segunda
clusula Case contm o valor da varivel que est sendo avaliada e, portanto, somente a instruo
associada a ela executada.
Dim Nmero
Nmero = 8 ' Inicializa a varivel.
Select Case Nmero ' Avalia Nmero.
Case 1 To 5 ' Nmero entre 1 e 5.
Debug.Print "Entre 1 e 5"
' A seguinte a nica clusula Case que avalia como True.
Case 6, 7, 8 ' Nmero entre 6 e 8.
Debug.Print "Entre 6 e 8"
Case Is > 8 And Nmero < 11 ' Nmero 9 ou 10.
Debug.Print "Maior que 8"
Case Else ' Outros valores.
Debug.Print "No entre 1 e 10"
End Select


Exemplo da funo Shell

Este exemplo utiliza a funo Shell para executar um aplicativo
especificado pelo usurio.

' Especificar 1 como o segundo argumento abre o aplicativo no tamanho
normal e lhe d o foco.
Dim ValRet
ValRet = Shell("C:\WINDOWS\CALC.EXE", 1) ' Executa Calculator.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Stop

Este exemplo utiliza a instruo Stop para suspender a execuo de cada iterao atravs do loop
For...Next.
Dim I
For I = 1 To 10 ' Inicia o loop For...Next.
Debug.Print I ' Imprime I na janela Depurar.
Stop ' Pra durante cada iterao.
Next I


Exemplo da funo Switch

Este exemplo utiliza a funo Switch para retornar o nome de um idioma que corresponde ao nome
de uma cidade.
Function MatchUp (NomeDeCidade As String)
Matchup = Switch(NomeDeCidade = "Londres", "Ingls", NomeDeCidade _
= "Roma", "Italiano", NomeDeCidade = "Paris", "Francs")
End Function


Exemplo da instruo While...Wend

Este exemplo utiliza a instruo While...Wend para incrementar uma varivel de contador. As
instrues no loop so executadas desde que a condio avalie True.
Dim Contador
Contador = 0 ' Inicializa a varivel.
While Contador < 20 ' Testa valor de Contador.
Contador = Contador + 1 ' Incrementa Contador.
Wend ' Encerra o loop While quando Contador > 19.
Debug.Print Contador ' Imprime 20 na janela Depurar.


Exemplo da instruo With

Este exemplo utiliza a instruo With para executar uma srie de instrues em um nico objeto. O
objeto MeuObjeto e as suas propriedades so nomes genricos utilizados somente com finalidades
ilustrativas.
With MeuObjeto
.Height = 100 ' Igual a MeuObjeto.Height = 100.
.Caption = "Al Mundo" ' Igual a MeuObjeto.Caption = "Al Mundo".
With .Font
.Color = Red ' Igual a MeuObjeto.Font.Color = Red.
.Bold = True ' Igual a MeuObjeto.Font.Bold = True.
End With
End With


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

Call Opcional; palavra-chave. Se for especificada, voc
dever colocar listadeargumentos entre parnteses.
Por exemplo:
Call MyProc(0)
nome Obrigatria. Nome do procedimento a chamar.
listadeargumentos 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 Descrio

ndice Obrigatria. Expresso numrica ou campo que resulta em um
valor entre 1 e o nmero de escolhas disponveis.
escolha 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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
deve observar se existem efeitos colaterais indesejveis. Por exemplo, se voc utilizar a funo
MsgBox como parte de uma expresso em todas as escolhas, ser exibida uma caixa de mensagem
quando cada escolha for avaliada, mesmo que Choose retorne o valor de apenas uma delas.
A funo Choose retorna um Null se ndice for menor que 1 ou maior que o nmero de escolhas
listadas.
Se ndice no for um nmero inteiro, ser arredondado para o nmero inteiro mais prximo antes de
ser avaliado.

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.


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Do...Loop
Repete um bloco de instrues enquanto uma condio True ou at que ela se torne True.
Sintaxe
Do [{While | Until} condio]
[instrues]
[Exit Do]
[instrues]
Loop

Ou voc pode utilizar esta sintaxe:

Do
[instrues]
[Exit Do]
[instrues]
Loop [{While | Until} condio]

A sintaxe da instruo Do Loop possui as partes a seguir:
Parte Descrio

condio Opcional. Expresso numrica ou expresso de seqncia
que seja True ou False. Se condio for Null, condio
tratada como False.
instrues 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 Descrio

End 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.
End Function Obrigatria para finalizar uma instruo Function.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
End If Obrigatria para finalizar uma instruo de bloco
IfThenElse.
End Property Obrigatria para finalizar um procedimento Property Let,
Property Get ou Property Set.
End Select Obrigatria para finalizar uma instruo Select Case.
End Sub Obrigatria para finalizar uma instruo Sub.
End Type Obrigatria finalizar uma definio de tipo definido pelo
usurio (instruo Type).
End With Obrigatria para finalizar uma instruo With.

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 Descrio

Exit Do 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.
Exit For 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.
Exit Function Sai imediatamente do procedimento Function no qual
aparece. A execuo continua com a instruo seguinte
instruo que chamou o Function.
Exit Property Sai imediatamente do procedimento Property no qual
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
aparece. A execuo continua com a instruo seguinte
instruo que chamou o procedimento Property.
Exit Sub Sai imediatamente do procedimento Sub no qual
aparece. A execuo continua com a instruo seguinte
instruo que chamou o procedimento Sub.

Comentrios
No confunda instrues Exit com instrues End. Exit no define o final de uma estrutura.
Instruo For Each...Next
Repete um grupo de instrues para cada elemento de uma matriz ou coleo.
Sintaxe
For Each elemento In grupo
[instrues]
[Exit For]
[instrues]
Next [elemento]

A sintaxe da instruo For...Each...Next possui as partes a seguir:
Parte Descrio

elemento 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.
grupo Obrigatria. Nome de uma coleo ou matriz de
objetos(exceto matriz de tipos definidos pelo usurio).
instrues 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo For...Next
Repete um grupo de instrues um nmero especfico de vezes.
Sintaxe
For contador = incio To fim [Step passo]
[instrues]
[Exit For]
[instrues]
Next [contador]

A sintaxe da instruo ForNext possui as partes a seguir:
Parte Descrio

contador Obrigatria. Varivel numrica utilizada como contador de
loops. A varivel no pode ser um Boolean ou um elemento
de matriz.
incio Obrigatria. Valor inicial do contador.
fim Obrigatria. Valor final do contador.
passo Opcional. A quantidade em que o contador alterado cada
vez que passa pelo loop. Se o passo no for especificado, o
padro ser um.
instrues 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 Loop executado se

Positivo ou 0 contador <= fim
Negativo 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo GoSub...Return
Desvia para, e retorna de uma sub-rotina dentro de um procedimento.
Sintaxe
GoSub linha
...
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 condio Then
[instrues]
[ElseIf condio-n Then
[instrueselseif] ...
[Else
[instrueselse]]
End If

A instruo If...Then...Else possui as partes a seguir:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Parte Descrio

condio 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.
instrues 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.
condio-n Opcional. Igual a condio.
instrueselseif Opcional. Uma ou mais instrues executadas se a
condio-n associada for True.
instrueselse 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 palavra-
chave 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

expr Obrigatria. Expresso que voc deseja avaliar.
truepart Obrigatria. Valor ou expresso retornada se expr for True.
falsepart 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.

Instrues On...GoSub, On...GoTo
Desviam para uma das diversas linhas especificadas, dependendo do valor de uma expresso.
Sintaxe
On expresso GoSub listadedestino
On expresso GoTo listadedestino

A sintaxe das instrues On...GoSub e On...GoTo possui as partes a seguir:
Parte Descrio

expresso 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.
listadedestino 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 Ento
Igual a 0 O controle cai para a instruo subseqente a
On...GoSub ou On...GoTo.
Maior que o
nmero de itens
de uma lista
O controle cai para a instruo subseqente a
On...GoSub ou On...GoTo.
Negativo Ocorre um erro.
Maior que 255 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

number Obrigatrio. Nmero inteiro que voc deseja avaliar em
relao aos intervalos.
start Obrigatrio. Nmero inteiro que o incio do intervalo geral
de nmeros. No pode ser menor que 0.
stop Obrigatrio. Nmero inteiro que o final do intervalo geral de
nmeros. No pode ser igual nem menor que start.
interval 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 Antes do
primeiro
Primeiro
intervalo
ltimo
intervalo
Depois do
ltimo
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Select Case
Executa um dos diversos grupos de instrues, dependendo do valor de uma expresso.
Sintaxe
Select Case expressodeteste
[Case listadeexpresses-n
[instrues-n]] ...
[Case Else
[instrueselse]]
End Select

A sintaxe da instruo Select Case possui as partes a seguir:
Parte Descrio

expressodetest
e
Obrigatria. Qualquer expresso numrica ou
expresso de seqncia.
listadeexpresse
s-n
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 palavra-
chave 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.
Instrues-n Opcional. Uma ou mais instrues so executadas se
expressodeteste coincidir com qualquer parte de
listadeexpresses-n.
instrueselse 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 O operador de comparao Is no igual palavra-chave Is utilizada na instruo
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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 Descrio

pathname 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.
windowstyle 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.

O argumento nomeado windowstyle possui os valores a seguir:
Constante Valor Descrio

vbHide 0 A janela ocultada e o foco passado
para a janela oculta.
VbNormalFocus 1 A janela tem foco e restaurada para
seu tamanho e posio originais.
vbMinimizedFocus 2 A janela exibida como um cone com
foco.
vbMaximizedFocus 3 A janela maximizada com foco.
vbNormalNoFocus 4 A janela restaurada para seu tamanho
e posio mais recentes. A janela ativa
atual permanece ativa.
vbMinimizedNoFocus 6 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

expr Obrigatria. expresso Variant que voc deseja avaliar.
valor 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:
Nenhuma das expresses for True.
A primeira expresso True tiver um valor correspondente que seja Null.

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
While condio
[instrues]
Wend

A sintaxe da instruo While...Wend possui as partes a seguir:
Parte Descrio

condio Obrigatria. Expresso numrica ou expresso de
seqncia que avaliada como True ou False. Se condio
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
for Null, ser tratada como False.
instrues Opcional. Uma ou mais instrues que so executadas
enquanto a condio for True.

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 objeto
[instrues]
End With

A instruo With possui as partes a seguir:
Parte Descrio

objeto Obrigatria. Nome de um objeto ou de um tipo definido pelo
usurio.
instrues 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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
letra na seqncia de caracteres.
Dim MeuNmero
MeuNmero = Asc("A") ' Retorna 65.
MeuNmero = Asc("a") ' Retorna 97.
MeuNmero = Asc("Amora") ' Retorna 65.


Exemplo da funo CBool
Este exemplo utiliza a funo CBool para converter uma expresso em um Boolean. Se a expresso
avaliar como um valor diferente de zero, CBool retornar True; caso contrrio, retornar False.
Dim A, B, Controle
A = 5: B = 5 ' Inicializa variveis.
Controle = CBool(A = B) ' Controle contm True.

A = 0 ' Define a varivel.
Controle = CBool(A) ' Controle contm False.


Exemplo da funo CByte

Este exemplo utiliza a funo CByte para converter uma expresso em um Byte.
Dim MeuDouble, MeuByte
MeuDouble = 125.5678 ' MeuDouble um Double.
MeuByte = CByte(MeuDouble) ' MeuByte contm 126.


Exemplo da funo CDate

Este exemplo utiliza a funo CDate para converter uma seqncia de caracteres em um Date. Em
geral, datas e horas definidas no programa como seqncias de caracteres (conforme mostrado
neste exemplo) no so recomendadas. Em vez disso, utilize literais de data e literais de hora, como
#2/12/1969# e #4:45:23 PM#.
Dim MinhaData, MinhaDataAbreviada, MinhaHora, MinhaHoraAbreviada
MinhaData = "12 de Fevereiro de 1969" ' Define a data.
MinhaDataAbreviada = CDate(MinhaData) ' Converte no tipo de dados Date.

MinhaHora = "4:35:47 PM" ' Define a hora.
MinhaHoraAbreviada = CDate(MinhaHora) ' Converte no tipo de dados Date.

Exemplo da funo CCur

Este exemplo utiliza a funo CCur para converter uma expresso em um Currency.
Dim MeuDouble, MeuCurr
MeuDouble = 543.214588 ' MeuDouble um Double.
MeuCurr = CCur(MeuDouble * 2) ' Converte o resultado de MeuDouble * 2
' (1086.429176) em um
' Currency (1086.4292).

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo CDbl

Este exemplo utiliza a funo CDbl para converter uma expresso em um Double.
Dim MeuCurr, MeuDouble
MeuCurr = CCur(234.456784) ' MeuCurr um Currency.
MeuDouble = CDbl(MeuCurr * 8.2 * 0.01) ' Converte o resultado em um
Double.

Exemplo da funo CInt

Este exemplo utiliza a funo CInt para converter um valor em um Integer.
Dim MeuDouble, MeuInt
MeuDouble = 2345.5678 ' MeuDouble um Double.
MeuInt = CInt(MeuDouble) ' MeuInt contm 2346.


Exemplo da funo CLng

Este exemplo utiliza a funo CLng para converter um valor em um Long.
Dim MeuVal1, MeuVal2, MeuLong1, MeuLong2
MeuVal1 = 25427.45: MeuVal2 = 25427.55 ' MeuVal1 e MeuVal2 so Doubles.
MeuLong1 = CLng(MeuVal1) ' MeuLong1 contm 25427.
MeuLong2 = CLng(MeuVal2) ' MeuLong2 contm 25428.


Exemplo da funo CSng

Este exemplo utiliza a funo CSng para converter um valor em um Single.
Dim MeuDouble1, MeuDouble2, MeuSingle1, MeuSingle2
' MeuDouble1, MeuDouble2 so Doubles.
MeuDouble1 = 75.3421115: MeuDouble2 = 75.3421555
MeuSingle1 = CSng(MeuDouble1) ' MeuSingle1 contm 75,34211.
MeuSingle2 = CSng(MyDouble2) ' MeuSingle2 contm 75,34216.


Exemplo da funo CStr

Este exemplo utiliza a funo CStr para converter um valor numrico em uma String.
Dim MeuDouble, MinhaSeqncia
MeuDouble = 437.324 ' MeuDouble um Double.
MinhaSeqncia = CStr(MeuDouble) ' MinhaSeqncia contm "437,324".


Exemplo da funo CVar

Este exemplo utiliza a funo CVar para converter uma expresso em uma Variant.
Dim MeuInt, MinhaVar
MeuInt = 4534 ' MeuInt um Integer.
MinhaVar = CVar(MeuInt & "000") ' MinhaVar contm a seqncia de
caracteres
' 4534000.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo CVErr

Este exemplo utiliza a funo CVErr para retornar uma Variant cujo VarType vbError (10). A
funo definida pelo usurio CalculaDouble retorna um erro se o argumento passado a ela no for
um nmero. Voc pode utilizar CVErr para retornar erros definidos pelo usurio de procedimentos
definidos pelo usurio ou para adiar o tratamento de um erro em tempo de execuo. Utilize a funo
IsError para testar se o valor representa um erro.
' Chama CalculaDouble com um argumento de produo de erro.
Sub Test()
Debug.Print CalculaDouble("345.45robert")
End Sub
' Define o procedimento da funo CalculaDouble.
Function CalculaDouble(Nmero)
If IsNumeric(Nmero) Then
CalculaDouble = Nmero * 2 ' Retorna o resultado.
Else
CalculaDouble = CVErr(2001) ' Retorna um nmero de erro
End If ' definido pelo usurio.
End Function


Exemplo da funo Val

Este exemplo utiliza a funo Val para retornar os nmeros contidos em uma seqncia de
caracteres.
Dim MeuValor
MeuValor = Val("2457") ' Retorna 2457.
MeuValor = Val(" 2 45 7") ' Retorna 2457.
MeuValor = Val("24 com 57") ' Retorna 24.


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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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(" 1615 198th Street N.E.")

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.

Funes de converso de tipo
Cada funo fora a converso de uma expresso em um tipo de dados especfico.
Sintaxe
CBool(expresso)
CByte(expresso)
CCur(expresso)
CDate(expresso)
CDbl(expresso)
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
CDec(expresso)
CInt(expresso)
CLng(expresso)
CSng(expresso)
CVar(expresso)
CStr(expresso)
O argumento obrigatrio expresso pode ser qualquer expresso de seqncia ou expresso
numrica.
Tipos de retorno
O nome da funo determina o tipo de retorno como mostrado a seguir:
Funo Tipo de
retorno
Intervalo do argumento expresso

CBool Boolean Qualquer seqncia ou expresso numrica
vlida.
CByte Byte de 0 a 255.
CCur Currency de -922.337.203.685.477,5808 a
922.337.203.685.477,5807.
CDate Date Qualquer expresso de data vlida.
CDbl Double de -1,79769313486232E308 a
-4,94065645841247E-324 para valores
negativos; de 4,94065645841247E-324 a
1,79769313486232E308 para valores
positivos.
CDec Decimal +/-79.228.162,514.264.337.593.543.950.335
para nmeros inteiros, isto , nmeros sem
casas decimais. Para nmeros com 28 casas
decimais, o intervalo
+/-7,9228162514264337593543950335. O
menor nmero possvel diferente de zero
0,0000000000000000000000000001.
CInt Integer de -32.768 a 32.767; as fraes so
arredondadas.
CLng Long de -2.147.483.648 a 2.147.483.647; as
fraes so arredondadas.
CSng Single de -3,402823E38 a -1,401298E-45 para
valores negativos; de 1,401298E-45 a
3,402823E38 para valores positivos.
CVar Variant Mesmo intervalo de Double para valores
numricos. Mesmo intervalo de String para
valores no-numricos.
CStr String 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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
de dados internacionais de um tipo de dados para outro. Por exemplo, quando voc utiliza CCur,
separadores decimais diferentes, separadores de milhares diferentes e vrias opes de moeda so
reconhecidas apropriadamente dependendo da definio da localidade em seu computador.
Quando uma parte fracionria equivaler exatamente a 0,5, CInt e CLng sempre a arredondaro para
o nmero par mais prximo. Por exemplo, 0,5 arredondado para 0 e 1,5 para 2. CInt e CLng
diferem das funes Fix e Int, que truncam, ao invs de arredondar, a parte fracionria de um
nmero. Alm disso, Fix e Int sempre retornam um valor do mesmo tipo do valor que passado para
eles.
Utilize IsDate para determinar se a data pode ser convertida para uma data ou hora. CDate
reconhece os literais de data e de hora assim como alguns nmeros contidos no intervalo de datas
aceitveis. Ao converter um nmero em data, todo o nmero convertido em uma data. Qualquer
parte fracionria do nmero convertida em uma hora do dia, comeando meia-noite.
CDate reconhece os formatos de data de acordo com a definio de localidade de seu sistema. A
ordem correta de dia, ms e ano pode no ser determinada se for fornecida em um formato diferente
das definies de data reconhecidas. Alm disso, o formato de data no reconhecido se tambm
contiver o nome do dia da semana.
Uma funo CVDate tambm fornecida para se obter compatibilidade com as verses anteriores do
Visual Basic. A sintaxe da funo CVDate idntica da funo Cdate. Entretanto, CVDate retorna
um Variant cujo subtipo Date em vez de um tipo Date real. Como j existe um tipo de data Date
intrnseca, no haver mais necessidade de CVDate. O mesmo efeito pode ser alcanado
convertendo uma expresso em Date, e, em seguida, atribuindo-lhe um Variant. Essa tcnica
consistente com a converso de todos os outros tipos intrnsecos a seus subtipos de Variant
equivalentes.
Observao A funo CDec no retorna um tipo de dados discreto; ao contrrio, ela sempre retorna
um Variant cujo valor tenha sido convertido em um subtipo Decimal.

Retornos de CStr
Se a expresso
for
CStr retorna

Boolean Uma seqncia contendo True ou False
Date Uma seqncia contendo uma data no formato curto de
seu sistema
Null Um erro em tempo de execuo
Empty Uma seqncia de comprimento zero ("")
Error Uma seqncia contendo a palavra Error seguida pelo
nmero do erro
Outros valores
numricos
Uma seqncia contendo o nmero

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Tipo de dados Boolean
As variveis Boolean so armazenadas como nmeros de 16 bits (2 bytes), mas podem conter
somente os valores True ou False. As variveis Boolean so exibidas como True ou False
(quando usado Print) ou #TRUE# ou #FALSE# (quando usado Write #). Use as palavras-chave
True e False para atribuir um dos dois estados a variveis Boolean.
Quando outros tipos numricos so convertidos em valores Boolean, 0 torna-se False e todos os
outros valores tornam-se True. Quando os valores Boolean so convertidos para outros tipos de
dados, False torna-se 0 e True torna-se -1.

Tipo de dados Byte
As variveis Byte so armazenadas como nmeros de 8 bits (1 byte), sem sinal, nicos, que variam
em valor de 0 a 255.
O tipo de dados Byte til para conter dados binrios.

Tipo de dados Currency
As variveis Currency so armazenadas como nmeros de 64 bits (8 bytes) no formato de nmero
inteiro, com escala de 10.000 para fornecer um nmero de vrgula fixa com 15 dgitos esquerda do
ponto decimal e 4 dgitos direita. Essa representao proporciona um intervalo de -
922.337.203.685.477,5808 a 922.337.203.685.477,5807. O caractere de declarao de tipo referente
a Currency o sinal (@).
O tipo de dados Currency til para clculos que envolvem dinheiro e clculos de vrgula fixa, nos
quais a preciso especialmente importante.
Resumo dos tipos de dados
A tabela a seguir mostra os tipos de dados suportados, incluindo tamanhos e intervalos de
armazenamento.
Tipo de dados Tamanho de
armazename
nto
Intervalo

Byte 1 byte 0 a 255
Boolean 2 bytes True ou False
Integer 2 bytes -32.768 a 32.767
Long
(inteiro longo)
4 bytes -2.147.483.648 a 2.147.483.647
Single
(vrgula flutuante
de preciso
simples)
4 bytes -3,402823E38 a -1,401298E-45 para valores
negativos; 1,401298E-45 a 3,402823E38
para valores positivos
Double
(vrgula flutuante
de preciso
dupla)
8 bytes -1,79769313486232E308 a
-4,94065645841247E-324 para valores
negativos; 4,94065645841247E-324 a
1,79769313486232E308 para valores
positivos
Currency
(inteiro escalado)
8 bytes -922.337.203.685.477,5808 a
922.337.203.685.477,5807
Decimal 14 bytes +/-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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
+/-0,0000000000000000000000000001.
Date 8 bytes De 1 de Janeiro de 100 at 31 de
Dezembro de 9999
Object 4 bytes Qualquer referncia a Object
String
(comprimento da
varivel)
10 bytes +
comprimento
da seqncia
de caracteres
De 0 at aproximadamente 2 bilhes
String
(comprimento
fixo)
Comprimento
da seqncia
de caracteres
De 1 at aproximadamente 65.400
Variant
(com nmeros)
16 bytes Qualquer valor numrico at o intervalo de
um Double
Variant
(com caracteres)
22 bytes +
comprimento
da seqncia
de caracteres
O mesmo intervalo que String de
comprimento varivel
Definido pelo
usurio
(usando Type)
Nmero
requerido por
elementos
O intervalo de cada elemento o mesmo
que o intervalo do seu tipo de dados.

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.

Tipo de dados Date
As variveis Date so armazenadas como nmeros IEEE de vrgula flutuante de 64 bits (8 bytes) que
representam as datas que variam de 1 de janeiro do ano 100 at 31 de dezembro de 9999 e as horas
que variam de 0:00:00 at 23:59:59. Qualquer valor literal de data reconhecvel pode ser atribudo a
variveis Date. Os literais Date devem estar entre sinais (#), por exemplo, #January 1, 1993# ou
#1 Jan 93#.
As variveis Date exibem as datas de acordo com o formato abreviado de data reconhecido pelo seu
computador. As horas so exibidas de acordo com o formato de hora (de 12 ou de 24 horas)
reconhecido pelo seu computador.
Quando outros tipos numricos so convertidos em Date, os valores esquerda do decimal
representam as informaes de data, enquanto os valores direita representam a hora. Meia-noite
0 e meio-dia 0,5. Os nmeros negativos inteiros representam datas anteriores a 30 de dezembro de
1899.

Tipo de dados Decimal
As variveis Decimal so armazenadas como nmeros inteiros, sem sinal, de 96 bits (12 bytes),
escalados por uma potncia de 10 varivel. O fator de escala potncia de 10 especifica o nmero de
dgitos direita da vrgula decimal e varia de 0 a 28. Com uma escala de 0 (sem casas decimais), o
maior valor possvel +/-79.228.162.514.264.337.593.543.950.335. Com 28 casas decimais, o maior
valor +/-7,9228162514264337593543950335 e o menor valor, diferente de zero, +/-
0,0000000000000000000000000001.
Observao Por ora, o tipo de dados Decimal pode ser usado somente dentro de um Variant, ou
seja, voc no pode declarar uma varivel como sendo do tipo Decimal. Voc pode, entretanto, criar
um Variant cujo subtipo seja Decimal usando a funo CDec.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Tipo de dados Double
As variveis Double (vrgula flutuante de preciso dupla) so armazenadas como nmeros IEEE de
vrgula flutuante de 64 bits (8 bytes), com valor no intervalo -1,79769313486232E308 a -
4,94065645841247E-324 para valores negativos, e de 4,94065645841247E-324 a
1,79769313486232E308 para valores positivos. O caractere de declarao de tipo para Double o
smbolo (#).

Tipo de dados Integer
As variveis Integer so armazenadas como nmeros de 16 bits (2 bytes) com valor no intervalo de -
32.768 a 32.767. O caractere de declarao de tipo para Integer o smbolo de porcentagem (%).
As variveis Integer tambm podem ser usadas para representar valores enumerados. Um valor
enumerado pode conter um conjunto finito de nmeros inteiros, cada qual possuindo um significado
especial no contexto em que usado. Os valores enumerados oferecem uma forma conveniente de
selecionar entre um nmero de opes conhecidas, por exemplo, preto = 0, branco = 1, e assim por
diante. boa prtica de programao definir constantes usando a instruo Const para cada valor
enumerado.

Tipo de dados Long
As variveis Long (inteiro longo) so armazenadas como nmeros de 32 bits (4 bytes) assinalados
no intervalo de -2.147.483.648 a 2.147.483.647. O caractere de declarao de tipo referente a Long
o ampersand (&).

Tipo de dados Object
As variveis Object so armazenadas como endereos de 32 bits (4 bytes) que se referem a objetos.
Usando a instruo Set, uma varivel declarada como um Object pode ter qualquer referncia de
objeto atribuda a ela.
Observao Embora uma varivel declarada com o tipo Object seja flexvel o suficiente para conter
uma referncia a qualquer objeto, a ligao ao objeto referido por aquela varivel sempre atrasada
(ligao por tempo de execuo). Para forar a ligao adiantada (ligao por tempo de compilao),
atribua a referncia do objeto a uma varivel declarada com um nome de classe especfico.

Tipo de dados Single
As variveis Single (de vrgula flutuante de preciso nica) so armazenadas como nmeros IEEE de
vrgula flutuante de 32 bits (4 bytes), com valor no intervalo de -3,402823E38 a -1,401298E-45 para
valores negativos e de 1,401298E-45 a 3,402823E38 para valores positivos. O caractere de
declarao de tipo para Single o ponto de exclamao (!).
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Tipo de dados String
Existem dois tipos de seqncias de caracteres: de comprimento varivel e de comprimento fixo.
Uma seqncia de comprimento varivel pode conter at aproximadamente 2 bilhes (2^31) de
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 ($).

Tipo de dados definido pelo usurio
qualquer tipo de dados que voc define usando a instruo Type. Os tipos de dados definidos pelo
usurio podem conter um ou mais elementos de um tipo de dados, uma matriz ou um tipo
previamente definido pelo usurio. Por exemplo:
Type MeuTipo
MeuNome As String ' A varivel de seqncia de caracteres armazena um
nome.
MinhaDataNasc As Date ' Varivel de data armazena a data do
nascimento.
MeuSexo As Integer ' A varivel de inteiro armazena o sexo (0 para
End Type ' feminino, 1 para masculino).


Tipo de dados Variant
O tipo de dados Variant o tipo de dados para todas as variveis que no foram explicitamente
declaradas como algum outro tipo (usando instrues como Dim, Private, Public ou Static). O tipo
de dados Variant no possui caractere de declarao de tipo.
Um Variant um tipo de dados especial que contm qualquer tipo de dados com exceo de dados
String de comprimento fixo e os tipos definidos pelo usurio. O Variant tambm pode conter valores
especiais Empty, Error, Nothing e Null. Voc pode determinar como os dados em uma Variant so
tratados usando as funes VarType ou TypeName.
Os dados numricos podem ter qualquer valor de nmero inteiro ou real no intervalo de -
1,797693134862315E308 a -4,94066E-324 para valores negativos e de 4,94066E-324 a
1,797693134862315E308 para valores positivos. Geralmente os dados numricos Variant so
mantidos em seu tipo de dados original dentro de Variant. Por exemplo, se voc atribuir um Integer a
uma Variant, as operaes subsequentes trataro a Variant como um Integer. Entretanto, se uma
operao aritmtica for realizada em uma Variant contendo um Byte, um Integer, um Long ou um
Single, e o resultado exceder o intervalo normal para o tipo de dados original, o resultado ser
promovido dentro da Variant para o prximo tipo de dados maior. Um Byte promovido a Integer,
um Integer promovido a Long e um Long e um Single so promovidos a Double. Ocorrer um
erro quando as variveis de Variant contendo os valores Currency, Decimal e Double excederem
seus respectivos intervalos.
Voc pode usar o tipo de dados Variant no lugar de qualquer tipo de dados para trabalhar com dados
de uma forma mais flexvel. Se o contedo de uma varivel Variant for dgitos, eles podem ser a
representao em seqncia de caracteres dos dgitos ou seu valor real, dependendo do contexto.
Por exemplo:
Dim MinhaVar As Variant
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
MinhaVar = 98052

No exemplo anterior, MinhaVar contm uma representao numricao valor real 98052. Os
operadores aritmticos funcionam como esperado em variveis Variant que contm valores
numricos ou dados de seqncia de caracteres que podem ser interpretados como nmeros. Se
voc usar o operador + para adicionar MinhaVar a uma outra Variant contendo um nmero ou a
uma varivel de um tipo numrico, o resultado ser uma soma aritmtica.
O valor Empty denota uma varivel Variant que no foi inicializada (atribudo um valor inicial). Uma
Variant contendo Empty ser 0 se for usada em um contexto numrico, e uma seqncia de
caracteres de comprimento zero ("") se for usada em um contexto de seqncia de caracteres.
No confunda Empty com Null. Null indica que a varivel Variant propositadamente no contm
dados vlidos.
Em uma Variant, Error representa um valor especial usado para indicar que ocorreu uma condio
de erro em um procedimento. Entretanto, ao contrrio de outros tipos de erro, no ocorre a
manipulao normal de erros no nvel do aplicativo. Isso permite que voc ou o prprio aplicativo,
realize alguma ao alternativa com base no valor do erro. Os valores de Error so criados pela
converso de nmeros reais em valores de erro usando a funo CVErr.

Exemplo da funo Date

Este exemplo utiliza a funo Date para retornar a data atual do sistema.
Dim MinhaData
MinhaData = Date ' MinhaData contm a data atual do sistema.


Exemplo da instruo Date

Este exemplo utiliza a instruo Date para definir a data do sistema do computador. No ambiente de
desenvolvimento, a literal de data exibida em formato de data abreviada utilizando as definies de
localidade do seu cdigo.
Dim MinhaData
MinhaData = #Fevereiro 12, 1985# ' Atribui uma data.
Date = MinhaData ' Altera a data do sistema.


Exemplo da funo DateAdd

Este exemplo toma uma data e, utilizando a funo DateAdd, exibe uma data correspondente em um
nmero especificado de meses no futuro.
Dim PrimeiraData As Date ' Declara variveis.
Dim TipoDoIntervalo As String
Dim Nmero As Integer
Dim Msg
TipoDoIntervalo = "m" ' "m" especifica meses como intervalo.
PrimeiraData = InputBox("Insira uma data")
Nmero = InputBox("Insira o nmero de meses a adicionar")
Msg = "Nova data: " & DateAdd(TipoDoIntervalo, Nmero, PrimeiraData)
MsgBox Msg


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo DateDiff

Este exemplo utiliza a funo DateDiff para exibir o nmero de dias entre uma determinada data e
hoje.
Dim AData As Date ' Declara as variveis.
Dim Msg
AData = InputBox("Insira uma data")
Msg = "Dias a contar de hoje: " & DateDiff("d", Agora, AData)
MsgBox Msg


Exemplo da funo DatePart

Este exemplo toma uma data e, utilizando a funo DatePart, exibe o trimestre do ano no qual ela
ocorre.
Dim AData As Date ' Declara as variveis.
Dim Msg
AData = InputBox("Insira uma data:")
Msg = "Trimestre: " & DatePart("q", AData)
MsgBox Msg


Exemplo da funo DateSerial

Este exemplo utiliza a funo DateSerial para retornar a data do ano, ms e dia especificados.
Dim MinhaData
' MinhaData contm a data de 12 de fevereiro de 1969.
MinhaData = DateSerial(1969, 2, 12) ' Retorna uma data.


Exemplo da funo DateValue

Este exemplo utiliza a funo DateValue para converter uma seqncia de caracteres em uma data.
Voc pode tambm utilizar literais de data para atribuir diretamente uma data a uma varivel Variant
ou Date, por exemplo, MinhaData = #2/12/69#).
Dim MinhaData
MinhaData = DateValue("12 Fevereiro 1969") ' Retorna uma data.


Exemplo da funo Day

Este exemplo utiliza a funo Day para obter o dia do ms de uma data especificada. No ambiente de
desenvolvimento, a literal de data exibida em formato abreviado utilizando as definies de
localidade do seu cdigo.
Dim MinhaData, MeuDia
MinhaData = #Fevereiro 12, 1969# ' Atribui uma data.
MeuDia = Day(MinhaData) ' MeuDia contm 12.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Hour

Este exemplo utiliza a funo Hour para obter a hora de um horrio especificado. No ambiente de
desenvolvimento, a literal de hora exibida em formato de hora abreviada utilizando as definies de
localidade do seu cdigo.
Dim MeuHorrio, MinhaHora
MeuHorrio = #4:35:17 PM# ' Atribui um horrio.
MinhaHora = Hour(MeuHorrio) ' MinhaHora contm 16.


Exemplo da funo Minute

Este exemplo utiliza a funo Minute para obter o minuto da hora de um horrio especificado. No
ambiente de desenvolvimento, a literal de hora exibida em formato de hora abreviada utilizando as
definies de localidade do seu cdigo.
Dim MeuHorrio, MeuMinuto
MeuHorrio = #4:35:17 PM# ' Atribui uma hora.
MeuMinuto = Minute(MeuHorrio) ' MeuMinuto contm 35.


Exemplo da funo Month

Este exemplo utiliza a funo Month para obter o ms de uma data especificada. No ambiente de
desenvolvimento, a literal de data exibida em formato de data abreviada utilizando as definies de
localidade do seu cdigo.
Dim MinhaData, MeuMs
MinhaData = #Fevereiro 12, 1969# ' Atribui uma data.
MeuMs = Month(MinhaData) ' MeuMs contm 2.


Exemplo da funo Now

Este exemplo utiliza a funo Now para retornar a data e a hora do sistema atual.
Dim Hoje
Hoje = Now ' Atribui a data e a hora atuais do sistema.

Exemplo da funo Second

Este exemplo utiliza a funo Second para obter o segundo do minuto de um horrio especificado.
No ambiente de desenvolvimento, a literal de hora exibida em formato de hora abreviada utilizando
as definies de localidade do seu cdigo.
Dim MeuHorrio, MeuSegundo
MeuHorrio = #4:35:17 PM# ' Atribui uma hora.
MeuSegundo = Second(MeuHorrio) ' MeuSegundo contm 17.

Exemplo da funo Time

Este exemplo utiliza a funo Time para retornar o horrio atual do sistema.
Dim MeuHorrio
MeuHorrio = Time ' Retorna o horrio atual do sistema.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Time

Este exemplo utiliza a instruo Time para definir o horrio do sistema do computador como um
horrio definido pelo usurio.
Dim MeuHorrio
MeuHorrio = #4:35:17 PM# ' Atribui um horrio.
Time = MeuHorrio ' Define o horrio do sistema como MeuHorrio.


Exemplo da funo Timer

Este exemplo utiliza a funo Timer para pausar o aplicativo. O exemplo tambm utiliza DoEvents
para submeter-se a outros processos durante a pausa.
Dim TempoDePausa, Incio, Fim, TempoTotal
If (MsgBox("Pressione Sim para pausar por 5 segundos", 4)) = vbYes Then
TempoDePausa = 5 ' Define a durao.
Incio = Timer ' Define a hora inicial.
Do While Timer < Incio + TempoDePausa
DoEvents ' Submete-se a outros processos.
Loop
Fim = Timer ' Define a hora final.
TempoTotal = Fim - Incio ' Calcula o tempo total.
MsgBox "Pausou por " & TempoTotal & " segundos"
Else
End
End If


Exemplo da funo TimeSerial

Este exemplo utiliza a funo TimeSerial para retornar um horrio para a hora, minuto e segundo
especificados.
Dim MeuHorrio
MeuHorrio = TimeSerial(16, 35, 17) ' MeuHorrio contm a representao
' serial de 4:35:17 PM.


Exemplo da funo TimeValue

Este exemplo utiliza a funo TimeValue para converter uma seqncia de caracteres em um
horrio. Voc pode tambm utilizar literais de data para atribuir diretamente uma hora a uma varivel
Variant ou Date, por exemplo, MeuHorrio = #4:35:17 PM#.
Dim MeuHorrio
MeuHorrio = TimeValue("4:35:17 PM") ' Retorna uma hora.


Exemplo da funo Weekday

Este exemplo utiliza a funo Weekday para obter o dia da semana de uma data especificada.
Dim MinhaData, MeuDiaDaSemana
MinhaData = #Fevereiro 12, 1969# ' Atribui uma data.
MeuDiaDaSemana = Weekday(MinhaData) ' MeuDiaDaSemana contm 4 porque
' MinhaData representa uma quarta-feira.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Year

Este exemplo utiliza a funo Year para obter o ano de uma data especificada. No ambiente de
desenvolvimento, a literal de data exibida em formato de data abreviada utilizando as definies de
localidade do seu cdigo.
Dim MinhaData, MeuAno
MinhaData = #Fevereiro 12, 1969# ' Atribui uma data.
MeuAno = Year(MinhaData) ' MeuAno contm 1969.


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 Descrio

interval Obrigatrio. Expresso de seqncia de caracteres que o
segmento de tempo que voc deseja adicionar.
number 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).
date Obrigatrio. Variant (Date) ou literal que representa a data na
qual o segmento adicionado.

Definies
O argumento interval possui estas definies:
Defini
o
Descrio

yyyy Ano
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
q Trimestre
m Ms
y Dia do ano
d Dia
w Dia da semana
ww Semana
h Hora
n Minuto
s 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-fev-
96 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 Descrio

interval Obrigatrio. Expresso de seqncia de caracteres que
o segmento que voc utiliza para calcular a diferena
entre data1 e data2.
date1, date2 Obrigatrio; Variant (Date). Duas datas que voc
deseja utilizar no clculo.
firstdayofweek Opcional. Uma constante que especifica o primeiro dia
da semana. Se no for especificada, assumido o
domingo.
firstweekofyear 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

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
yyyy Ano
q Trimestre
m Ms
y Dia do ano
d Dia
w Dia da semana
ww Semana
h Hora
n Minuto
s Segundo

O argumento firstdayofweek possui estas definies:
Constante Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
VbSunday 1 Domingo (padro)
vbMonday 2 Segunda-feira
vbTuesday 3 Tera-feira
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 Sbado

O argumento firstweekofyear possui estas definies:
Constante Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
vbFirstJan1 1 Inicia com a semana na qual ocorre o dia 1
de janeiro (padro).
vbFirstFourDays 2 Inicia com a primeira semana que tem pelo
menos quatro dias no ano novo.
vbFirstFullWeek 3 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 segundas-
feiras 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

interval Obrigatrio. Expresso de seqncia de caracteres que
o intervalo de tempo que voc deseja retornar.
date Obrigatrio. Valor de Variant (Date) que voc deseja
avaliar.
firstdayofweek Opcional. Uma constante que especifica o primeiro dia
da semana. Se no for especificada, assumido o
domingo.
firstweekofyear 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
Descrio

yyyy Ano
q Trimestre
m Ms
y Dia do ano
d Dia
w Dia da semana
ww Semana
h Hora
n Minuto
s Segundo

O argumento firstdayofweek possui estas definies:
Constante Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
vbSunday 1 Domingo (padro)
vbMonday 2 Segunda-feira
vbTuesday 3 Tera-feira
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 Sbado

O argumento firstweekofyear possui estas definies:
Constante Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
vbFirstJan1 1 Inicia com a semana na qual ocorre o dia 1
de janeiro (padro).
vbFirstFourDays 2 Inicia com a semana que tem pelo menos
quatro dias no ano novo.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbFirstFullWeek 3 Inicia com a primeira semana cheia do ano.

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 Descrio

year Obrigatrio; Integer. Nmero entre 100 e 9999, inclusive, ou uma
expresso numrica.
month Obrigatrio; Integer. Qualquer expresso numrica.
day 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

hour Obrigatrio; Variant (Integer). Nmero entre 0 (0:00 h) e 23
(23:00 h), inclusive, ou uma expresso numrica.
minute Obrigatrio; Variant (Integer). Qualquer expresso numrica.
second 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

date Obrigatrio. Variant, expresso numrica, expresso
de seqncia de caracteres, ou qualquer combinao
que possa representar uma data. Se date contiver
Null, ser retornado Null.
firstdayofweek 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 Valor Descrio

vbUseSystem 0 Utiliza a definio NLS API.
vbSunday 1 Domingo (padro)
vbMonday 2 Segunda-feira
vbTuesday 3 Tera-feira
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 Sbado

Valores de Retorno
A funo Weekday pode retornar qualquer um destes valores:
Constante Valor Descrio

vbSunday 1 Domingo
vbMonday 2 Segunda-feira
vbTuesday 3 Tera-feira
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Opcional. Palavra-chave utilizada no nvel de mdulo
para declarar constantes que esto disponveis para
todos os procedimentos em todos os mdulos. No
permitida em procedimentos.
Private Opcional. Palavra-chave utilizada no nvel de mdulo
para declarar constantes disponveis apenas dentro do
mdulo no qual a declarao feita. No permitida em
procedimentos.
constname Obrigatrio. Nome da constante; segue a varivel
padro que d nome s convenes.
type Opcional. Tipo de dados da constante; pode ser Byte,
Boolean, Integer, Long, Currency, Single, Double,
Decimal (atualmente no suportado), Date, String ou
Variant. Utilize uma clusula type As separada para
cada constante que for declarada.
expression Obrigatrio. Um literal, outra constante ou qualquer
combinao que inclua todos os operadores aritmticos
ou lgicos com exceo de Is.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatria; Variant (String). O nome do aplicativo que
fornece o objeto.
objecttype Obrigatria; Variant (String). O tipo ou classe do objeto a
ser criado.

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 xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

A referncia atravs de uma varivel de vinculao inicial pode
proporcionar melhor desempenho, mas s pode conter uma referncia classe
especificada na declarao.
Voc pode passar um objeto retornado pela funo CreateObject para uma funo que espere um
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
objeto como argumento. Por exemplo, o cdigo abaixo cria e passa uma referncia a um objeto
Excel.Application:
Call MinhaSub (CreateObject("Excel.Application"))

Observao: Utilize CreateObject quando no houver nenhuma ocorrncia atual do objeto. Se uma
ocorrncia do objeto j estiver sendo executada, uma nova ocorrncia iniciada e um objeto do tipo
especificado criado. Para utilizar a ocorrncia atual ou para iniciar o aplicativo e faz-lo carregar um
arquivo, utilize a funo GetObject.
Se um objeto tiver registrado a si prprio como um objeto de ocorrncia nica, apenas uma
ocorrncia do objeto ser criada, independente de quantas vezes CreateObject for executado.

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 Opcional. Utilizada para declarar procedimentos que estejam
disponveis a todos os outros procedimentos em todos os
mdulos.
Private Opcional. Utilizada para declarar procedimentos que estejam
disponveis apenas dentro do mdulo no qual a declarao
feita.
Sub Opcional (tanto Sub quanto Function devem aparecer).
Indica que o procedimento no retorna um valor.
Function Opcional (Sub ou Function deve aparecer). Indica que o
procedimento retorna um valor que pode ser utilizado em
uma expresso.
name Obrigatria. Qualquer nome de procedimento vlido. Observe
que os pontos de entrada da DLL coincidem maisculas e
minsculas.
Lib Obrigatria. Indica que uma DLL ou recurso de cdigo
contm o procedimento que est sendo declarado. A clusula
Lib exigida para todas as declaraes.
Libname Obrigatria. Nome da DLL ou recurso de cdigo que contm
o procedimento declarado.
Alias Opcional. Indica que o procedimento que est sendo
chamado possui outro nome na DLL. Isso til quando o
nome do procedimento externo o mesmo de uma palavra-
chave. Voc tambm pode utilizar Alias quando um
procedimento de DLL tem o mesmo nome de uma varivel
pblica, constante ou qualquer outro procedimento no mesmo
escopo. Alias tambm til se qualquer caractere do nome
do procedimento da DLL no for permitido pela conveno de
nomenclatura da DLL.
Aliasname Opcional. Nome do procedimento da DLL ou recurso de
cdigo. Se o primeiro caractere no for o sinal numrico (#),
aliasname ser o nome do ponto de entrada do procedimento
na DLL. Se (#) for o primeiro caractere, todos os caracteres
seguintes devero indicar o nmero ordinal do ponto de
entrada do procedimento.
Arglist Opcional. Lista de variveis que representam argumentos
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
que so passados ao procedimento quando ele chamado.
Type Opcional. Tipo de dados do valor retornado por um
procedimento Function; pode ser Byte, Boolean, Integer,
Long, Currency, Single, Double, Decimal (atualmente no-
suportado), Date, String (apenas de comprimento varivel)
ou Variant, um tipo definido pelo usurio ou um tipo de
objeto.

O argumento arglist apresenta a sintaxe e as partes abaixo:
[Optional] [ByVal | ByRef] [ParamArray] varname [( )] [As type]

Parte Descrio

Optional Opcional. Indica que um argumento no obrigatrio. Se
utilizado, todos os argumentos subseqentes em arglist
devero ser opcionais e declarados atravs da palavra-chave
Optional. Optional no pode ser utilizado para qualquer
argumento se ParamArray for utilizado.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Indica que o argumento passado por referncia. ByRef o
padro no Visual Basic.
ParamArra
y
Opcional. Utilizado apenas como o ltimo argumento em arglist
para indicar que o argumento final uma matriz Optional de
elementos Variant. A palavra-chave ParamArray permite que
voc fornea um nmero arbitrrio de argumentos. A palavra-
chave ParamArray no pode ser utilizada com ByVal, ByRef
ou Optional.
varname Obrigatria. Nome da varivel que representa o argumento
passado ao procedimento; segue as convenes de
nomenclatura padro de variveis.
( ) Obrigatria para variveis de matriz. Indica que varname
uma matriz.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (atualmente no-
suportado), Date, String (apenas de comprimento varivel),
Object, Variant, um tipo definido pelo usurio ou um tipo de
objeto.

Comentrios
Para procedimentos Function, o tipo de dados do procedimento determina o tipo de dados retornado.
Voc pode utilizar uma clusula As seguindo arglist para especificar o tipo de retorno da funo.
Dentro de arglist, voc pode utilizar uma clusula As para especificar o tipo de dados de qualquer um
dos argumentos passados ao procedimento. Alm de especificar qualquer tipo de dados padro, voc
pode especificar As Any em arglist para inibir a verificao de tipo e permitir que qualquer tipo de
dados seja passado ao procedimento.
Parnteses vazios indicam que o procedimento Sub ou Function no possui argumentos e que o
Visual Basic deve garantir que nenhum argumento ser passado. No exemplo abaixo, First no
possui argumentos. Se voc utilizar argumentos em um chamada para First, um erro ser gerado:
Declare Sub First Lib "MinhaBib"()

Se voc incluir uma lista de argumentos, o nmero e tipo de argumentos so verificados a cada vez
que o procedimento for chamado. No exemplo abaixo, First aceita um argumento Long:
Declare Sub First Lib "MinhaLib" (X As Long)

Observao: A presena de seqncias de caracteres de comprimento fixo na lista de argumentos
de uma instruo Declare no permitida; apenas seqncias de caracteres de comprimento
varivel podem ser passadas a procedimentos. Seqncias de caracteres de comprimento fixo
podem aparecer como argumentos de procedimentos, mas so convertidas em seqncias de
caracteres de comprimento varivel antes de serem passadas.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Observao: A constante vbNullString utilizada ao chamar-se procedimentos externos, quando
os procedimentos externos exigem uma seqncia de caracteres cujo valor seja zero. Isso diferente
de uma seqncia de caracteres de comprimento zero ("").

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 Boolean
DefByte Byte
DefInt Integer
DefLng Long
DefCur Currency
DefSng Single
DefDbl Double
DefDec Decimal (atualmente no-suportado)
DefDate Date
DefStr String
DefObj Object
DefVar Variant

Por exemplo, no fragmento de programa abaixo, Message uma varivel de seqncia de
caracteres:
DefStr A-Q
. . .
Message = "Sem espao em pilha."

Uma instruo Deftype afeta somente o mdulo onde ela utilizada. Por exemplo, uma instruo
DefInt em um mdulo afeta somente o tipo de dados padro de variveis, argumentos passados a
procedimentos e o tipo de retorno para procedimentos Function e Property Get declarados nesse
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
mdulo; o tipo de dados padro de variveis, argumentos e os tipos de retorno em outros mdulos
no so afetados. Caso no sejam explicitamente declarados atravs de uma instruo Deftype, o
tipo de dados padro para todas as variveis, todos os argumentos, todos os procedimentos
Function e todos os procedimentos Property Get ser Variant.
Quando voc especifica um intervalo de letras, ele geralmente define o tipo de dados para variveis
iniciadas com letras entre os primeiros 128 caracteres do conjunto de caracteres. No entanto, quando
voc especifica o intervalo de letras A Z, voc define o padro para o tipo de dados especificado
para todas as variveis, incluindo as iniciadas por caracteres internacionais da parte estendida do
conjunto de caracteres (128 255).
Depois que o intervalo A Z tiver sido especificado, voc no poder redefinir qualquer subintervalo
de varivel utilizando instrues Deftype. Uma vez que um intervalo tenha sido especificado, se voc
incluir uma letra predefinida em uma outra instruo Deftype, um erro ser gerado. No entanto, voc
pode especificar explicitamente o tipo de dados de qualquer varivel, definida ou no, utilizando uma
instruo Dim com uma clusula As type. Por exemplo, voc pode utilizar o cdigo abaixo no nvel do
mdulo para definir uma varivel como um Double, embora o tipo de dados padro seja Integer:
DefInt A-Z
Dim PercTaxa As Double

As instrues Deftype no afetam os elementos de tipos definidos pelo usurio porque eles devem
ser explicitamente declarados.

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 Opcional. Palavra-chave que especifica que varname uma varivel de
objeto utilizada para responder a eventos acionados por um objeto
ActiveX. vlida somente em mdulos de classe. Voc pode declarar
quantas variveis individuais desejar utilizando WithEvents, mas no
pode criar matrizes com WithEvents. Voc no pode utilizar New com
WithEvents.
varname Obrigatria. Nome da varivel; segue as convenes de nomenclatura
padro de variveis.
subscripts Opcional. Dimenses de uma varivel de matriz; at 60 dimenses
mltiplas podem ser declaradas. O argumento subscripts utiliza a
sintaxe abaixo:
[inferior To] superior [, [inferior To] superior] . . .
Quando no enunciado explicitamente em inferior, o limite inferior de
uma matriz controlado pela instruo Option Base. O limite inferior
zero se nenhuma instruo Option Base estiver presente.
New Opcional. Palavra-chave que permite a criao implcita de um objeto.
Se voc utilizar New ao declarar a varivel de objeto, uma nova
ocorrncia do objeto ser criada na primeira referncia a ele. Dessa
forma, voc no precisa utilizar a instruo Set para atribuir a
referncia do objeto. A palavra-chave New no pode ser utilizada para
declarar variveis de qualquer tipo de dados intrnseco, no pode ser
utilizada para declarar instncias de objetos dependentes e nem ser
utilizada com WithEvents.
type Opcional. Tipo de dados da varivel; pode ser Byte, Boolean, Integer,
Long, Currency, Single, Double, Decimal (atualmente no-
suportado), Date, String (para seqncias de caracteres de
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
comprimento varivel), String * comprimento (para seqncias de
caracteres de comprimento fixo), Object, Variant, um tipo definido pelo
usurio ou um tipo de objeto. Utilize uma clusula As type separada
para cada varivel que voc declarar.

Comentrios
As variveis declaradas com Dim no nvel de mdulo esto disponveis para todos os procedimentos
dentro do mdulo. No nvel de procedimento, as variveis esto disponveis somente dentro do
procedimento.
Utilize a instruo Dim no nvel de mdulo ou procedimento para declarar o tipo de dados de uma
varivel. Por exemplo, a instruo abaixo declara uma varivel como Integer.
Dim NmeroDeEmpregados As Integer

Tambm possvel utilizar uma instruo Dim para declarar o tipo de objeto de uma varivel. O
exemplo abaixo declara uma varivel para uma nova ocorrncia de uma planilha.
Dim X As New Planilha


Se a palavra-chave New no for utilizada para declarar uma varivel de objeto, um objeto j existente
dever ser atribudo a uma varivel referente ao objeto atravs da instruo Set antes que ele possa
ser utilizado. At ter um objeto atribudo a ela, a varivel de objeto declarada apresentar o valor
especial Nothing, que indica que ela no se refere a nenhuma ocorrncia especfica de um objeto.
Voc tambm pode utilizar a instruo Dim com parnteses vazios para declarar uma matriz
dinmica. Aps declar-la, 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 para
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 de objeto e se no houver nenhuma instruo Deftype
no mdulo, a varivel ser Variant como padro.
Quando as 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 definida
pelo usurio inicializado como se fosse uma varivel independente.
Observao: Quando voc utiliza a instruo Dim em um procedimento, ela geralmente colocada
no incio do procedimento.


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 Opcional. Especifica que o tipo Enum visvel
atravs de todo o projeto. Os tipos Enum so Public
como padro.
Private Opcional. Especifica que o tipo Enum somente
visvel dentro do mdulo em que ele aparece.
name Obrigatrio. O nome do tipo Enum. O name deve
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
ser um identificador do Visual Basic vlido e
especificado como o tipo ao declarar variveis ou
parmetros do tipo Enum.
membername Obrigatrio. Um identificador do Visual Basic vlido
especificando o nome pelo qual um elemento
componente do tipo Enum ser conhecido.
constantexpression Opcional. O valor do elemento (avaliado como
Long). Pode ser outro tipo Enum. Se nenhuma
constantexpression for especificada, o valor
atribudo ser ou zero (se for o primeiro
membername) ou 1 maior que o valor do
membername imediatamente anterior.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Efeito de Erase em elementos de matriz fixa

Matriz numrica
fixa
Define cada elemento como zero.
Matriz de
seqncia de
caracteres fixa
(tamanho
varivel)
Define cada elemento como uma seqncia de
caracteres de comprimento zero ("").
Matriz de
seqncia de
caracteres fixa
(tamanho fixo)
Define cada elemento como zero.
Matriz Variant
fixa
Define cada elemento como Empty.
Matriz de tipos
definidos pelo
usurio
Define cada elemento como se fosse uma varivel
independente.
Matriz de objetos Define cada elemento com o valor especial Nothing.

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 Descrio

Public 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.
procedurename Obrigatrio. Nomeie o evento; siga as convenes
padro de nomenclatura de variveis.

O argumento arglist tem a seguinte sintaxe e partes:
[ByVal | ByRef] varname[( )] [As type]

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Parte Descrio

ByVal Opcional. Indica que o argumento foi passado por valor.
ByRef Opcional. Indica que o argumento passado por
referncia. ByRef o padro no Visual Basic.
varname Obrigatrio. Nome da varivel representando o
argumento que est sendo passado ao procedimento;
segue as convenes padro de nomenclatura de
variveis.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (no suportado
atualmente), Date, String (somente comprimento
varivel), Object, Variant, um tipo definido pelo usurio,
ou um tipo de objeto.

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 name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function

A sintaxe da instruo Function tem estas partes:
Parte Descrio

Public Opcional. Indica que o procedimento Function est acessvel
a todos os outros procedimentos em todos os mdulos. Se
utilizado em um mdulo que contenha Option Private, o
procedimento no estar disponvel fora do projeto.
Private Opcional. Indica que o procedimento Function est acessvel
apenas a outros procedimentos no mdulo onde ele
declarado.
Static Opcional. Indica que as variveis locais do procedimento
Function esto preservadas entre as chamadas. O atributo
Static no afeta as variveis que so declaradas fora de
Function, mesmo que elas sejam utilizadas no
procedimento.
name Obrigatria. Nome de Function; segue as convenes de
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
nomenclatura padro de variveis.
arglist Opcional. Lista de variveis que representam argumentos
passados ao procedimento Function quando ele chamado.
Variveis mltiplas so separadas por vrgulas.
type Opcional. O tipo de dados do valor retornado pelo
procedimento Function; pode ser Byte, Boolean, Integer,
Long, Currency, Single, Double, Decimal (atualmente no-
suportado), Date, String (exceto seqncias de caracteres
de comprimento fixo), Object, Variant ou qualquer tipo
definido pelo usurio. Matrizes de qualquer tipo no podem
ser retornadas, mas um Variant que contenha uma matriz
pode.
statements Opcional. Qualquer grupo de instrues a serem executadas
dentro do procedimento Function.
expression Opcional. Valor de retorno de Function.

O argumento arglist apresenta a sintaxe e as partes abaixo:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

Parte Descrio

Optional Opcional. Indica que um argumento no obrigatrio. Se
utilizada, todos os argumentos subseqentes em arglist
devero ser opcionais e declarados atravs da palavra-
chave Optional. Optional no pode ser utilizado para
qualquer argumento se ParamArray for utilizado.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Opcional. Indica que o argumento passado por referncia.
ByRef o padro no Visual Basic.
ParamArray Opcional. Utilizada apenas como o ltimo argumento em
arglist para indicar que o argumento final uma matriz
Optional de elementos Variant. A palavra-chave
ParamArray permite que voc fornea um nmero
arbitrrio de argumentos. Ela no pode ser utilizada com
ByVal, ByRef ou Optional.
varname Obrigatria. Nome da varivel que representa o argumento;
segue as convenes de nomenclatura padro de variveis.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (atualmente no-
suportado) Date, String (somente de comprimento
varivel), Object, Variant. Se o parmetro no for
Optional, um tipo definido pelo usurio ou um tipo de objeto
tambm pode ser especificado.
defaultvalue Opcional. Qualquer constante ou expresso de constante.
Vlido somente para parmetros Optional. Se o tipo for um
Object, um valor padro explcito s poder ser Nothing.
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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Todo o cdigo executvel deve estar em procedimentos. Voc no pode definir um procedimento
Function dentro de outro procedimento Function, Sub ou Property.
A instruo Exit Function causa a sada imediata de um procedimento Function. A execuo do
programa continua com a instruo seguinte quela que chamou o procedimento Function. Qualquer
nmero de instrues Exit Function pode aparecer em qualquer lugar de um procedimento
Function.
Assim como um procedimento Sub, um procedimento Function um procedimento separado que
pode aceitar argumentos, executar uma srie de instrues e alterar os valores de seus argumentos.
No entanto, ao contrrio de um procedimento Sub, voc pode utilizar um procedimento Function
direita de uma expresso da mesma forma que voc utiliza qualquer funo intrnseca, como Sqr,
Cos ou Chr, quando voc deseja utilizar o valor retornado pela funo.
Voc chama um procedimento Function utilizando o nome da funo, seguido pela lista de
argumentos entre parnteses, em uma expresso. Consulte a instruo Call para obter
Especificidades sobre como chamar procedimentos Function.
Para retornar um valor de uma funo, atribua o valor ao nome da funo. Qualquer quantidade
dessas atribuies pode aparecer em qualquer lugar do procedimento. Se no for atribudo um valor
a name, o procedimento retornar um valor padro: uma funo numrica retornar 0, uma funo de
seqncia de caracteres retornar uma seqncia de caracteres de comprimento zero ("") e uma
funo Variant retornar Empty. Uma funo que retorna uma referncia de objeto retornar
Nothing se nenhuma referncia de objeto for atribuda a name (utilizando Set) dentro de Function.
O exemplo abaixo mostra como atribuir um valor de retorno a uma funo denominada
PesquisaBinria. Neste caso, False atribudo ao nome para indicar que um certo valor no foi
encontrado.
Function PesquisaBinria(. . .) As Boolean
. . .
' Valor no encontrado. Retorna um valor False.
If inferior > superior Then
PesquisaBinria = False
Exit Function
End If
. . .
End Function

As variveis utilizadas em procedimentos Function dividem-se em duas categorias: aquelas
explicitamente declaradas dentro do procedimento e aquelas que no so declaradas dessa forma.
As variveis que so explicitamente declaradas dentro de um procedimento (utilizando Dim ou
equivalente) so sempre locais em relao ao procedimento. As variveis utilizadas mas no
explicitamente declaradas em um procedimento tambm so locais, a menos que explicitamente
declaradas em algum nvel superior fora do procedimento.

Ateno Um procedimento pode utilizar uma varivel que no explicitamente declarada no
procedimento, mas poder ocorrer um conflito de nomenclatura se algo definido no nvel do mdulo
apresentar o mesmo nome. Se o seu procedimento referir-se a uma varivel no declarada que tenha
o mesmo nome de outro procedimento, constante ou varivel, pressupe-se que seu procedimento se
refere quele nome do nvel do mdulo. Para evitar esse tipo de conflito, convm declarar variveis
de forma explcita. Voc pode utilizar uma instruo Option Explicit para forar a declarao
explcita de variveis.


Ateno O Visual Basic pode reorganizar expresses aritmticas para aumentar a eficcia interna.
Evite utilizar um procedimento Function em uma expresso aritmtica quando a funo alterar o
valor das variveis na mesma expresso.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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
Opcional; Variant (String). Indica o caminho completo e nome
do arquivo que contm o objeto a ser recuperado. Se pathname
for omitido, class passa a ser obrigatrio.
class Opcional; Variant (String). Uma seqncia de caracteres que
representa a classe do objeto.

O argumento class utiliza a sintaxe appname.objecttype e possui partes abaixo:
Parte Descrio

appnam
e
Obrigatria; Variant (String). Nome do aplicativo que fornece o
objeto.
objecttyp
e
Obrigatria; Variant (String). Tipo ou classe do objeto a ser
criado.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
objeto utilizando a varivel de objeto MeuObjeto. Por exemplo:
MeuObjeto.Line 9, 90
MeuObjeto.InsertText 9, 100, "Ol, mundo."
MeuObjeto.SaveAs "C:\DRAWINGS\SAMPLE.DRW"

Observao: Utilize a funo GetObject quando houver uma ocorrncia atual do objeto ou quando
voc desejar criar o objeto com um arquivo j carregado. Se no houver uma ocorrncia atual e se
voc no quiser iniciar o objeto com um arquivo carregado, utilize a funo CreateObject.
Se um objeto registrou a si prprio como um objeto de ocorrncia nica, apenas uma ocorrncia
desse objeto ser criada, independente de quantas vezes CreateObject for executado. Com um
objeto de ocorrncia nica, GetObject sempre retornar a mesma ocorrncia quando chamado com
a sintaxe da seqncia de caracteres de comprimento zero (""), e se o argumento do pathname for
omitido, um erro ser gerado. Voc no pode utilizar GetObject para obter uma referncia a uma
classe criada com o Visual Basic.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatria. Nome da varivel de matriz, de acordo com as
convenes de nomenclatura padro de variveis.
dimension Opcional; Variant (Long). Nmero inteiro que indica qual
limite inferior da dimenso retornado. Utilize 1 para a
primeira dimenso, 2 para a segunda e assim por diante. Se
dimension for omitida, ser utilizado 1.

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 Valor de retorno

LBound(A,
1)
1
LBound(A,
2)
0
LBound(A,
3)
-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 Opcional. A utilizao explcita da palavra-chave Let uma
questo de estilo, mas ela em geral omitida.
varname Obrigatria. Nome da varivel ou propriedade; segue as
convenes de nomenclatura padro de variveis.
expressio
n
Obrigatria. Valor atribudo varivel ou propriedade.

Comentrios
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Uma expresso de valor pode ser atribuda a uma varivel ou propriedade somente se for de um tipo
de dados compatvel com a varivel. Voc no pode atribuir expresses de seqncias de caracteres
a variveis numricas e no pode atribuir expresses numricas a variveis de seqncias de
caracteres. Se o fizer, ocorrer um erro em tempo de compilao.
A variveis Variant podem ser atribudas tanto expresses de seqncia de caracteres quanto
expresses numricas. No entanto, o contrrio nem sempre verdadeiro. Qualquer Variant exceto
Null pode ser atribudo a uma varivel de seqncia de caracteres, mas apenas um Variant cujo
valor possa ser interpretado como um nmero pode ser atribudo a uma varivel numrica. Utilize a
funo IsNumeric para determinar se o Variant pode ser convertido em um nmero.

Ateno Atribuir uma expresso de um tipo numrico a uma varivel de um tipo numrico diferente
converter o valor da expresso no tipo numrico da varivel resultante.

As instrues Let podem ser utilizadas para atribuir uma varivel de registro a outra apenas quando
ambas as variveis so do mesmo tipo definido pelo usurio. Utilize a instruo LSet para atribuir
variveis de registro a diferentes tipos definidos pelo usurio. Utilize a instruo Set para atribuir
referncias de objetos s variveis.

Instruo Option Base
Utilizada no nvel de mdulo para declarar o limite inferior padro para os subscripts de matriz.
Sintaxe
Option Base {0 | 1}
Comentrios
Uma vez que a base padro 0, a instruo Option Base nunca exigida. Se utilizada, a instruo
deve aparecer em um mdulo antes de qualquer procedimento. Option Base s pode aparecer uma
vez em um mdulo e deve anteceder as declaraes de matrizes que incluam dimenses.
Observao: A clusula To nas instrues Dim, Private, Public, ReDim e Static fornecem uma
maneira mais flexvel de controlar o intervalo de subscritos de uma matriz. No entanto, se voc no
definir explicitamente o limite mnimo com uma clusula To, poder utilizar Option Base para alterar
o limite inferior padro para 1. A base de uma matriz criada com a funo Array ou com a palavra-
chave ParamArray zero; Option Base no afeta Array ou ParamArray.

A instruo Option Base afeta somente o limite inferior das matrizes no mdulo no qual se localiza a
instruo.

Instruo Option Compare
Utilizada no nvel de mdulo para declarar o mtodo de comparao padro a ser utilizado quando
dados de seqncia de caracteres forem comparados.
Sintaxe
Option Compare {Binary | Text | Database}
Comentrios
Se utilizada, a instruo Option Compare deve aparecer em um mdulo antes dos procedimentos.
A instruo Option Compare especifica o mtodo de comparao de seqncias de caracteres
(Binary, Text ou Database) de um mdulo. Se um mdulo no incluir uma instruo Option
Compare, o mtodo de comparao de texto padro ser 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. Uma ordem de
classificao binria tpica mostrada no exemplo abaixo:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
A < B < E < Z < a < b < e < z < < < < < <

Option Compare Text resulta em comparaes de seqncias de caracteres baseadas em uma
ordem de classificao de texto que no coincide maisculas e minsculas determinada pela
localidade do seu sistema. Quando alguns caracteres so classificados utilizando-se Option
Compare Text, a ordem de classificao de texto abaixo produzida:
(A=a) < ( =) < (B=b) < (E=e) < (=) < (Z=z) < (=)

Option Compare Database somente pode ser utilizado dentro do Microsoft Access. Isso resulta em
comparaes de seqncias de caracteres baseadas na ordem de classificao determinada pelo
cdigo de localidade do banco de dados em que ocorrem as comparaes de seqncias de
caracteres.

Instruo Option Explicit
Utilizada no nvel de mdulo para forar a declarao explcita de todas as variveis desse mdulo.
Sintaxe
Option Explicit
Comentrios
Se utilizada, a instruo Option Explicit deve aparecer em um mdulo antes de qualquer
procedimento.
Quando Option Explicit aparece em um mdulo, voc deve declarar explicitamente todas as
variveis utilizando as instrues Dim, Private, Public, ReDim ou Static. Se voc tentar utilizar um
nome de varivel no-declarado, ocorrer um erro em tempo de compilao.
Se voc no utilizar a instruo Option Explicit, todas as variveis no-declaradas sero do tipo
Variant, a menos que o tipo padro seja especificado com uma instruo Deftype.
Observao: Utilize Option Explicit para evitar a digitao incorreta do nome de uma varivel
existente ou para evitar confuso no cdigo em que o escopo da varivel no esteja claro.


Instruo Option Private
Quando utilizada em aplicativos host que permitem referncias em mltiplos projetos, Option Private
Module impede que o contedo de um mdulo seja referenciado fora do seu projeto. Em aplicativos
host que no permitem essas referncias, por exemplo, em verses independentes do Visual Basic,
Option Private no ter efeito.
Sintaxe
Option Private Module
Comentrios
Se utilizada, a instruo Option Private deve aparecer no nvel de mdulo antes de qualquer
procedimento.
Quando um mdulo contm Option Private Module, as partes pblicas, por exemplo, variveis,
objetos e tipos definidos pelo usurio declarados no nvel de mdulo, continuam disponveis dentro do
projeto que contm o mdulo, mas no ficam disponveis para outros aplicativos ou projetos.
Observao: Option Private somente til para aplicativos host que suportam carregamento
simultneo de vrios projetos e permitem referncias entre os projetos carregados. Por exemplo, o
Microsoft Excel permite carregamento de vrios projetos e Option Private Module pode ser utilizado
para restringir a visibilidade do projeto cruzado. Ainda que o Visual Basic permita o carregamento de
vrios projetos, referncias entre projetos nunca so permitidas no Visual Basic.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

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 Opcional. Palavra-chave que especifica que varname uma
varivel de objeto utilizada para responder a eventos
acionados por um objeto ActiveX. Vlida somente em
mdulos de classe. Voc pode declarar quantas variveis
individuais quiser utilizando WithEvents, mas no pode criar
matrizes com WithEvents. Voc no pode utilizar New com
WithEvents.
varname Obrigatria. Nome da varivel; segue as convenes de
nomenclatura padro de variveis.
subscripts Opcional. Dimenses de uma varivel de matriz; at 60
dimenses mltiplas podem ser declaradas. O argumento
subscripts utiliza a sintaxe abaixo:
[lower To] upper [,[lower To] upper] . . .
Quando no enunciado explicitamente em lower, o limite
inferior de uma matriz controlado pela instruo Option
Base. O limite inferior ser zero se no estiver presente uma
instruo Option Base.
New Opcional. Palavra-chave que permite a criao implcita de
um objeto. Se voc utilizar New ao declarar a varivel de
objeto, uma nova ocorrncia do objeto ser criada na
primeira referncia a ele; portanto, voc no precisa utilizar a
instruo Set para atribuir a referncia do objeto. A palavra-
chave New no pode ser utilizada para declarar variveis de
tipo de dados intrnseco, no pode ser utilizada para declarar
instncias de objetos dependentes e no pode ser utilizada
com WithEvents.
type Opcional. Tipo de dados da varivel; pode ser Byte,
Boolean, Integer, Long, Currency, Single, Double,
Decimal (no-suportado atualmente), Date, String (para
seqncias de caracteres de comprimento varivel), String *
length (para seqncias de caracteres de comprimento fixo),
Object, Variant, um tipo definido pelo usurio ou um tipo de
objeto. Utilize uma clusula As type para cada varivel que
estiver sendo definida.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
Se voc no especificar um tipo de dados ou tipo de objeto e no houver instruo Deftype no
mdulo, a varivel ser Variant como padro.
Voc tambm pode utilizar a instruo Private 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 explicitamente
especificado em uma instruo Private, Public ou Dim, um erro ser gerado.
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.
Observao: Quando voc utiliza a instruo Private em um procedimento, geralmente coloca a
instruo Private no incio dele.


Instruo Property Get
Declara o nome, os argumentos e o cdigo que formam o corpo de um procedimento Property, que
obtm o valor de uma propriedade.
Sintaxe
[Public | Private] [Static] Property Get name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Property]
[statements]
[name = expression]
End Property

A sintaxe da instruo Property Get tem estas partes:
Parte Descrio

Public Opcional. Indica que o procedimento Property Get
acessvel a todos os outros procedimentos de todos os
mdulos. Se utilizada em um mdulo que contm uma
instruo Option Private, o procedimento no se encontrar
disponvel fora do projeto.
Private Opcional. Indica que o procedimento Property Get
acessvel somente a outros procedimentos do mdulo em
que declarado.
Static Opcional. Indica que as variveis locais do procedimento
Property Get so preservadas entre chamadas. O atributo
Static no afeta variveis que sejam declaradas fora do
procedimento Property Get, mesmo que elas sejam
utilizadas no procedimento.
name Obrigatria. Nome do procedimento Property Get; segue as
convenes de nomenclatura padro de variveis, exceto
que o nome pode ser o mesmo de um procedimento
Property Let ou Property Set do mesmo mdulo.
arglist Opcional. Lista de variveis que representam argumentos
que so passados ao procedimento Property Get quando ele
chamado. Mltiplos argumentos so separados por
vrgulas. O nome e o tipo de dados de cada argumento de
um procedimento Property Get devem ser iguais ao
argumento correspondente de um procedimento Property
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Let (se houver um).
type Opcional. Tipo de dados do valor retornado pelo
procedimento Property Get; pode ser Byte, Boolean,
Integer, Long, Currency, Single, Double, Decimal (no-
suportado atualmente), Date, String (exceto comprimento
fixo), Object, Variant ou tipo definido pelo usurio. No
podem ser retornadas matrizes de tipo algum, mas um
Variant que contenha uma matriz pode.
O type de retorno de um procedimento Property Get deve
ser do mesmo tipo de dados do ltimo (ou algumas vezes do
nico) argumento de um procedimento Property Let
correspondente (se houver um) que define o valor atribudo
propriedade do lado direito de uma expresso.
statements Opcional. Qualquer grupo de instrues a serem executadas
dentro do corpo do procedimento Property Get.
expression Opcional. Valor da propriedade retornado pelo procedimento
definido pela instruo Property Get.

O argumento arglist possui a sintaxe e as partes abaixo:
[Optional] [ByVal | ByRef] varname[( )] [As type] [= defaultvalue]

Parte Descrio

Optional Opcional. Indica que um argumento no obrigatrio. Se
utilizada, todos os argumentos subseqentes em arglist
devero tambm ser opcionais e declarados utilizando-se a
palavra-chave Optional.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Opcional. Indica que o argumento passado por referncia.
ByRef o padro do Visual Basic.
ParamArra
y
Opcional. Utilizada apenas como o ltimo argumento em
arglist para indicar que o argumento final uma matriz
Optional de elementos Variant. A palavra-chave
ParamArray permite que voc fornea um nmero arbitrrio
de argumentos. Ela no deve ser utilizada com ByVal, ByRef
ou Optional.
varname Obrigatria. Nome da varivel que representa o argumento;
segue as convenes de nomenclatura padro de variveis.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (no-suportado
atualmente), Date, String (somente de comprimento
varivel), Object, Variant. Se o parmetro no for Optional,
um tipo definido pelo usurio ou um tipo de objeto tambm
poder ser especificado.
defaultvalue Opcional. Qualquer constante ou expresso de constante.
Vlido somente para parmetros Optional. Se o tipo for um
Object, um valor padro explcito somente poder ser
Nothing.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
procedimento Property Get.
Como um procedimento Sub e Property Let, um procedimento Property Get um procedimento
separado que pode tomar argumentos, efetuar uma srie de instrues e alterar os valores de seus
argumentos. Entretanto, ao contrrio de um procedimento Sub ou Property Let, voc pode utilizar
um procedimento Property Get do lado direito de uma expresso da mesma forma que utiliza um
Function ou um nome de propriedade quando deseja retornar o valor de uma propriedade.

Instruo Property Let
Declara o nome, os argumentos e o cdigo que formam o corpo de um procedimento Property Let,
que atribui um valor a uma propriedade.
Sintaxe
[Public | Private] [Static] Property Let name ([arglist,] value)
[statements]
[Exit Property]
[statements]
End Property

A sintaxe da instruo Property Let tem estas partes:
Parte Descrio

Public Opcional. Indica que o procedimento Property Let acessvel
a todos os outros procedimentos de todos os mdulos. Se
utilizada em um mdulo que contm uma instruo Option
Private, o procedimento no estar disponvel fora do projeto.
Private Opcional. Indica que o procedimento Property Let acessvel
somente para outros procedimentos do mdulo em que
declarado.
Static Opcional. Indica que as variveis locais do procedimento
Property Let so preservadas entre chamadas. O atributo
Static no afeta variveis que sejam declaradas fora do
procedimento Property Let, mesmo que elas sejam utilizadas
no procedimento.
nome Obrigatria. Nome do procedimento Property Let; segue as
convenes de nomenclatura padro de variveis, exceto que
o nome pode ser o mesmo de um procedimento Property Get
ou Property Set do mesmo mdulo.
arglist Obrigatria. Lista de variveis que representam argumentos
que so passados ao procedimento Property Let quando ele
chamado. Mltiplos argumentos so separados por vrgulas. O
nome e o tipo de dados de cada argumento de um
procedimento Property Let (exceto o ltimo) devem ser iguais
ao argumento correspondente de um procedimento Property
Get.
value Obrigatria. Varivel que contm o valor a ser atribudo
propriedade. Quando o procedimento chamado, este
argumento aparece no lado direito da expresso de chamada.
O tipo de dados de value deve ser o mesmo que o tipo de
retorno do procedimento Property Get correspondente.
statement
s
Opcional. Qualquer grupo de instrues a ser executado dentro
do procedimento Property Let.

O argumento arglist possui a sintaxe e as partes abaixo:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

Parte Descrio

Optional Opcional. Indica que um argumento no obrigatrio. Se
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
utilizada, todos os argumentos subseqentes em arglist devem
tambm ser opcionais e declarados utilizando-se a palavra-
chave Optional. Observe que o lado direito de uma expresso
Property Let no pode ser Optional.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Opcional. Indica que o argumento passado por referncia.
ByRef o padro no Visual Basic.
ParamArr
ay
Opcional. Utilizada apenas como o ltimo argumento em arglist
para indicar que o argumento final uma matriz Optional de
elementos Variant. A palavra-chave ParamArray permite que
voc fornea um nmero arbitrrio de argumentos. Ela no
pode ser utilizada com ByVal, ByRef ou Optional.
varname Obrigatria. Nome da varivel que representa o argumento;
segue as convenes de nomenclatura padro de variveis.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (no-suportado
atualmente), Date, String (somente de comprimento varivel),
Object, Variant. Se o parmetro no for Optional, tambm
pode ser especificado um tipo definido pelo usurio ou um tipo
de objeto.
defaultval
ue
Opcional. Qualquer constante ou expresso de constante.
Vlido somente para parmetros Optional. Se o tipo for um
Object, um valor padro explcito somente poder ser
Nothing.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Property Set
Declara o nome, os argumentos e o cdigo que formam o corpo de um procedimento Property, o
qual define uma referncia a um objeto.
Sintaxe
[Public | Private] [Static] Property Set name ([arglist,] reference)
[statements]
[Exit Property]
[statements]
End Property

A sintaxe da instruo Property Set tem estas partes:
Parte Descrio

Optional Opcional. Indica que o argumento pode ou no ser fornecido pelo
chamador.
Public Opcional. Indica que o procedimento Property Set acessvel a todos
os outros procedimentos em todos os mdulos. Se utilizada em um
mdulo que contm uma instruo Option Private, o procedimento
no estar disponvel fora do projeto.
Private Opcional. Indica que o procedimento Property Set acessvel
somente a outros procedimentos do mdulo em que declarado.
Static Opcional. Indica que as variveis locais do procedimento Property Set
so preservadas entre chamadas. O atributo Static no afeta variveis
que sejam declaradas fora do procedimento Property Set, mesmo se
forem utilizadas no procedimento.
name Obrigatria. Nome do procedimento Property Set; segue as
convenes de nomenclatura padro de variveis, exceto que o nome
pode ser o mesmo de um procedimento Property Get ou Property Let
do mesmo mdulo.
arglist Obrigatria. Lista de variveis que representam argumentos que so
passados ao procedimento Property Set quando ele chamado.
Mltiplos argumentos so separados por vrgulas.
reference Obrigatria. Varivel que contm a referncia ao objeto utilizada no
lado direito da atribuio de referncia ao objeto.
statements Opcional. Qualquer grupo de instrues a ser executado dentro do
corpo do procedimento Property.

O argumento arglist possui a sintaxe e as partes abaixo:
[Optional] [ByVal | ByRef] varname[( )] [As type] [= defaultvalue]

Parte Descrio

Optional Opcional. Indica que um argumento no obrigatrio. Se
utilizada, todos os argumentos subseqentes em arglist tambm
devero ser opcionais e declarados utilizando-se a palavra-chave
Optional. Observe que o lado direito de uma expresso Property
Set no pode ser Optional.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Opcional. Indica que o argumento passado por referncia.
ByRef o padro do Visual Basic.
ParamArray Opcional. Utilizada apenas como o ltimo argumento em arglist
para indicar que o argumento final uma matriz Optional de
elementos Variant. A palavra-chave ParamArray permite que
voc fornea um nmero arbitrrio de argumentos. Ela no pode
ser utilizada com ByVal, ByRef ou Optional.
varname Obrigatria. Nome da varivel que representa o argumento; segue
as convenes de nomenclatura padro de variveis.
type Opcional. Tipo de dados do argumento passado ao procedimento;
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
pode ser Byte, Boolean, Integer, Long, Currency, Single,
Double, Decimal (no-suportado atualmente), Date, String
(somente de comprimento varivel), Object, Variant. Se o
parmetro no for Optional, poder ser especificado um tipo
definido pelo usurio ou um tipo de objeto.
defaultvalue Opcional. Qualquer constante ou expresso de constante. Vlido
somente para parmetros Optional. Se o tipo for um Object, um
valor padro explcito somente poder ser Nothing.

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 Opcional. Palavra-chave que especifica que varname uma
varivel de objeto utilizada para responder a eventos
acionados por um objeto ActiveX. Vlida somente em
mdulos de classe. Voc pode declarar quantas variveis
individuais desejar utilizando WithEvents, mas no pode
criar matrizes com WithEvents. Voc no pode utilizar New
com WithEvents.
varname Obrigatria. Nome da varivel; segue as convenes de
nomenclatura padro de variveis.
subscripts Opcional. Dimenses de uma varivel de matriz; at 60
dimenses mltiplas podem ser declaradas. O argumento
subscripts utiliza a sintaxe abaixo:
[lower To] upper [,[lower To] upper] . . .
Quando no enunciado explicitamente em lower, o limite
inferior de uma matriz controlado pela instruo Option
Base. O limite inferior ser zero se no estiver presente uma
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
instruo Option Base.
New Opcional. Palavra-chave que permite a criao implcita de
um objeto. Se voc utilizar New quando declarar a varivel
de objeto, uma nova ocorrncia do objeto ser criada na
primeira referncia a ele; portanto, voc no precisa utilizar a
instruo Set para atribuir a referncia ao objeto. A palavra-
chave New no pode ser utilizada para declarar variveis de
tipo de dados intrnseco, no pode ser utilizada para declarar
instncias de objetos dependentes e no pode ser utilizada
com WithEvents.
type Opcional. Tipo de dados da varivel; pode ser Byte,
Boolean, Integer, Long, Currency, Single, Double,
Decimal (no-suportado atualmente), Date, String, (para
seqncias de caracteres de comprimento varivel), String *
length (para seqncias de caracteres de comprimento fixo),
Object, Variant, um tipo definido pelo usurio ou um tipo de
objeto. Utilize uma clusula As type separada para cada
varivel que estiver sendo definida.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Opcional. Palavra-chave utilizada para preservar os dados em
uma matriz existente quando voc altera o tamanho da ltima
dimenso.
varname Obrigatria. Nome da varivel; segue as convenes de
nomenclatura padro de varivel.
subscripts Obrigatria. Dimenses de uma varivel de matriz; at 60
dimenses mltiplas podem ser declaradas. O argumento
subscripts utiliza a sintaxe abaixo:
[lower To] upper [,[lower To] upper] . . .
Quando no declarado de forma explcita em lower, o limite
inferior de uma matriz controlado pela instruo Option
Base. O limite inferior ser zero se nenhuma instruo Option
Base estiver presente.
type Opcional. Tipo de dados da varivel; pode ser Byte, Boolean,
Integer, Long, Currency, Single, Double, Decimal (no-
suportado atualmente), Date, String (para seqncias de
caracteres de comprimento varivel), String * length (para
seqncias de caracteres de comprimento fixo), Object,
Variant, um tipo definido pelo usurio ou um tipo de objeto.
Utilize uma clusula As type separada para cada varivel
sendo definida. Para um Variant contendo uma matriz, type
descreve o tipo de cada elemento da matriz, mas no altera o
Variant para algum outro tipo.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
eliminados sero perdidos. Se voc passar uma matriz para um procedimento por referncia, no
poder redimensionar a matriz dentro do procedimento.
Quando as variveis forem inicializadas, uma varivel numrica ser inicializada para 0, uma
seqncia de caracteres de comprimento varivel ser inicializada para uma seqncia de caracteres
de comprimento zero ("") e uma seqncia de caracteres de comprimento fixo ser preenchida com
zeros. As variveis Variant so inicializadas para Empty. Cada elemento de uma varivel de tipo
definido pelo usurio inicializada como se fosse uma varivel separada. Uma varivel que faz
referncia a um objeto deve ser atribuda a um objeto existente utilizando-se a instruo Set antes
que possa ser utilizada. At que um objeto seja atribudo a ela, a varivel de objeto declarada ter o
valor especial Nothing, o que indica que ela no faz referncia a uma ocorrncia especfica de um
objeto.

Ateno A instruo ReDim age como uma instruo declarativa se a varivel que ela declara no
existir no nvel de mdulo ou no nvel de procedimento. Se uma outra varivel com o mesmo nome for
criada posteriormente, mesmo em um escopo mais amplo, ReDim far referncia varivel posterior
e no causar necessariamente um erro de compilao, mesmo que Option Explicit esteja em vigor.
Para evitar tais conflitos, ReDim no deve ser utilizada como uma instruo declarativa, mas
simplesmente para o redimensionamento de matrizes.

Observao: Para redimensionar uma matriz contida em um Variant, voc deve declarar de forma
explicita a varivel Variant antes de tentar redimensionar sua matriz.


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 Obrigatria. Nome da varivel ou propriedade; segue as
convenes de nomenclatura padro de varivel.
New Opcional. New geralmente utilizado durante a declarao
para possibilitar a criao implcita de objeto. Quando New
for utilizada com Set, ela criar uma nova ocorrncia da
classe. Se objectvar contiver uma referncia a um objeto,
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
essa referncia ser liberada quando for atribuda uma
nova. A palavra-chave New no pode ser utilizada para criar
novas instncias de qualquer tipo de dados intrnseco e no
pode ser utilizada para criar objetos dependentes.
objectexpres
sion
Obrigatria. Expresso que consiste no nome de um objeto,
uma outra varivel declarada do mesmo tipo de objeto ou
uma funo ou mtodo que retorna um objeto do mesmo
tipo.
Nothing Opcional. Suspende a associao de objectvar com
qualquer objeto especfico. Atribuir Nothing a objectvar
libera todos os recursos de sistema e memria associados
com o objeto referenciado anteriormente quando nenhuma
outra varivel fizer referncia a ele.

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 FormulriosFilho(1 to 4) As Form1
Set FormulriosFilho(1) = New Form1
Set FormulriosFilho(2) = New Form1
Set FormulriosFilho(3) = New Form1
Set FormulriosFilho(4) = 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 palavra-
chave 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 Obrigatria. Nome da varivel; segue as convenes de
nomenclatura padro de varivel.
subscripts Opcional. As dimenses de uma varivel de matriz; podem ser
declaradas at 60 dimenses variadas. O argumento
subscripts utiliza a sintaxe abaixo:
[lower To] upper [,[lower To] upper] . . .
Quando no enunciado de forma explcita em lower, o limite
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
inferior de uma matriz ser controlado pela instruo Option
Base. O limite inferior ser zero se nenhuma instruo Option
Base estiver presente.
New Opcional. Palavra-chave que possibilita a criao implcita de
um objeto. Se voc utilizar New ao declarar a varivel de
objeto, uma nova ocorrncia do objeto ser criada na primeira
referncia a ele, assim no ser necessrio utilizar a instruo
Set para atribuir a referncia ao objeto. A palavra-chave New
no pode ser utilizada para declarar variveis de qualquer tipo
de dados intrnseco e no pode ser utilizada para declarar
instncias de objetos dependentes.
type Opcional. Tipo de dados da varivel; pode ser Byte, Boolean,
Integer, Long, Currency, Single, Double, Decimal (no-
suportado atualmente), Date, String, (para seqncias de
caracteres de comprimento varivel), String * length (para
seqncias de caracteres de comprimento fixo), Object,
Variant, um tipo definido pelo usurio ou um tipo de objeto.
Utilize uma clusula As type separada para cada varivel
sendo definida.

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 no-
estticos, 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub

A sintaxe da instruo Sub tem estas partes:
Parte Descrio

Public Opcional. Indica que o procedimento Sub acessvel a todos
os outros procedimentos em todos os mdulos. Se utilizado em
um mdulo que contiver uma instruo Option Private, o
procedimento no estar disponvel fora do projeto.
Private Opcional. Indica que o procedimento Sub acessvel somente
a outros procedimentos no mdulo onde ele declarado.
Static Opcional. Indica que as variveis locais do procedimento Sub
so preservadas entre as chamadas. O atributo Static no
afeta as variveis que so declaradas fora de Sub, mesmo que
elas sejam utilizadas no procedimento.
name Obrigatria. Nome de Sub; segue as convenes de
nomenclatura padro de varivel.
arglist Opcional. Lista de variveis representando os argumentos que
so passados para o procedimento Sub quando ele
chamado. As variveis so separadas por vrgulas.
statement
s
Opcional. Qualquer grupo de instrues a serem executadas
dentro do procedimento Sub.

O argumento arglist possui a sintaxe e as partes abaixo:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

Parte Descrio

Optional Opcional. Palavra-chave indicando que um argumento no
obrigatrio. Se utilizada, todos os argumentos subseqentes
em arglist devero tambm ser opcionais e declarados
utilizando-se a palavra-chave Optional. Optional no poder
ser utilizado para qualquer argumento se ParamArray for
utilizado.
ByVal Opcional. Indica que o argumento passado por valor.
ByRef Opcional. Indica que o argumento passado por referncia.
ByRef representa o padro no Visual Basic.
ParamArr
ay
Opcional. Utilizado somente como ltimo argumento em arglist
para indicar que o argumento final uma matriz Optional de
elementos Variant. A palavra-chave ParamArray permite-lhe
fornecer um nmero arbitrrio de argumentos. ParamArray
no pode ser utilizado com ByVal, ByRef ou Optional.
varname Obrigatria. Nome da varivel representando o argumento;
segue as convenes de nomenclatura padro de varivel.
type Opcional. Tipo de dados do argumento passado ao
procedimento; pode ser Byte, Boolean, Integer, Long,
Currency, Single, Double, Decimal (no-suportado
atualmente), Date, String (somente de comprimento varivel),
Object, Variant. Se o parmetro no for Optional, um tipo
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
definido pelo usurio ou um tipo de objeto tambm pode ser
especificado.
defaultval
ue
Opcional. Qualquer constante ou expresso de constante.
Vlida somente para parmetros Optional. Se o tipo for um
Object, o valor padro explcito poder ser apenas Nothing.

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 no-
declarada 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Instruo Type
Utilizada no nvel de mdulo para definir um tipo de dados definido pelo usurio contendo um ou mais
elementos.
Sintaxe
[Private | Public] Type varname
elementname[([subscripts])] As type
[elementname[([subscripts])] As type]
. . .
End Type

A sintaxe da instruo Type tem estas partes:
Parte Descrio

Public Opcional. Utilizada para declarar tipos definidos pelo usurio que
esto disponveis para todos os procedimentos em todos os
mdulos e em todos os projetos.
Private Opcional. Utilizada para declarar tipos definidos pelo usurio que
esto disponveis somente dentro do mdulo onde ocorre a
declarao.
varname Obrigatria. Nome do tipo definido pelo usurio; segue as
convenes de nomenclatura padro de variveis.
element
name
Obrigatria. Nome de um elemento de tipo definido pelo usurio.
Os nomes de elemento tambm seguem as convenes de
nomenclatura padro de varivel, exceto que palavras-chave
podem ser utilizadas.
subscrip
ts
Opcional. Dimenses de um elemento de matriz. Utilize somente
parnteses quando declarar uma matriz cujo tamanho pode ser
alterado. O argumento subscripts utiliza a sintaxe abaixo:
[lower To] upper [,[lower To] upper] . . .
Quando no for declarado de forma explcita em lower, o limite
inferior de uma matriz ser controlado pela instruo Option
Base. O limite inferior ser zero se nenhuma instruo Option
Base estiver presente.
type Obrigatria. Tipo de dados do elemento; pode ser Byte,
Boolean, Integer, Long, Currency, Single, Double, Decimal
(no-suportado atualmente), Date, String(para seqncias de
caracteres de comprimento varivel), String * comprimento (para
seqncias de caracteres de comprimento fixo), Object, Variant,
um outro tipo definido pelo usurio ou um tipo de objeto.

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 utilizando-
se 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 ' Declara uma matriz esttica.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Municpio As String * 30
End Type


Dim SoPaulo(1 To 100) As StateData

No exemplo anterior, StateData inclui a matriz esttica CdigoDaCidade e o registro SoPaulo
possui a mesma estrutura que StateData.
Quando voc declara uma matriz de tamanho fixo dentro de um tipo definido pelo usurio, suas
dimenses devem ser declaradas com literais numricos ou constantes em vez de variveis.
A definio da instruo Option Base determina o limite inferior para as matrizes dentro dos tipos
definidos pelo usurio.

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 Obrigatria. Nome da varivel de matriz; segue as convenes
de nomenclatura padro de varivel.
dimension Opcional; Variant (Long). Nmero inteiro indicando o limite
superior da dimenso que retornado. Utilize 1 para a primeira
dimenso, 2 para a segunda e assim por diante. Se dimension
for omitida, assume-se o valor 1.

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 Valor de retorno

UBound(A, 1) 100
UBound(A, 2) 3
UBound(A, 3) 4


Exemplo da funo Array

Este exemplo utiliza a funo Array para retornar uma Variant que contm uma matriz.
Dim MyWeek, MyDay
MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
' Os valores de retorno assumem o limite inferior definido como 1
(utilizando a instruo Option Base).
MyDay = MyWeek(2) ' MyDay contm "Tue".
MyDay = MyWeek(4) ' MyDay contm "Thu".

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Const

Este exemplo utiliza a instruo Const para declarar constantes para uso em lugar de valores literais.
As constantes Public ocorrem em uma seo Geral de um mdulo padro, em vez de em um mdulo
de classe. As constantes Private podem aparecer na seo Geral de qualquer tipo de mdulo.
' As constantes so Private como padro.
Const MyVar = 459

' Declara a constante Public.
Public Const MyString = "HELP"

' Declara a constante Integer Private.
Private Const MyInt As Integer = 5

' Declara mltiplas constantes na mesma linha.
Const MyStr = "Hello", MyDouble As Double = 3.4567

Exemplo da funo CreateObject

Este exemplo utiliza a funo CreateObject para definir uma referncia (xlApp) ao Microsoft Excel.
Ele utiliza a referncia para acessar a propriedade Visible do Microsoft Excel e, em seguida, utiliza o
mtodo Quit do Microsoft Excel para fech-lo. Por fim, a prpria referncia liberada.
Dim xlApp As Object ' Declara a varivel para conter a referncia.

Set xlApp = CreateObject("excel.application")
' Voc pode ter que definir a propriedade Visible como True
' se quiser ver o aplicativo.
xlApp.Visible = True
' Usa xlApp para acessar outros objetos do
' Microsoft Excel.
xlApp.Quit ' Quando terminar, use o mtodo Quit para fechar
Set xlApp = Nothing ' o aplicativo e, em seguida, libere a referncia.


Exemplo da instruo Declare

Este exemplo mostra como a instruo Declare utilizada em nvel de mdulo de um mdulo padro
para declarar uma referncia a um procedimento externo em uma biblioteca de vinculao dinmica
(DLL) ou no recurso de cdigo do Macintosh. Voc pode inserir as instrues Declare em mdulos de
classe se as instrues Declare forem Private.
' No Microsoft Windows (de 16 bits):
Declare Sub MessageBeep Lib "User" (ByVal N As Integer)
' Suponha que SomeBeep um alias para o nome do procedimento.
Declare Sub MessageBeep Lib "User" Alias "SomeBeep"(ByVal N As Integer)
' Usa um ordinal na clusula Alias para chamar GetWinFlags.
Declare Function GetWinFlags Lib "Kernel" Alias "#132"() As Long

' Nos sistemas Microsoft Windows de 32 bits, especifique a biblioteca
USER32.DLL,
' em vez de USER.DLL. Voc pode utilizar a compilao
' condicional para gravar um cdigo que possa ser
' executado tanto no Win32 como no Win16.
#If Win32 Then
Declare Sub MessageBeep Lib "User32" (ByVal N As Long)
#Else
Declare Sub MessageBeep Lib "User" (ByVal N As Integer)
#End If

' No Macintosh:
Declare Sub MessageAlert Lib "MyHd:MyAlert" Alias "MyAlert" (ByVal N _
As Integer)
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
' Utiliza um recurso de cdigo na clusula Alias.
Declare Sub MessageAlert Lib "MyHd:MyAlert" Alias "XTST$MyAlert" _
(ByVal N As Integer)

' Se o especificador do tipo de recurso de cdigo tiver
' somente 3 caracteres, certifique-se de deixar um
' espao em branco onde apareceria normalmente o
' caractere final.
Declare Sub MessageAlert Lib "MyHd:AnAlert" Alias "COD $AnAlert" _
(ByVal N As Integer)


Exemplo de instrues Deftype

Este exemplo mostra vrios usos das instrues Deftype para definir os tipos de dados padro de
variveis e procedimentos de funo cujos nomes iniciam com caracteres especificados. O tipo de
dados padro pode ser sobrescrito somente por atribuio explcita utilizando-se a instruo Dim. As
instrues Deftype somente podem ser utilizadas em nvel de mdulo (ou seja, fora dos
procedimentos).
' Os nomes de varivel que comeam com as letras entre A e K tm como
padro Integer.
DefInt A-K
' Os nomes de varivel que comeam com as letras entre L e Z tm como
padro String.
DefStr L-Z
CalcVar = 4 ' Inicializa Integer.
StringVar = "Hello, there" ' Inicializa String.
AnyVar = "Hello" ' Provoca o erro "Type Mismatch".
Dim Calc As Double ' Define explicitamente o tipo como Double.
Calc = 2.3455 ' Atribui um Double.

' As instrues Deftype tambm se aplicam a procedimentos de funo.
CalcNum = ATestFunction(4) ' Chama a funo definida pelo usurio.
' Definio do procedimento de funo ATestFunction.
Function ATestFunction(INumber)
ATestFunction = INumber * 2 ' O valor de retorno um inteiro.
End Function


Exemplo da instruo Dim

Este exemplo mostra vrios usos da instruo Dim para declarar variveis. Ele tambm mostra a
instruo Dim sendo utilizada para declarar matrizes. O limite inferior padro dos subscritos de matriz
0 e pode ser sobrescrito em nvel de mdulo utilizando-se a instruo Option Base.
' AnyValue e MyValue so declaradas como Variant como padro com o valores
definidos como Empty.
Dim AnyValue, MyValue

' Declara explicitamente uma varivel do tipo Integer.
Dim Nmero As Integer

' Mltiplas declaraes em uma nica linha. AnotherVar do tipo Variant
' porque o seu tipo est omitido.
Dim AnotherVar, Option As Boolean, BirthDate As Date

' DayArray uma matriz de variantes com 51 elementos indexados, de
' 0 a 50, pressupondo-se que Option Base esteja definida como 0 (padro)
para o
' mdulo atual.
Dim DayArray(50)

' Matrix uma matriz bidimensional de inteiros.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Dim Matrix(3, 4) As Integer

' MyMatrix uma matriz tridimensional de duplos com limites explcitos.
Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double

' BirthDay uma matriz de datas com ndices de 1 a 10.
Dim BirthDay(1 To 10) As Date

' MyArray uma matriz dinmica de variantes.
Dim MyArray()


Exemplo da instruo Enum

O exemplo abaixo mostra a instruo Enum usada para definir uma coleo de constantes
nomeadas. Neste caso, as constantes so cores que voc poderia escolher para designar formulrios
de entrada de dados para um banco de dados.
Public Enum InterfaceColors
icMistyRose = &HE1E4FF&
icSlateGray = &H908070&
icDodgerBlue = &HFF901E&
icDeepSkyBlue = &HFFBF00&
icSpringGreen = &H7FFF00&
icForestGreen = &H228B22&
icGoldenrod = &H20A5DA&
icFirebrick = &H2222B2&
End Enum

Exemplo da instruo Erase

Este exemplo utiliza a instruo Erase para reinicializar os elementos de matrizes de tamanho fixo e
desalocar espao de armazenamento de matrizes dinmicas.
' Declara variveis de matriz.
Dim NumArray(10) As Integer ' Matriz Integer.
Dim StrVarArray(10) As String ' Matriz de seqncia de caracteres varivel.
Dim Str|FixArray(10) As String * 10 ' Matriz de seqncia de caracteres
fixa.
Dim VarArray(10) As Variant ' Matriz de variante.
Dim DynamicArray() As Integer ' Matriz Dinmica.
ReDim DynamicArray(10) ' Alocar espao de armazenamento.
Erase NumArray ' Cada elemento definido como 0.
Erase StrVarArray ' Cada elemento definido como seqncia de caracteres de
Length
' zero ("").
Erase Str|FixArray ' Cada elemento definido como 0.
Erase VarArray ' Cada elemento definido como Empty.
Erase DynamicArray ' Liberar a memria utilizada pela matriz.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Event

O exemplo abaixo utiliza eventos para contar segundos durante uma demonstrao da mais rpida
corrida de 100 metros rasos. O cdigo ilustra todos os mtodos relacionados com eventos,
propriedades e instrues, incluindo a instruo Event.
A classe que produz um evento da origem do evento e a classe que implementa o evento so os
coletores. Uma origem de evento pode ter mltiplos coletores para os eventos que ela gera. Quando
a classe provoca o evento, ele disparado em todas as classes que escolheram eventos coletores
para aquela ocorrncia do objeto.
O exemplo tambm utiliza um formulrio (Form1) com um boto (Command1), um rtulo (Label1) e
duas caixas de texto (Text1 e Text2). Quando voc clica no boto, a primeira caixa de texto exibe
"A partir de agora" e a segunda inicia a contagem de segundos. Quando o tempo completo (9,84
segundos) decorre, a primeira caixa de texto exibe "At agora" e a segunda exibe "9,84"
O cdigo para Form1 especifica os estados inicial e final do formulrio. Ele tambm contm o cdigo
executado quando os eventos so provocados.
Option Explicit

Private WithEvents mText As TimerState

Private Sub Command1_Click()
Text1.Text = "Frow now"
Text1.Refresh
Text2.Text = "0"
Text2.Refresh
Call mText.TimerTask(9.84)
End Sub

Private Sub Form_Load()
Command1.Caption = "Click to Start Timer"
Text1.Text = ""
Text2.Text = ""
Label1.Caption = "The fastest 100 meter run took this long:"
Set mText = New TimerState
End Sub

Private Sub mText_ChangeText()
Text1.Text = "At agora"
Text2.Text = "9.84"
End Sub

Private Sub mText_UpdateTime(ByVal dblJump As Double)
Text2.Text = Str(Format(dblJump, "0"))
DoEvents
End Sub

O cdigo restante est em um mdulo de classe chamado TimerState. As instrues Event declaram
os procedimentos iniciados quando eventos so provocados.
Option Explicit
Public Event UpdateTime(ByVal dblJump As Double)
Public Event ChangeText()

Public Sub TimerTask(ByVal Duration As Double)
Dim dblStart As Double
Dim dblSecond As Double
Dim dblSoFar As Double
dblStart = Timer
dblSoFar = dblStart

Do While Timer < dblStart + Duration
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
If Timer - dblSoFar >= 1 Then
dblSoFar = dblSoFar + 1
RaiseEvent UpdateTime(Timer - dblStart)
End If
Loop

RaiseEvent ChangeText

End Sub

Exemplo da instruo Function

Este exemplo utiliza a instruo Function para declarar o nome, argumentos e cdigo que formam o
corpo de um procedimento Function. O ltimo exemplo utiliza argumentos Optional inicializados.
' A seguinte funo definida pelo usurio retorna a raiz quadrada do
' argumento passado a ela.
Function CalculateSquareRoot(NumberArg As Double) As Double
If NumberArg < 0 Then ' Avalia o argumento.
Exit Function ' Sai para chamar o procedimento.
Else
CalculateSquareRoot = Sqr(NumberArg) ' Retorna a raiz quadrada.
End If
End Function

O uso da palavra-chave ParamArray possibilita que uma funo aceite um nmero varivel de
argumentos. Na definio a seguir, FirstArg passado pelo valor.
Function CalcSum(ByVal FirstArg As Integer, ParamArray OtherArgs())
Dim ReturnValue
' Se a funo for chamada da seguinte maneira:
ReturnValue = CalcSum(4, 3 ,2 ,1)
' As variveis locais so atribudas aos seguintes valores: FirstArg = 4,
' OtherArgs(1) = 3, OtherArgs(2) = 2, e assim por diante, pressupondo-se o
limite inferior padro
' para matrizes = 1.

Os argumentos Optional agora podem ter valores e tipos padro diferentes de Variant.
' Se os argumentos de uma funo forem definidos da seguinte maneira:
Function MyFunc(MyStr As String, Optional MyArg1 As Integer = 5, Optional
MyArg2 = "Dolly")
Dim RetVal
' A funo pode ser chamada da seguinte maneira:
RetVal = MyFunc("Hello", 2, "World") ' Todos os 3 argumentos
fornecidos.
RetVal = MyFunc("Test", , 5) ' Segundo argumento omitido.
' Argumentos um e trs utilizando argumentos nomeados.
RetVal = MyFunc(MyStr:="Hello ", MyArg1:=7)

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo GetObject

Este exemplo utiliza a funo GetObject para obter uma referncia a uma planilha especfica do
Microsoft Excel (MyXL). Ele utiliza a propriedade Application da planilha para tornar o Microsoft Excel
visvel, fech-lo etc. A primeira chamada de GetObject provoca um erro se o Microsoft Excel ainda
no estiver sendo executado. No exemplo, o erro faz com que o sinalizador ExcelNoEstavaSendo
Executado seja definido como True. A segunda chamada de GetObject especifica um arquivo a ser
aberto. Se o Microsoft Excel ainda no estiver sendo executado, a segunda chamada o iniciar e
retornar uma referncia planilha representada pelo arquivo especificado. O arquivo, meuteste.xls
no exemplo, deve existir no local especificado; caso contrrio, ser gerado o erro de automao do
Visual Basic. Depois, o cdigo de exemplo torna visveis tanto o Microsoft Excel como a janela que
contm a planilha especificada. Por fim, se no havia verso anterior do Microsoft Excel sendo
executada, o cdigo utiliza o mtodo Quit do objeto Application para fechar o Microsoft Excel. Se o
aplicativo j estava sendo executado, no feita nenhuma tentativa de fech-lo. A prpria referncia
liberada sendo definida como Nothing.
' Declara necessrio as routinas API :
Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName as String, _
ByVal lpWindowName As Long) As Long

Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd as Long,ByVal wMsg as Long _
ByVal wParam as Long _
ByVal lParam As Long) As Long

Sub GetExcel()
Dim MyXL As Object ' Varivel para conter a referncia ao Microsoft Excel.
Dim ExcelWasNotRunning As Boolean ' Sinalizador para liberao final.

' Testa para ver se j h uma cpia do Microsoft Excel sendo executada.
On Error Resume Next ' Adia a interceptao do erro.
' Funo GetObject chamada sem que o primeiro argumento
' retorne uma referncia a uma instncia do aplicativo. ' Se o aplicativo
no estiver sendo executado, ocorrer ' um erro. Observe a vrgula
utilizada como marcador para o primeiro argumento
Set MyXL = Getobject(, "Excel.Application")
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear ' Limpa o objeto Err se tiver ocorrido o erro.
' Verifique para o Microsoft Excel. Se o Microsoft Excel est sendo
executado,
' insira dentro da tabela Running Object.
DetectExcel

' Define a varivel de objeto para fazer referncia ao arquivo que voc
deseja ver.
Set MyXL = Getobject("c:\vb4\MYTEST.XLS")

' Mostra o Microsoft Excel atravs da sua propriedade Application. Em
seguida mostra a janela real que contm o arquivo que utiliza a coleo
Windows
' da referncia do objeto MyXL.
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True
' Faz a manipulao do seu
' arquivo aqui.
' ...
' Se esta cpia do Microsoft Excel no estava sendo executada quando voc
iniciou, feche-a utilizando o mtodo Quit da propriedade Application.
' Observe que, quando voc tentar sair do Microsoft Excel, a barra de
ttulo do Microsoft Excel
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
' piscar e o Microsoft Excel exibir uma mensagem perguntando-lhe se
deseja
' salvar os arquivos carregados.
If ExcelWasNotRunning = True Then MyXL.Application.Quit
End If
Set MyXL = Nothing ' Libera a referncia para o
' aplicativo e planilha.
End Sub

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


Exemplo da instruo Implements

O exemplo abaixo mostra como usar a instruo Implements para fazer um conjunto de declaraes
disponveis para mltiplas classes. Compartilhando as declaraes atravs da instruo Implements,
nenhuma classe precisa fazer qualquer declarao.
Suponhamos que existam dois formulrios. O formulrio Selector tem dois botes, Customer Data e
Supplier Data. Para inserir informaes de nome e endereo para um cliente ou um fornecedor, o
usurio clica no boto Customer ou no boto Supplier no formulrio Selector e, em seguida, insere o
nome e o endereo usando o formulrio Data Entry. Este formulrio tem dois campos, Name e
Address.
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:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Implements PersonalData

Private Property Get PersonalData_Address() As String
PersonalData_Address = "SupplierAddress"
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 = "SupplierName"
End Property

O cdigo abaixo suporta o formulrio Selector:
Private cust As New Customer
Private sup As New Supplier

Private Sub Command1_Click()
Dim frm2 As New Form2
Set frm2.PD = cust
frm2.Show 1
End Sub

Private Sub Command2_Click()
Dim frm2 As New Form2
Set frm2.PD = sup
frm2.Show 1
End Sub

O cdigo abaixo suporta o formulrio Data Entry:
Private m_pd As PersonalData
Private Sub Form_Load()
With m_pd
Text1 = .Name
Text2 = .Address
End With
End Sub
Public Property Set PD(Data As PersonalData)
Set m_pd = Data
End Property
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo LBound

Este exemplo utiliza a funo LBound para determinar o menor subscrito disponvel para a dimenso
indicada de uma matriz. Utiliza a instruo Option Base para sobrescrever o valor 0 do subscrito da
matriz base padro.
Dim Lower
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' Declara as variveis de matriz.
Dim AnyArray(10)
Lower = Lbound(MyMatrix, 1) ' Retorna 1.
Lower = Lbound(MyMatrix, 3) ' Retorna 10.
Lower = Lbound(AnyArray) ' Retorna 0 ou 1, dependendo da
' definio de Option Base.


Exemplo da instruo Let

Este exemplo atribui os valores de expresses a variveis utilizando a instruo Let explcita e
implcita.
Dim MyStr, MyInt
' As atribuies de varivel a seguir utilizam a instruo Let.
Let MyStr = "Hello World"
Let MyInt = 5

As instrues a seguir so as mesmas, sem a instruo Let.
Dim MyStr, MyInt
MyStr = "Hello World"
MyInt = 5


Exemplo da instruo Option Base

Este exemplo utiliza a instruo Option Base para sobrescrever o valor 0 do subscrito da matriz base
padro. A funo LBound retorna o menor subscrito disponvel para a dimenso indicada de uma
matriz. A instruo Option Base utilizada somente em nvel de mdulo.
Option base 1 ' Define os subscritos da matriz padro como 1.

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.


Exemplo da instruo Option Compare

Este exemplo utiliza a instruo Option Compare para definir o mtodo de comparao de
seqncias padro. A instruo Option Compare utilizada somente no nvel de mdulo.
' Define o mtodo de comparao de seqncias de caracteres como Binary.
Option compare Binary ' Ou seja, "AAA" menos que "aaa"
' Define o mtodo de comparao de seqncias como Text.
Option compare Text ' Ou seja, "AAA" igual a "aaa".

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Option Explicit

Este exemplo utiliza a instruo Option Explicit para for-lo a declarar explicitamente todas as
variveis. A tentativa de utilizar uma varivel no declarada provoca um erro em tempo de
compilao. A instruo Option Explicit utilizada somente no nvel de mdulo.
Option explicit ' Fora a declarao de varivel explcita.
Dim MyVar' Declara a varivel.
MyInt = 10 ' Varivel no declarada gera erro.
MyVar = 10 ' Varivel declarada no gera erro.


Exemplo da instruo Option Private

Este exemplo demonstra a instruo Option Private, que utilizada no nvel de mdulo para indicar
que o mdulo inteiro privado. Com Option Private Module, os smbolos de nvel de mdulo no
declarados Private continuam disponveis para outros mdulos no projeto, mas no para outros
projetos ou aplicativos.
Option private Module ' Indica que o mdulo privado.


Exemplo da instruo Private

Este exemplo mostra a instruo Private sendo utilizada no nvel de mdulo para declarar variveis
como privadas, ou seja, elas esto disponveis somente para o mdulo em que so declaradas.
Private Nmero As Integer ' Varivel Integer privada.
Private NameArray(1 To 5) As String ' Varivel de matriz privada.
' Mltiplas declaraes, duas Variants e um Integer, todos Private.
Private MyVar, YourVar, ThisVar As Integer


Exemplo da instruo Property Get

Este exemplo utiliza a instruo Property Get para definir um procedimento de propriedade que
obtm o valor de uma propriedade. A propriedade identifica, como uma seqncia de caracteres, a
cor atual de uma caneta em um pacote de desenho.
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' Retorna a cor atual da caneta como uma seqncia de caracteres.
Property Get PenColor() As String
Select Case CurrentColor
Case RED
PenColor = "Red"
Case GREEN
PenColor = "Green"
Case BLUE
PenColor = "Blue"
End Select
End Property

' O cdigo a seguir obtm a cor da caneta
' que chama o procedimento Property Get.
ColorName = PenColor

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Property Let

Este exemplo utiliza a instruo Property Let para definir um procedimento que atribui um valor a
uma propriedade. A propriedade identifica a cor da caneta para um pacote de desenho.
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' Define a propriedade da cor da caneta de um pacote de desenho.
' A varivel em nvel de mdulo CurrentColor definida como um valor
numrico que identifica a cor utilizada no desenho.
Property Let PenColor(ColorName As String)
Select Case ColorName ' Verifica a seqncia de caracteres do nome da
cor.
Case "Red"
CurrentColor = RED ' Atribui o valor a Red.
Case "Green"
CurrentColor = GREEN ' Atribui o valor a Green.
Case "Blue"
CurrentColor = BLUE ' Atribui o valor a Blue.
Case Else
CurrentColor = BLACK ' Atribui valor padro.
End Select
End Property

' O cdigo a seguir define a propriedade PenColor de um pacote de desenho
' chamando o procedimento Property Let.

PenColor = "Red"


Exemplo da instruo Property Set

Este exemplo utiliza a instruo Property Set para definir um procedimento de propriedade que
define uma referncia a um objeto.
' A propriedade Pen pode ser definida como diferentes implementaes Pen.
Property Set Pen(P As Object)
Set CurrentPen = P ' Atribui Pen ao objeto.
End Property


Exemplo da instruo Public

Este exemplo utiliza a instruo Public no nvel de mdulo (seo Geral) de um mdulo padro para
declarar explicitamente variveis como pblicas, ou seja, elas esto disponveis para todos os
procedimentos em todos os aplicativos, a menos que Option Private Module esteja ativa.
Public Nmero As Integer ' Varivel Integer pblica.
Public NameArray(1 To 5) As String ' Varivel de matriz pblica.
' Mltiplas declaraes, duas Variants e um Integer, todos Public.
Public MyVar, YourVar, ThisVar As Integer

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo ReDim

Este exemplo utiliza a instruo ReDim para alocar e realocar o espao de armazenamento para
variveis de matriz dinmica. Ele pressupe que a Option Base seja 1.
Dim MyArray() As Integer ' Declara a matriz dinmica.
Redim MyArray(5) ' Aloca 5 elementos.
For I = 1 To 5 ' Faz o loop 5 vezes.
MyArray(I) = I ' Inicializa a matriz.
Next I

A prxima instruo redimensiona a matriz e apaga os elementos.
Redim MyArray(10) ' Redimensiona para 10 elementos.
For I = 1 To 10 ' Faz o loop 10 vezes.
MyArray(I) = I ' Inicializa a matriz.
Next I

A instruo a seguir redimensiona a matriz, mas no apaga os elementos:
Redim Preserve MyArray(15) ' Redimensiona para 15 elementos.

Exemplo da instruo Rem

Este exemplo ilustra as vrias formas da instruo Rem, que utilizada para incluir comentrios
explicativos em um programa.
Rem Esta a primeira forma da sintaxe.

A segunda forma da sintaxe a seguinte:
Dim MyStr1, MyStr2
MyStr1 = "Hello": Rem Comentrio aps uma instruo separada por dois-
pontos.
MyStr2 = "Goodbye" ' Isto tambm um comentrio; no h necessidade de
dois-pontos.


Exemplo da instruo Set

Este exemplo utiliza a instruo Set para atribuir referncias de objeto s variveis. YourObject
considerado um objeto vlido com uma propriedade Text.
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject ' Atribui referncia a objeto.
' MyObject e YourObject se referem ao mesmo objeto.
YourObject.Text = "Hello World" ' Inicializa a propriedade.
MyStr = MyObject.Text ' Retorna "Hello World".

' Descontinua a associao. MyObject no se refere mais a YourObject.
Set MyObject = Nothing ' Solta o objeto.


Exemplo da instruo Static

Este exemplo utiliza a instruo Static para conter o valor de uma varivel desde que o cdigo do
mdulo esteja sendo executado.
' Definio de funo.
Function KeepTotal(Number)
' Somente a varivel Accumulate preserva o seu valor entre chamadas.
Static Accumulate
Accumulate = Accumulate + Number
KeepTotal = Accumulate
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
End Function

' Definio de funo Static.
Static Function MyFunction(Arg1, Arg2, Arg3)
' Todas as variveis locais preservam o valor entre chamadas de funo.
Accumulate = Arg1 + Arg2 + Arg3
Half = Accumulate / 2
MyFunction = Half
End Function


Exemplo da instruo Sub

Este exemplo utiliza a instruo Sub para definir o nome, argumentos e o cdigo que formam o corpo
de um procedimento Sub.
' Definio do procedimento Sub.
' Procedimento Sub com dois argumentos.
Sub SubComputeArea(Length, TheWidth)
Dim Area As Double ' Declara a varivel local.
If Length = 0 Or TheWidth = 0 Then
' Se ambos os argumentos = 0.
Exit Sub ' Sai de Sub imediatamente.
End If
Area = Length * TheWidth ' Calcula a rea do retngulo.
Debug.Print Area ' Imprime a rea na janela Depurar.
End Sub


Exemplo da instruo Type

Este exemplo utiliza a instruo Type para definir um tipo de dados definido pelo usurio. A instruo
Type utilizada somente no nvel de mdulo. Se ela aparecer em um mdulo de classe, uma
instruo Type dever ser precedida pela palavra-chave Private.
Type EmployeeRecord ' Cria o tipo definido pelo usurio.
ID As Integer ' Define elementos de um tipo de dados.
Name As String * 20
Adress As String * 30
Phone As Long
HireDate As Date
End Type
Sub CreateRecord()
Dim MyRecord As EmployeeRecord ' Declara a varivel.

' A atribuio varivel EmployeeRecord deve ocorrer em um
procedimento.
MyRecord.ID = 12003 ' Atribui um valor a um elemento.
End Sub

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo UBound

Este exemplo utiliza a funo UBound para determinar o maior subscrito disponvel para a dimenso
indicada de uma matriz.
Dim Upper
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' Declara as variveis de matriz.
Dim AnyArray(10)
Upper = UBound(MyArray, 1) ' Retorna 10.
Upper = UBound(MyArray, 3) ' Retorna 20.
Upper = UBound(AnyArray) ' Retorna 10.


Convenes da documentao


A documentao do Visual Basic utiliza as seguintes convenes tipogrficas.
Convenes Descrio

Sub, If, ChDir, Print,
True, Debug
Palavras em negrito cuja primeira letra
maiscula indicam palavras-chaves especficas
da linguagem.
Setup Palavras que voc instrudo a digitar
aparecem em negrito.
Objeto, nomevar,
lista_arg
Letras minsculas em itlico indicam lugares
reservados para informaes que voc fornece.
nomecaminho,
nmeroarquivo
Letras minsculas em itlico e negrito indicam
lugares reservados para argumentos onde
voc pode usar sintaxe posicional ou de
argumento nomeado.
[listaexpresso] Na sintaxe, os itens entre de colchetes so
opcionais.
{While | Until} Na sintaxe, chaves e uma barra vertical
indicam uma escolha obrigatria entre dois ou
mais itens. Voc deve escolher um dos itens, a
no ser que todos os itens tambm estejam
entre colchetes. Por exemplo:
[{Isto| OuAquilo}]
ESC, ENTER Palavras em maisculas pequenas indicam
nomes de teclas e seqncias de teclas.
ALT+F1, CTRL+R Um sinal de adio (+) entre nomes de teclas
indica uma combinao de teclas. Por
exemplo, ALT+F1 significa que voc deve
manter a tecla ALT pressionada enquanto
pressiona a tecla F1.

Convenes de cdigo
So usadas as seguintes convenes de cdigo:
Sample Code Descrio

MinhaSeqncia = "Al, mundo!" Esta fonte usada para cdigo,
variveis e texto de mensagens de
erro.
' Isto um comentrio. Uma apstrofo (') introduz
comentrios sobre o cdigo.
MinhaVar = "Isto um " _
& "exemplo" _
Um espao e uma sublinha (_) do
continuidade a uma linha de cdigo.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
& " de como continuar o cdigo."


Exemplo da instruo ChDir

Este exemplo utiliza a instruo ChDir para alterar o diretrio ou pasta atual.
' Altera o diretrio ou pasta atual para "MEUDIR".
ChDir "MEUDIR"

' Pressupe que "C:" a unidade de disco atual. A instruo a seguir
altera
' o diretrio padro na unidade de disco "D:". "C:" permanece a unidade de
disco atual.
ChDir "D:\WINDOWS\SYSTEM"


Exemplo da instruo ChDrive

Este exemplo utiliza a instruo ChDrive para alterar a unidade de disco atual.
ChDrive "D" ' Torna "D" a unidade de disco atual.


Exemplo da funo CurDir

Este exemplo utiliza a funo CurDir para retornar o caminho atual.
' Pressupe que o caminho atual na unidade de disco C
"C:\WINDOWS\SYSTEM".
' Pressupe que o caminho atual na unidade de disco D "D:\EXCEL".
' Pressupe que C a unidade de disco atual.
Dim MeuCaminho
MeuCaminho = CurDir ' Retorna "C:\WINDOWS\SYSTEM".
MeuCaminho = CurDir("C") ' Retorna "C:\WINDOWS\SYSTEM".
MeuCaminho = CurDir("D") ' Retorna "D:\EXCEL".

Exemplo da funo Dir

Este exemplo utiliza a funo Dir para verificar se determinados arquivos e diretrios existem.
Dim MeuArquivo, MeuCaminho, MeuNome
' Retorna "WIN.INI" se existir.
MeuArquivo = Dir("C:\WINDOWS\WIN.INI")

' Retorna o nome do arquivo com a extenso especificada. Se existir mais de
um arquivo *.ini,
' o primeiro arquivo encontrado ser retornado.
MeuArquivo = Dir("C:\WINDOWS\*.INI")

' Chama Dir novamente sem argumentos para retornar o prximo arquivo *.INI
no
' mesmo diretrio.
MeuArquivo = Dir

' Retorna primeiro o arquivo *.TXT com um atributo oculto definido.
MeuArquivo = Dir("*.TXT", vbHidden)

' Exibe os nomes em C:\ que representam diretrios.
MeuCaminho = "c:\" ' Define o caminho.
MeuNome = Dir(MeuCaminho, vbDirectory) ' Recupera a primeira entrada.
Do While MeuNome <> "" ' Inicia o loop.
' Ignora o diretrio atual e o diretrio abrangente.
If MeuNome <> "." And MeuNome <> ".." Then
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
' Utiliza a comparao bit a bit para se certificar de que MeuNome
um diretrio.
If (GetAttr(MeuCaminho & MeuNome) And vbDirectory) = vbDirectory Then
Debug.Print MeuNome ' Exibe a entrada somente se
End If ' representar um diretrio.
End If
MeuNome = Dir ' Obtm a prxima entrada.
Loop


Exemplo da funo Environ

Este exemplo utiliza a funo Environ para fornecer o nmero e comprimento de entrada da
instruo PATH da tabela de seqncias de caracteres de ambiente.

Dim SeqAmb, Ind, Msg, CompCaminho ' Declara as variveis.
Ind = 1 ' Inicializa o ndice como 1.
Do
SeqAmb = Environ(Ind) ' Obtm a varivel
' de ambiente.
If Left(SeqAmb, 5) = "PATH=" Then ' Verifica a entrada PATH.
CompCaminho = Len(Environ("PATH")) ' Obtm o comprimento.
Msg = "entrada PATH = " & Ind & " e comprimento = " & CompCaminho
Exit Do
Else
Ind = Ind + 1 ' No h entrada PATH,
End If ' ento incrementa.
Loop Until SeqAmb = ""
If CompCaminho > 0 Then
MsgBox Msg ' Exibe a mensagem.
Else
MsgBox "No existe a varivel de ambiente PATH."
End If


Exemplo da instruo FileCopy

Este exemplo utiliza a instruo FileCopy para copiar um arquivo em outro. Para este exemplo,
pressuponha que ARQORIGEM um arquivo que contm alguns dados.
Dim ArquivoDeOrigem, ArquivoDeDestino
ArquivoDeOrigem = "ARQORIGEM" ' Define o nome do arquivo de origem.
ArquivoDeDestino = "ARQDESTINO" ' Define o nome do arquivo de destino.
FileCopy ArquivoDeOrigem, ArquivoDeDestino ' Copia a origem no destino.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo FileDateTime

Este exemplo utiliza a funo FileDateTime para determinar a data e a hora em que um arquivo foi
criado ou modificado pela ltima vez. O formato da data e hora exibido baseado nas definies de
localidade do seu sistema.
Dim MinhaMarcao
' Pressupe que ARQUIVODETESTE foi modificado pela ltima vez em 12 de
fevereiro de 1993, s 4:35:47 PM.
' Pressupe as definies de localidade Ingls/EUA.
MinhaMarcao = FileDateTime("ARQUIVODETESTE") ' Retorna "12/2/93 4:35:47
PM".


Exemplo da funo FileLen

Este exemplo utiliza a funo FileLen para retornar o comprimento de um arquivo em bytes. Para
este exemplo, suponha que ARQUIVODETESTE um arquivo que contm alguns dados.
Dim MeuTamanho
MeuTamanho = FileLen("ARQUIVODETESTE") ' Retorna o comprimento do arquivo
(bytes).


Exemplo da funo GetAttr

Este exemplo utiliza a funo GetAttr para determinar os atributos de um arquivo e diretrio ou pasta.
Dim MeuAtributo
' Pressupe que o arquivo ARQUIVODETESTE tem o atributo de oculto definido.
MeuAtributo = GetAttr("ARQUIVODETESTE") ' Retorna 2.

' Retorna um valor diferente de zero se o atributo de oculto estiver
definido em ARQUIVODETESTE.
Debug.Print MeuAtributo And vbHidden

' Pressupe que o arquivo ARQUIVODETESTE tem os atributos de oculto e
somente leitura definidos.
MeuAtributo = GetAttr("ARQUIVODETESTE") ' Retorna 3.

' Retorna um valor diferente de zero se o atributo de oculto estiver
definido em ARQUIVODETESTE.
Debug.Print MeuAtributo And (vbHidden + vbReadOnly)

' Pressupe que MEUDIR um diretrio ou pasta.
MeuAtributo = GetAttr("MEUDIR") ' Retorna 16.


Exemplo da instruo Kill

Este exemplo utiliza a instruo Kill para excluir um arquivo de um disco.
' Pressupe que ARQUIVODETESTE um arquivo que contm alguns dados.
Kill "ArquivoDeTeste" ' Exclui o arquivo.

' Exclui todos os arquivos *.TXT do diretrio atual.
Kill "*.TXT"

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo MkDir

Este exemplo utiliza a instruo MkDir para criar um diretrio ou pasta. Se a unidade de disco no for
especificada, o novo diretrio ou pasta ser criado na unidade de disco atual.
MkDir "MEUDIR" ' Cria um novo diretrio ou pasta.


Exemplo da instruo Name

Este exemplo utiliza a instruo Name para renomear um arquivo. Para este exemplo, suponha que
os diretrios ou pastas especificados j existem.
Dim NomeAntigo, NovoNome
NomeAntigo = "NOMEANTIGO": NovoNome = "NOVOARQUIVO" ' Define os nomes de
arquivo.
Name NomeAntigo As NovoNome ' Renomeia o arquivo.

NomeAntigo = "C:\MEUDIR\ARQUIVOANTIGO": NovoNome = "C:\SEUDIR\NOVOARQUIVO"
Name NomeAntigo As NovoNome ' Move e renomeia o arquivo.


Exemplo da funo QBColor

Este exemplo utiliza a funo QBColor para alterar a propriedade BackColor do formulrio passado
como MeuFormulrio para a cor indicada por CdigoDaCor. QBColor aceita valores inteiros entre
0 e 15.
Sub ChangeBackColor (CdigoDaCor As Integer, MeuFormulrio As Form)
MeuFormulrio.BackColor = QBColor(CdigoDaCor)
End Sub


Exemplo da funo RGB

Este exemplo mostra como a funo RGB utilizada para retornar um nmero inteiro que representa
um valor de cor RGB. Ela utilizada em mtodos e propriedades de aplicativo que aceitam uma
especificao de cor. O objeto MeuObjeto e a sua propriedade so utilizados somente com
finalidades ilustrativas. Se MeuObjeto no existir, ou se no tiver uma propriedade Color, ocorrer
um erro.
Dim VERMELHO, I, ValorRGB, MeuObjeto
Vermelho = RGB(255, 0, 0) ' Retorna o valor para Vermelho.
I = 75 ' Inicializa o deslocamento.
ValorRGB = RGB(I, 64 + I, 128 + I) ' Igual a RGB(75, 139, 203).
MeuObjeto.Color = RGB(255, 0, 0) ' Define a propriedade Color de
' MeuObjeto como Vermelho.



Exemplo da instruo RmDir

Este exemplo utiliza a instruo RmDir para remover um diretrio ou pasta existente.
' Pressupe que MEUDIR um diretrio ou pasta vazia.
RmDir "MEUDIR" ' Remove MEUDIR.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo SetAttr

Este exemplo utiliza a instruo SetAttr para definir atributos para um arquivo.
SetAttr "ARQUIVODETESTE ", vbHidden ' Define o atributo de oculto.
SetAttr "ARQUIVODETESTE", vbHidden + vbReadOnly ' Define os atributos de
' oculto e somente leitura.


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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

nomedoc
aminho
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.
atributos 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 Valor Descrio

vbNormal 0 Normal
vbHidden 2 Oculto
vbSystem 4 Arquivo do sistema
vbVolume 8 Rtulo do volume. Se for especificado, todos os
outros atributos sero ignorados
vbDirectory 16 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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Descrio

envstring Opcional. Expresso de seqncia que contm o nome de
uma varivel de ambiente.
number 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 Descrio

source Obrigatrio. Expresso de seqncia que especifica o nome
do arquivo a ser copiado. Source pode incluir diretrio ou
pasta e unidade de disco.
destination 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Valor Descrio
vbNormal 0 Normal
vbReadOnly 1 Somente leitura
vbHidden 2 Oculto
vbSystem 4 Sistema
vbDirectory 16 Diretrio ou pasta
vbArchive 32 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:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Result = GetAttr(FName) And vbArchive

Um valor diferente de zero ser retornado se o atributo Archive 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 Descrio

nomeantigodocaminho Obrigatrio. Expresso de seqncia que
especifica o nome de arquivo existente e sua
localizao pode incluir diretrio ou pasta e
unidade de disco.
Nomenovodocaminho 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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
caminho em nomenovodocaminho existir e for diferente do caminho em nomeantigodocaminho, a
instruo Name mover o arquivo para o novo diretrio ou pasta e, se necessrio, renomear o
arquivo. Se nomenovodocaminho e nomeantigodocaminho tiverem caminhos diferentes e nomes de
arquivo iguais, Name mover o arquivo para a nova localizao e no alterar o nome do arquivo.
Utilizando Name, voc poder mover um arquivo de um diretrio ou pasta para outro, mas no
poder mover um diretrio ou pasta.
A utilizao de Name em um arquivo aberto gera um erro. Voc deve fechar um arquivo que esteja
aberto antes de renome-lo. Os argumentos de Name no podem conter curingas de mltiplos
caracteres (*) nem de caractere nico (?).

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 Cor Nmero Cor

0 Preto 8 Cinza
1 Azul 9 Azul-claro
2 Verde 10 Verde-claro
3 Ciano 11 Ciano-claro
4 Vermelho 12 Vermelho-claro
5 Magenta 13 Magenta-claro
6 Amarelo 14 Amarelo-claro
7 Branco 15 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 Descrio

red Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a 255,
inclusive, que representa o componente vermelho da cor.
green Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a.255,
inclusive, que representa o componente verde da cor.
blue Obrigatrio; Variant (Integer). Nmero no intervalo de 0 a 255,
inclusive, que representa o componente azul da cor.

Comentrios
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Os mtodos e as propriedades de aplicativos que aceitam uma especificao de cor esperam que
essa especificao seja um nmero que represente um valor de cor RGB. Este valor especifica a
intensidade relativa de vermelho, verde e azul que causa a exibio de uma cor especfica.
O valor de qualquer argumento de RGB que exceda 255 assumido como sendo 255.
A tabela a seguir lista algumas cores padro e os valores de vermelho, verde, e azul que elas
contm:
Cor Valor do
vermelho
Valor do
verde
Valor do azul

Preto 0 0 0
Azul 0 0 255
Verde 0 255 0
Ciano 0 255 255
Vermelho 255 0 0
Magenta 255 0 255
Amarelo 255 255 0
Branco 255 255 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 Descrio

pathname Obrigatrio. Expresso de seqncia que especifica um
nome de arquivo pode incluir diretrio ou pasta e unidade
de disco.
Attributes Obrigatrio. Constante ou expresso numrica cuja soma
especifica os atributos do arquivo.

Definies
As definies do argumento attributes so:
Constante Valor Descrio

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
vbNormal 0 Normal (padro)
vbReadOnly 1 Somente leitura
vbHidden 2 Oculto
vbSystem 4 Arquivo do sistema
vbArchive 32 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.

Exemplo da instruo Close

Este exemplo utiliza a instruo Close para fechar os trs arquivos abertos para Output.
Dim I, NomeDoArquivo
For I = 1 To 3 ' Faz o loop 3 vezes.
NomeDoArquivo = "TESTE" & I ' Cria o nome de arquivo.
Open NomeDoArquivo For Output As #I ' Abre o arquivo.
Print #I, "Isto um teste." ' Grava a seqncia de caracteres no
arquivo.
Next I
Close ' Fecha os 3 arquivos abertos.


Exemplo da funo EOF

Este exemplo utiliza a funo EOF para detectar o final de um arquivo. Este exemplo pressupe que
MEUARQUIVO seja um arquivo de texto com algumas linhas de texto.
Dim DadosDeEntrada
Open "MEUARQUIVO" For Input As #1 ' Abre o arquivo para entrada.
Do While Not EOF(1) ' Procura o fim do arquivo.
Line Input #1, DadosDeEntrada ' L a linha de dados.
Debug.Print DadosDeEntrada ' Imprime para a janela Depurar.
Loop
Close #1 ' Fecha o arquivo.


Exemplo da funo FileAttr

Este exemplo utiliza a funo FileAttr para retornar o modo de arquivo e o identificador de arquivo de
um arquivo aberto.
Dim NumArquivo, Modo, Identificador
NumArquivo = 1 ' Atribui o nmero de arquivo.
Open "ARQUIVODETESTE" For Append As NumArquivo ' Abre o arquivo.
Modo = FileAttr(NumArquivo, 1) ' Retorna 8 (modo de arquivo Acrscimo).
Identificador = FileAttr(NumArquivo, 2) ' Retorna o identificador do
arquivo.
Close NumArquivo ' Fecha o arquivo.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo FreeFile

Este exemplo utiliza a funo FreeFile para retornar o prximo nmero de arquivo disponvel. Cinco
arquivos so abertos para sada dentro do loop e alguns dados de exemplo so gravados em cada.
Dim Meundice, NmeroDoArquivo
For Meundice = 1 To 5 ' Faz o loop 5 vezes.
NmeroDoArquivo = FreeFile ' Obtm o nmero de arquivo
' no utilizado.
Open "TESTE" & Meundice For Output As #NmeroDoArquivo ' Cria o nome do
arquivo.
Write #NmeroDoArquivo, "Isto um exemplo." ' D sada ao texto.
Close #NmeroDoArquivo ' Fecha o arquivo.
Next Meundice


Exemplo da instruo Get

Este exemplo utiliza a instruo Get para ler dados de um arquivo para uma varivel. Este exemplo
pressupe que ARQUIVODETESTE seja um arquivo que contenha cinco registros do tipo Record
definido pelo usurio.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Dim MeuRegistro As Record, Posio ' Declara as variveis.
' Abre o arquivo de exemplo para acesso aleatrio.
Open "ARQUIVODETESTE" For Random As #1 Len = Len(MeuRegistro)
' L o arquivo de exemplo utilizando a instruo Get.
Posio = 3 ' Define o nmero do registro.
Get #1, Posio, MeuRegistro ' L o terceiro registro.
Close #1 ' Fecha o arquivo.


Exemplo da instruo Input #

Este exemplo utiliza a instruo Input # para ler dados de um arquivo em duas variveis. Este
exemplo pressupe que ARQUIVODETESTE seja um arquivo com algumas linhas de dados gravadas
nele utilizando a instruo Write #, ou seja, cada linha contm uma seqncia de caracteres entre
aspas e um nmero separado por uma vrgula; por exemplo, ("Al", 234).
Dim MinhaSeqncia, MeuNmero
Open "ARQUIVODETESTE" For Input As #1 ' Abre o arquivo para entrada.
Do While Not EOF(1) ' Faz o loop at o fim do arquivo.
Input #1, MinhaSeqncia, MeuNmero ' L os dados para duas variveis.
Debug.Print MinhaSeqncia, MeuNmero ' Imprime os dados para a janela
Depurar.
Loop
Close #1 ' Fecha o arquivo.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Input

Este exemplo utiliza a funo Input para ler um caractere de cada vez de um arquivo e o imprime
para a janela Depurar. Este exemplo pressupe que ARQUIVODETESTE seja um arquivo com
algumas linhas de dados de exemplo.
Dim MeuCar
Open "ARQUIVODETESTE" For Input As #1 ' Abre o arquivo.
Do While Not EOF(1) ' Faz o loop at o fim do arquivo.
MeuCar = Input(1, #1) ' Obtm um caractere.
Debug.Print MeuCar ' Imprime para a janela Depurar.
Loop
Close #1 ' Fecha o arquivo.


Exemplo da instruo Line Input #

Este exemplo utiliza a instruo Line Input # para ler uma linha de um arquivo seqencial e a atribui
a uma varivel. Este exemplo pressupe que ARQUIVODETESTE seja um arquivo de texto com
algumas linhas de dados de exemplo.
Dim LinhaDeTexto
Open "ARQUIVODETESTE" For Input As #1 ' Abre o arquivo.
Do While Not EOF(1) ' Faz o loop at o fim do arquivo.
Line Input #1, LinhaDeTexto ' L a linha para a varivel.
Debug.Print LinhaDeTexto ' Imprime para a janela Depurar.
Loop
Close #1 ' Fecha o arquivo.


Exemplo da funo Loc

Este exemplo utiliza a funo Loc para retornar a posio atual de leitura/gravao dentro de um
arquivo aberto. Este exemplo pressupe que ARQUIVODETESTE seja um arquivo de texto com
algumas linhas de dados de exemplo.
Dim MeuLocal, MinhaLinha
Open "ARQUIVODETESTE" For Binary As #1 ' Abre o arquivo recm-criado.
Do While MeuLocal < LOF(1) ' Faz o loop at o fim do arquivo.
MinhaLinha = MinhaLinha & Input(1, #1) ' L o caractere para a
varivel.
MeuLocal = Loc(1) ' Obtm a posio atual dentro do arquivo.
' Imprime para a janela Depurar.
Debug.Print MinhaLinha; Tab; MeuLocal
Loop
Close #1 ' Fecha o arquivo.

Exemplo das instrues Lock e Unlock

Este exemplo ilustra o uso das instrues Lock e Unlock. Enquanto um registro est sendo
modificado, o acesso por outros processos negado. Este exemplo pressupe que
ARQUIVODETESTE seja um arquivo que contenha cinco registros do tipo Record definido pelo
usurio.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Dim MeuRegistro As Record, NmeroDoRegistro ' Declara as variveis.
' Abre o arquivo de exemplo para acesso aleatrio.
Open "ARQUIVODETESTE" For Random Shared As #1 Len = Len(MeuRegistro)
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
NmeroDoRegistro = 4 ' Define o nmero do registro.
Lock #1, NmeroDoRegistro ' Protege o registro.
Get #1, NmeroDoRegistro, MeuRegistro ' L o registro.
MeuRegistro.ID = 234 ' Modifica o registro.
MeuRegistro.Name = "Joo da Silva"
Put #1, NmeroDoRegistro, MeuRegistro ' Grava o arquivo modificado.
Unlock #1, NmeroDoRegistro ' Desprotege o registro atual.
Close #1 ' Fecha o arquivo.

Exemplo da funo LOF

Este exemplo utiliza a funo LOF para determinar o tamanho de um arquivo aberto. Este exemplo
pressupe que ARQUIVODETESTE seja um arquivo de texto que contenha dados de exemplo.
Dim ComprimentoDoArquivo
Open "ARQUIVODETESTE" For Input As #1 ' Abre o arquivo.
ComprimentoDoArquivo = LOF(1) ' Obtm o comprimento do arquivo.
Close #1 ' Fecha o arquivo.


Exemplo da instruo Open

Este exemplo ilustra vrios usos da instruo Open para permitir a entrada e sada em um arquivo.
O cdigo a seguir abre o arquivo ARQUIVODETESTE no modo de entrada seqencial.
Open "ARQUIVODETESTE" For Input As #1
' Fecha antes de reabrir em outro modo.
Close #1

Este exemplo abre o arquivo no modo Binrio somente para gravar operaes.
Open "ARQUIVODETESTE" For Binary Access Write As #1
' Fecha antes de reabrir em outro modo.
Close #1

O exemplo a seguir abre o arquivo no modo Aleatrio. O arquivo contm registros do tipo Record
definido pelo usurio.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Dim MeuRegistro As Record ' Declara a varivel.
Open "ARQUIVODETESTE" For Random As #1 Len = Len(MeuRegistro)
' Fecha antes de reabrir em outro modo.
Close #1

Este exemplo de cdigo abre o arquivo para sada seqencial; todo processo pode ler ou gravar no
arquivo.
Open "ARQUIVODETESTE" For Output Shared As #1
' Fecha antes de reabrir em outro modo.
Close #1

Este exemplo de cdigo abre o arquivo no modo Binrio para leitura; outros processos no
conseguem ler o arquivo.
Open "ARQUIVODETESTE" For Binary Access Read Lock Read As #1

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Print #

Este exemplo utiliza a instruo Print # para gravar dados em um arquivo.
Open "ARQUIVODETESTE" For Output As #1 ' Abre o arquivo para sada.
Print #1, "Isto um teste" ' Imprime o texto para o arquivo.
Print #1, ' Imprime a linha no arquivo.
Print #1, "Zona 1"; Tab ; "Zona 2" ' Imprime em duas zonas de impresso.
Print #1, "Al" ; " " ; "Mundo" ' Seqncias de caracteres separadas por
espao.
Print #1, Spc(5) ; "5 espaos esquerda " ' Imprime cinco espaos
esquerda.
Print #1, Tab(10) ; "Al" ' Imprime a palavra na coluna 10.

' Atribui valores Boolean, Date, Null e Error.
Dim MeuBool, MinhaData, MeuNulo, MeuErro
MeuBool = False : MinhaData = #Fevereiro 12, 1969# : MeuNulo = Null
MeuErro = CVErr(32767)
' True, False, Null e Error so traduzidos utilizando-se as configuraes
de localidade do seu
' sistema. As literais de data so gravadas utilizando-se a data abreviada
padro.

Print #1, MeuBool ; " um valor Booleano"
Print #1, MinhaData ; " uma data"
Print #1, MeuNulo ; " um valor nulo"
Print #1, MeuErro ; " um valor de erro"
Close #1 ' Fecha o arquivo.


Exemplo da instruo Put

Este exemplo utiliza a instruo Put para gravar dados em um arquivo. Cinco registros do tipo
Record definido pelo usurio so gravados no arquivo.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Dim MeuRegistro As Record, NmeroDoRegistro ' Declara as variveis.
' Abre o arquivo para acesso aleatrio.
Open "ARQUIVODETESTE" For Random As #1 Len = Len(MeuRegistro)
For NmeroDoRegistro = 1 To 5 ' Faz o loop 5 vezes.
MeuRegistro.ID = NmeroDoRegistro ' Define o cdigo.
MeuRegistro.Name = "Meu Nome" & NmeroDoRegistro ' Cria uma seqncia
de caracteres.
Put #1, NmeroDoRegistro, MeuRegistro ' Grava o registro no arquivo.
Next NmeroDoRegistro
Close #1 ' Fecha o arquivo.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Reset

Este exemplo utiliza a instruo Reset para fechar todos os arquivos abertos e gravar o contedo de
todos os buffers de arquivo em disco. Observe o uso da varivel Variant NmeroDoArquivo tanto
como a seqncia de caracteres e o nmero.
Dim NmeroDoArquivo
For NmeroDoArquivo = 1 To 5 ' Faz o loop 5 vezes.
' Abre o arquivo para sada. NmeroDoArquivo concatenado na seqncia
de caracteres
' TESTE para o nome do arquivo, mas um nmero que se segue a #.
Open "TESTE" & NmeroDoArquivo For Output As #NmeroDoArquivo
Write #NmeroDoArquivo, "Al Mundo" ' Grava os dados no arquivo.
Next NmeroDoArquivo
Reset ' Fecha os arquivos e grava o contedo
' em disco.


Exemplo da funo Seek

Este exemplo utiliza a funo Seek para retornar a posio de arquivo atual. O exemplo pressupe
que ARQUIVODETESTE seja um arquivo que contenha registros do tipo Record definido pelo usurio.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Para arquivos abertos no modo Aleatrio, Seek retorna o nmero do prximo registro.
Dim MeuRegistro As Record ' Declara a varivel.
Open "ARQUIVODETESTE" For Random As #1 Len = Len(MeuRegistro)
Do While Not EOF(1) ' Faz o loop at o final do arquivo.
Get #1, , MeuRegistro ' L o prximo registro.
Debug.Print Seek(1) ' Imprime o nmero do registro para a janela
' Depurar.
Loop
Close #1 ' Fecha o arquivo.

Para arquivos abertos em modo diferentes do modo Aleatrio, Seek retorna a posio do byte em
que ocorre a prxima operao. Suponha que ARQUIVODETESTE seja um arquivo que contenha
algumas linhas de texto.
Dim MeuCar
Open "ARQUIVODETESTE" For Input As #1 ' Abre o arquivo para leitura.
Do While Not EOF(1) ' Faz o loop at o fim do arquivo.
MeuCar = Input(1, #1) ' L o prximo caractere de dados.
Debug.Print Seek(1) ' Imprime a posio do byte para a janela
' Depurar.
Loop
Close #1 ' Fecha o arquivo.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Seek

Este exemplo utiliza a instruo Seek para definir a posio da prxima leitura ou gravao dentro de
um arquivo. Este exemplo pressupe que ARQUIVODETESTE seja um arquivo que contenha registros
do tipo Record definido pelo usurio.
Type Record ' Define o tipo definido pelo usurio.
ID As Integer
Name As String * 20
End Type

Para arquivos abertos no modo Aleatrio, Seek define o prximo registro.
Dim MeuRegistro As Record, TamanhoMax, NmeroDoRegistro ' Declara as
variveis.
' Abre o arquivo no modo de arquivo aleatrio.
Open "ARQUIVODETESTE" For Random As #1 Len = Len(MeuRegistro)
TamanhoMax = LOF(1) \ Len(MeuRegistro) ' Obtm nmero de registros no
arquivo.
' O loop l todos os registros a comear do ltimo.
For NmeroDoRegistro = TamanhoMax To 1 Step - 1
Seek #1, NmeroDoRegistro ' Define a posio.
Get #1, , MeuRegistro ' L o registro.
Next NmeroDoRegistro
Close #1 ' Fecha o arquivo.

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.


Exemplo da funo Spc

Este exemplo utiliza a funo Spc para posicionar a sada em um arquivo e na janela Depurar.
' A funo Spc pode ser utilizada com a instruo Print #.
Open "ARQUIVODETESTE" For Output As #1 ' Abre o arquivo para sada.
Print #1, "10 espaos entre aqui "; Spc(10); "e aqui."
Close #1 ' Fecha o arquivo.

A instruo a seguir faz com que o texto seja impresso na janela Depurar (utilizando o mtodo Print),
precedido por 30 espaos.
Debug.Print Spc(30); "Trinta espaos depois..."

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Tab

Este exemplo utiliza a funo Tab para posicionar a sada em um arquivo e na janela Depurar.
' A funo Tab pode ser utilizada com a instruo Print #.
Open "ARQUIVODETESTE" For Output As #1 ' Abre o arquivo para sada.
' A segunda palavra impressa na coluna 20.
Print #1, "Al"; Tab(20); "Mundo."
' Se o argumento for omitido, o cursor ser movido para a prxima zona de
impresso.
Print #1, "Al"; Tab; "Mundo"
Close #1 ' Fecha o arquivo.

A funo Tab tambm pode ser utilizada com o mtodo Print. A instruo a seguir imprime o texto
comeando na coluna 10.
Debug.Print Tab(10); "10 colunas depois do incio."


Exemplo da instruo Width #

Este exemplo utiliza a instruo Width # para definir a largura da linha de sada de um arquivo.
Dim I
Open "ARQUIVODETESTE" For Output As #1 ' Abre o arquivo para sada.
Width #1, 5 ' Define a largura da linha de sada como 5.
For I = 0 To 9 ' Faz o loop 10 vezes.
Print #1, Chr(48 + I); ' Imprime cinco caracteres por linha.
Next I
Close #1 ' Fecha o arquivo.


Exemplo da instruo Write #

Este exemplo utiliza a instruo Write # para gravar dados brutos em um arquivo seqencial.
Open "ARQUIVODETESTE" For Output As #1 ' Abre o arquivo para sada.
Write #1, "Al Mundo", 234 ' Grava os dados delimitados por vrgula.
Write #1, ' Grava linha em branco.

Dim MeuBool, MinhaData, MeuNulo, MeuErro
' Atribui os valores Boolean, Date, Null e Error.
MeuBool = False : MinhaData = #Fevereiro 12, 1969# : MeuNulo = Null
MeuErro = CVErr(32767)
' Os dados Booleanos so gravados como #TRUE# ou #FALSE#. As literais de
data so
' gravadas em formato de data universal; por exemplo, #1994-07-13#
'representa 13 de julho de 1994. Os dados nulos so gravados como #NULL#.
' Os dados Error so gravados como #ERROR errorcode#.
Write #1, MeuBool ; " um valor Booleano"
Write #1, MinhaData ; " uma data"
Write #1, MeuNulo ; " um valor nulo"
Write #1, MeuErro ; " um valor de erro"
Close #1 ' Fecha o arquivo.


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio; Integer. Qualquer nmero de arquivo vlido.
returntype Obrigatrio; Integer. Nmero indicando os tipos de
informaes a serem retornadas. Especifique 1 para retornar
um valor indicando o modo de arquivo. Somente em
sistemas que sejam de 16 bits, especifique 2 para recuperar
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
um identificador de arquivo de sistema operacional.
Returntype 2 no suportado em sistemas de 32 bits e
gera um erro.

Valores de retorno
Quando o argumento returntype 1, os valores de retorno a seguir indicam o modo de acesso ao
arquivo:
Modo Valor

Input 1
Output 2
Random 4
Append 8
Binary 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 Obrigatrio. Qualquer nmero de arquivo vlido.
nmerodoreg Opcional. Variant (Long). Nmero do registro
(arquivos no modo Random) ou nmero de byte
(arquivos no modo Binary) no qual iniciada a
leitura.
nomedavar Obrigatrio. Nome de varivel vlido no qual os
dados so lidos.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Para os arquivos abertos no modo Random, so aplicadas as regras a seguir:
Se o comprimento dos dados que esto sendo lidos for menor que o comprimento especificado na
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
identificam o VarType, 2 bytes que indicam o comprimento da seqncia de caracteres, e, em
seguida, l os dados da seqncia de caracteres. O comprimento do registro especificado pela
clusula Len na instruo Open deve ser pelo menos 4 bytes maior do que o comprimento real da
seqncia de caracteres.
Se a varivel que est sendo lida for uma matriz dinmica, Get l um descritor cujo comprimento
igual a 2 mais 8 vezes o nmero de dimenses, ou seja, 2 + 8 * NmeroDeDimenses. O
comprimento do registro especificado pela clusula Len na instruo Open deve ser maior ou igual
soma de todos os bytes necessrios para ler os dados da matriz e o descritor da matriz. Por
exemplo, a declarao de matriz a seguir exige 118 bytes quando a matriz gravada no disco:
Dim MinhaMatriz(1 To 5,1 To 10) As Integer

Os 118 bytes so distribudos da seguinte maneira: 18 bytes para o descritor (2 + 8 * 2) e 100
bytes para os dados (5 * 10 * 2).
Se a varivel que est sendo lida for uma matriz de tamanho fixo, o Get ler somente os dados.
Nenhum descritor lido.
Se a varivel que est sendo lida for de qualquer outro tipo (no for uma seqncia de caracteres
de comprimento varivel ou uma Variant), o Get l somente os dados da varivel. O comprimento
do registro especificado pela clusula Len na instruo Open deve ser maior ou igual ao
comprimento dos dados que esto sendo lidos.
Get l os elementos dos tipos definidos pelo usurio como se cada um estivesse sendo lido
individualmente, com exceo de que no h preenchimento algum entre os elementos. No disco,
uma matriz dinmica em um tipo definido pelo usurio (gravado com Put) prefixada por um
descritor cujo comprimento igual a 2 mais 8 vezes o nmero de dimenses, ou seja, 2 + 8 *
NmeroDeDimenses. O comprimento do registro especificado pela clusula Len na instruo
Open deve ser maior ou igual soma de todos os bytes necessrios para ler os elementos
individuais, incluindo as matrizes e seus descritores.

Para arquivos abertos no modo Binary, todas as regras de Random so aplicadas, exceto:
A clusula Len na instruo Open no possui efeito. Get l todas as variveis a partir do disco de
forma contgua; ou seja, sem preenchimento entre os registros.
Para qualquer matriz que no tenha sido definida pelo usurio, Get l somente os dados. Nenhum
descritor lido.
Get l as seqncias de caracteres de comprimento varivel que no sejam elementos de tipos
definidos pelo usurio sem esperar pelo descritor de 2 bytes de comprimento. O nmero de bytes
lidos igual ao nmero de caracteres que j se encontram na seqncia de caracteres. Por
exemplo, as instrues a seguir lem 10 bytes do nmero de arquivo 1:
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
SeqVar = String(10," ")
Get #1,,SeqVar


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 Obrigatrio. Qualquer nmero de arquivo vlido.
listadevar Obrigatrio. Lista de variveis delimitada por vrgulas
s quais so atribudos os valores lidos do arquivo
no pode ser uma matriz ou varivel de objeto.
Contudo, as variveis que descrevem um elemento
de uma matriz ou um tipo definido pelo usurio
podem ser utilizadas.

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 Valor atribudo varivel

Vrgula delimitadora ou
linha em branco
Empty
#NULL# Null
#TRUE# ou #FALSE# True ou False
#dd-mm-aaaa hh:mm:ss# A data e/ou hora representada pela expresso
#ERROR
nmerodoerro#
nmerodoerro (varivel um Variant marcado
como um erro)

As aspas duplas (" ") dentro dos dados de entrada so ignoradas.
Os itens dos dados em um arquivo devem aparecer na mesma ordem que as variveis em listadevar
e corresponderem s variveis do mesmo tipo de dados. Se uma varivel for numrica e os dados
no forem, um valor zero atribudo varivel.
Se o fim do arquivo atingido enquanto um item de dados estiver sendo inserido, a insero
interrompida e um erro gerado.
Observao Para possibilitar a leitura correta dos dados em variveis a partir de um arquivo com
Input #, utilize a instruo Write # em vez da instruo Print # para gravar os dados nos arquivos. A
utilizao de Write # assegura que cada campo de dados separado seja delimitado de forma
apropriada.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Qualquer expresso numrica vlida
especificando o nmero de caracteres a serem
retornados.
nmerodoarquivo Obrigatrio. Qualquer nmero de arquivo vlido.

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.


Instruo Line Input #
L uma nica linha a partir de um arquivo seqencial aberto e a atribui a uma varivel String.
Sintaxe
Line Input #nmerodoarquivo, nomedavar

A sintaxe da instruo Line Input # possui as seguintes partes:
Parte Descrio

nmerodoarquivo Obrigatrio. Qualquer nmero de arquivo vlido.
nomedavar Obrigatrio. Nome da varivel Variant ou String
vlido.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Nmero do ltimo registro lido de ou gravado no arquivo.
Sequential Posio atual do byte no arquivo dividido por 128.
Entretanto, as informaes retornadas por Loc para os
arquivos seqenciais no so utilizadas nem exigidas.
Binary Posio do ltimo byte lido ou gravado.


Instrues Lock e Unlock
Controla o acesso atravs de outros processos para todo ou parte de um arquivo aberto com a
instruo Open.
Sintaxe
Lock [#]nmerodoarquivo[, intervalodoregistro]
. . .
Unlock [#]nmerodoarquivo[, intervalodoregistro]

A sintaxe das instrues Lock e Unlock possui as partes a seguir:
Parte Descrio

nmerodoarquivo Obrigatrio. Qualquer nmero de arquivo vlido.
intervalodoregistro Opcional. O intervalo de registros a serem
bloqueados ou desbloqueados.

Definies
As definies do argumento intervalodoregistro so:
nmerodoreg | [incio] To fim

Definio Descrio

nmerodoreg Nmero do registro (arquivos no modo Random) ou
nmero de byte (arquivos no modo Binary) no qual o
bloqueio ou desbloqueio iniciado.
incio Nmero do primeiro registro ou byte a ser bloqueado ou
desbloqueado.
fim Nmero do ltimo registro ou byte a ser bloqueado ou
desbloqueado.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
posio 2 e assim por diante. Se voc especificar apenas um registro, somente esse registro ser
bloqueado ou desbloqueado. Se voc especificar um intervalo de registros e omitir um registro inicial
(incio), todos os registros do primeiro at o ltimo (fim) do intervalo sero bloqueados ou
desbloqueados. A utilizao de Lock sem nmerodoreg bloqueia todo o arquivo; a utilizao de
Unlock sem nmerodoreg desbloqueia todo o arquivo.
Se o arquivo tiver sido aberto para entrada ou sada seqencial, Lock e Unlock afetaro todo o
arquivo, independente do intervalo especificado por incio e fim.

Ateno Certifique-se de remover todos os bloqueios com uma instruo Unlock antes de fechar
um arquivo ou sair de seu programa. Caso contrrio, resultados imprevisveis podero ser
provocados.


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 modo [Access acesso] [bloqueio] As [#]nmerodoarquivo
[Len=comprimentodoreg]

A sintaxe da instruo Open possui as partes a seguir:
Parte Descrio

nomedocaminho Obrigatrio. Expresso de seqncia que especifica
um nome de arquivopode incluir um diretrio ou
pasta e unidade de disco.
modo Obrigatrio. Palavra-chave especificando o modo de
arquivo: Append, Binary, Input, Output ou Random.
Se no for especificado, o arquivo aberto para
acesso Random.
acesso Opcional. Palavra-chave especificando as operaes
permitidas no arquivo aberto: Read, Write ou Read
Write.
bloqueio Opcional. Palavra-chave especificando as operaes
permitidas no arquivo aberto por outros processos:
Shared, Lock Read, Lock Write e Lock Read Write.
nmerodoarquivo Obrigatrio. Um nmero de arquivo vlido no intervalo
de 1 a 511, inclusive. Utilize a funo FreeFile para
obter o prximo nmero de arquivo disponvel.
comprimentodoreg Opcional. Nmero menor ou igual a 32.767 (bytes).
Para arquivos abertos para acesso aleatrio, esse
valor o comprimento do registro. Para arquivos
seqenciais, esse valor o nmero de caracteres
presentes no buffer.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Comentrios
Voc deve abrir um arquivo antes que nele seja realizada qualquer operao de E/S. Open aloca um
buffer para E/S para o arquivo e determina o modo de acesso a ser utilizado com o buffer.
Se o arquivo especificado por nomedocaminho no existir, ele ser criado quando um arquivo for
aberto para os modos Append, Binary, Output ou Random.
Se o arquivo j se encontra aberto por um outro processo e o tipo de acesso especificado no for
permitido, a operao Open falhar e um erro ser gerado.
A clusula Len ignorada se modo for Binary.
Importante Nos modos Binary, Input e Random, voc pode abrir um arquivo utilizando um nmero
de arquivo diferente sem ter que antes fechar o arquivo. Nos modos Append e Output, voc deve
fechar um arquivo antes de abri-lo com um nmero de arquivo diferente.

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 Obrigatrio. Qualquer nmero de arquivo vlido.
listadesada Opcional. Expresso ou lista de expresses a ser
impressa.

Definies
As definies do argumento listadesada so:
[{Spc(n) | Tab[(n)]}] [expresso] [posdocarac]

Definio Descrio

Spc(n) Utilizado para inserir caracteres de espao na sada,
onde n o nmero de caracteres de espao a serem
inseridos.
Tab(n) Utilizado para posicionar o ponto de insero em um
nmero absoluto de coluna, onde n o nmero da
coluna. Utilize Tab sem argumento para posicionar o
ponto de insero no comeo da prxima zona de
impresso.
expresso Expresses numricas ou expresses de seqncia de
caracteres a serem impressas.
posdocarac Especifica o ponto de insero para o prximo caractere.
Utilize um ponto-e-vrgula para posicionar o ponto de
insero imediatamente aps o ltimo caractere exibido.
Utilize Tab(n) para posicionar o ponto de insero em
um nmero absoluto de coluna. Utilize Tab sem
argumento para posicionar o ponto de insero no incio
da prxima zona de impresso. Se posdocarac for
omitido, o prximo caractere ser impresso na prxima
linha.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
em branco ser impressa no arquivo. Vrias expresses podem ser separadas com um espao ou
um ponto-e-vrgula. Um espao possui o mesmo efeito de um ponto-e-vrgula.
Para dados Boolean, True ou False so impressos. As palavras-chave True e False no so
traduzidas, independente da localidade.
Os dados Date so gravados no arquivo utilizando o formato padro curto de datas reconhecido pelo
seu sistema. Quando o componente data ou hora no estiver presente ou for zero, somente a parte
fornecida gravada no arquivo.
Se os dados de listadesada forem Empty., nada ser gravado no arquivo. Contudo, se listadesada
for Null, Null gravado no arquivo.
Para os dados de Error, a sada aparece como Error cdigodoerro. A palavra-chave Error no
traduzida independente da localidade.
Todos os dados gravados no arquivo com Print # so reconhecidos internacionalmente; ou seja, os
dados so formatados de forma correta com o separador decimal apropriado.
Como Print # grava uma imagem dos dados ao arquivo, voc deve delimitar os dados para que eles
sejam impressos corretamente. Se voc utilizar Tab sem argumentos para mover a posio da
impresso para a prxima zona de impresso, Print # tambm gravar os espaos entre os campos
de impresso no arquivo.
Observao Se, no futuro, voc desejar ler os dados de um arquivo utilizando a instruo Input #,
utilize a instruo Write # ao invs da instruo Print # para gravar os dados no arquivo. A utilizao
de Write # garante a integridade de cada campo de dados em particular, delimitando-os do modo
adequado, para que possam ser lidos de volta utilizando Input #. A utilizao de Write # tambm
assegura que os dados possam ser lidos corretamente em qualquer localidade.


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
Obrigatrio. Qualquer nmero de arquivo vlido.
nmerodoreg Opcional. Variant (Long). Nmero do registro (arquivos
no modo Random) ou nmero do byte (arquivos no modo
Binary) no qual a gravao iniciada.
nomedavar Obrigatrio. Nome da varivel contendo os dados a serem
gravados no disco.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
preenchimento no pode ser determinada com segurana, convm fazer com que o comprimento
do registro corresponda ao dos dados que esto sendo gravados. Se o comprimento dos dados
que esto sendo gravados for maior do que o comprimento especificado na clusula Len da
instruo Open, um erro ser gerado.
Se a varivel que est sendo gravada for uma seqncia de caracteres de comprimento varivel,
Put grava um descritor de 2 bytes contendo o comprimento da seqncia e, em seguida, a
varivel. O comprimento do registro sendo 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 gravada for um Variant de um tipo numrico, Put grava 2 bytes
identificando o VarType do Variant e, em seguida, grava a varivel. Por exemplo, ao gravar um
Variant de VarType 3, Put grava 6 bytes: 2 bytes identificando o Variant como VarType 3 (Long)
e 4 bytes contendo 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 real de bytes necessrios
para armazenar a varivel.

Observao Voc pode utilizar a instruo Put para gravar uma matriz Variant em disco, mas no
pode utilizar Put para gravar em disco um Variant escalar contendo uma matriz. Put tambm no
pode ser utilizado para gravar objetos em disco.

Se a varivel que est sendo gravada for um Variant de VarType 8 (String), Put grava 2 bytes
identificando VarType, 2 bytes indicando o comprimento da seqncia de caracteres e, em
seguida, grava os dados da seqncia. O comprimento do registro especificado pela clusula Len
na instruo Open deve ser pelo menos 4 bytes maior do que o comprimento real da seqncia de
caracteres.
Se a varivel que est sendo gravada for uma matriz dinmica, Put grava um descritor cujo
comprimento igual a 2 mais 8 vezes o nmero de dimenses, ou seja, 2 + 8 *
NmeroDeDimenses. O comprimento do registro especificado pela clusula Len na instruo Open
deve ser maior ou igual soma de todos os bytes necessrios para gravar os dados da matriz e o
descritor da matriz. Por exemplo, a declarao da matriz a seguir exige 118 bytes quando a matriz
gravada em disco.
Dim MinhaMatriz (1 To 5,1 To 10) As Integer

Os 118 bytes so distribudos da seguinte forma: 18 bytes para o descritor (2 + 8 * 2) e 100 bytes
para os dados (5 * 10 * 2).
Se a varivel que est sendo gravada for uma matriz de tamanho fixo, Put grava somente os
dados. Nenhum descritor gravado no disco.
Se a varivel que est sendo gravada for qualquer outro tipo de varivel (no uma seqncia de
caracteres de comprimento varivel ou um Variant), Put grava somente os dados da varivel. O
comprimento do registro especificado pela clusula Len na instruo Open deve ser maior ou igual
ao comprimento dos dados que esto sendo gravados.
Put grava os elementos dos tipos definidos pelo usurio como se cada um fosse gravado
individualmente, com exceo de que no h preenchimento entre os elementos. No disco, uma
matriz dinmica de um tipo definido pelo usurio gravada com Put prefixada por um descritor
cujo comprimento igual a 2 mais 8 vezes o nmero de dimenses, ou seja, 2 + 8 *
NmeroDeDimenses. O comprimento do registro especificado pela clusula Len na instruo
Open pode ser maior ou igual soma de todos os bytes necessrios para gravar os elementos
individuais, incluindo as matrizes e seus descritores.

Para os arquivos abertos no modo Binary, so aplicadas todas as regras de Random, exceto:
A clusula Len na instruo Open no possui efeito. Put grava todas as variveis no disco de
forma contgua; ou seja, sem preenchimento entre os registros.
Para qualquer outra matriz diferente daquela de tipo definido pelo usurio, Put grava somente os
dados. Nenhum descritor gravado.
Put grava as seqncias de caracteres de comprimento varivel que no sejam elementos dos
tipos definidos pelo usurio sem o descritor de comprimento de 2 bytes. O nmero de bytes
gravados igual ao nmero de caracteres da seqncia. Por exemplo, as instrues a seguir
gravam 10 bytes em um arquivo de nmero 1:
VarString$ = String$(10," ")
Put #1,,VarString$

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

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 Nmero do prximo registro lido ou gravado
Binary
Output,
Append
e
Input
Posio do byte na qual ocorre a prxima operao. O primeiro
byte em um arquivo encontra-se na posio 1, o segundo byte
na posio 2 e assim por diante.


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 Obrigatrio. Qualquer nmero de arquivo vlido.
posio Obrigatrio. Nmero no intervalo de 1
2.147.483.647, inclusive, que indica onde a prxima
operao de leitura/gravao deve ocorrer.

Comentrios
Os nmeros de registro especificados nas instrues Get e Put sobrepem-se posio de arquivo
efetuada por Seek.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Realizar uma operao de gravao de arquivo aps uma operao Seek alm do final de um
arquivo faz com que o mesmo aumente de tamanho. Se voc tentar uma operao Seek em uma
posio negativa ou zero, um erro ser gerado.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
A posio de impresso mais esquerda em uma linha de sada sempre 1. Quando voc utiliza a
instruo Print # para imprimir em arquivos, a posio de impresso mais direita a largura atual
da linha de sada, que pode ser definida utilizando-se a instruo Width #.
Observao Certifique-se de que suas colunas tabulares sejam largas o suficiente para
acomodarem letras largas.

Quando voc utiliza a funo Tab com o mtodo Print, a superfcie de impresso dividida em
colunas de largura fixa e uniformes. A largura de cada coluna 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.

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 Obrigatrio. Qualquer nmero de arquivo vlido.
largura Obrigatrio. Expresso numrica na faixa de 0 a 255,
inclusive, que indica a quantidade de caracteres que
aparece em uma linha antes que uma nova linha seja
iniciada. Se a largura for igual a 0, no haver limite
para o comprimento de uma linha. O valor padro
para a largura 0.


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 Obrigatrio. Qualquer nmero de arquivo vlido.
listadesada Opcional. Uma ou mais expresses numricas
delimitadas por vrgula ou expresses de seqncia
de caracteres a serem gravadas em um arquivo.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Para dados Boolean, #TRUE# ou #FALSE# impresso. As palavras-chave True e False no so
traduzidas, independente da localidade.
Os dados Date so gravados no arquivo utilizando o formato de data universal. Quando o
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
no traduzida, independente da localidade.

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 DDB

Este exemplo utiliza a funo DDB para retornar a depreciao de um bem por um perodo
especificado dado o custo inicial (CustoInicial), o valor do salvamento ao final da vida til do bem
(ValorDoSalvamento), a vida total do bem em anos (Vidatil) e o perodo em anos para o qual a
depreciao calculada (Depr).
Dim Fmt, CustoInicial, ValorDoSalvamento, VidaMensal, Vidatil, AnoDep,
Depr
Const YRMOS = 12 ' Nmero de meses em um ano.
Fmt = "###,##0.00"
CustoInicial = InputBox("Qual o custo inicial do bem?")
ValorDoSalvamento = InputBox("Insira o valor do bem ao fim da sua vida".)
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Do While VidaMensal < YRMOS ' Certifique-se de que o perodo >= 1 ano.
MsgBox "A vida do bem deve ser de um ano ou mais".
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Loop
Vidatil = VidaMensal / YRMOS ' Converte meses em anos.
If Vidatil <> Int(VidaMensal / YRMOS) Then
Vidatil = Int(Vidatil + 1) ' Arredonda para o ano mais prximo.
End If
AnoDep = CInt(InputBox("Insira o ano para o clculo da depreciao".))
Do While AnoDep < 1 Or AnoDep > Vidatil
MsgBox "Voc deve inserir no mnimo 1 mas no mais de " & Vidatil
AnoDep = InputBox("Insira o ano para o clculo da depreciao".)
Loop
Depr = DDB(CustoInicial, ValorDoSalvamento, Vidatil, AnoDep)
MsgBox "A depreciao do ano " & AnoDep & " " & _
Format(Depr, Fmt) & "."


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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
Fmt = "###,###,##0.00" ' Define o formato monetrio.
Pagamento = InputBox("Quanto voc pretende economizar por ms?")
TPA = InputBox("Insira a taxa de percentagem anual de juros esperados.")
If TPA > 1 Then TPA = TPA / 100 ' Certifica-se de que se trata do devido
formulrio.
TotPgtos = InputBox("Durante quantos meses espera fazer economia?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
ValP = InputBox("Quanto h na conta de economias agora?")
ValF = FV(TPA / 12, TotPgtos, -Pagamento, -ValP, TipoPag)
MsgBox "Suas economias sero valiosos " & Format(ValF, Fmt) & "."


Exemplo da funo IPmt

Este exemplo utiliza a funo IPmt para calcular quanto de um pagamento juro quando todos os
pagamentos so de igual valor. Fornecidos a taxa percentual dos juros por perodo (TPA / 12), o
perodo de pagamento para o qual se deseja a parte dos juros (Perodo), o nmero total de
pagamentos (TotPgtos), o valor presente ou principal do emprstimo (ValP), o valor futuro do
emprstimo (ValF) e um nmero que indica se o pagamento vence no incio ou no final do perodo
de pagamento (TipoPag).
Dim ValF, Fmt, ValP, TPA, TotPgtos, TipoPag, Perodo, PgtoJuros, TotJuros,
Msg
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
ValF = 0 ' Normalmente 0 para um emprstimo.
Fmt = "###,###,##0.00" ' Define o formato monetrio.
ValP = InputBox("Quanto voc quer pegar emprestado?")
TPA = InputBox("Qual a taxa de percentagem anual do seu emprstimo?")
If TPA > 1 Then TPA = TPA / 100 ' Certifica-se de que se trata do
formulrio apropriado.
TotPgtos = InputBox("Quantos pagamentos mensais?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
For Perodo = 1 To TotPgtos ' Totaliza os juros.
PgtoJuros = IPmt(TPA / 12, Perodo, TotPgtos, -ValP, ValF, TipoPag)
TotJuros = TotJuros + PgtoJuros
Next Perodo
Msg = "Voc vai pagar um total de " & Format(TotJuros, Fmt)
Msg = Msg & " em juros por este emprstimo."
MsgBox Msg ' Exibe os resultados.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo IRR

Neste exemplo, a funo IRR retorna a taxa interna de retorno para uma srie de 5 fluxos de caixa
contidos na matriz Valores(). O primeiro elemento da matriz um fluxo de caixa negativo que
representa os custos iniciais do negcio. Os 4 fluxos de caixa restantes representam fluxos de caixas
positivos para os quatro anos subseqentes. Estimativa a taxa interna de retorno estimada.
Dim Estimativa, Fmt, TaxaRet, Msg
Static Valores(5) As Double ' Configura a matriz.
Estimativa = .1 ' Inicia a estimativa em 10 por cento.
Fmt = "#0.00" ' Define o formato da percentagem.
Valores(0) = -70000 ' Custos iniciais do negcio.
' Fluxo de caixa positivo refletindo a receita por quatro anos sucessivos.
Valores(1) = 22000: Valores(2) = 25000
Valores(3) = 28000: Valores(4) = 31000
TaxaRet = IRR(Valores(), Estimativa) * 100 ' Calcula a taxa interna.
Msg = "A taxa interna de retorno para estes cinco fluxos de caixa "
Msg = Msg & Format(TaxaRet, Fmt) & " por cento."
MsgBox Msg ' Exibe a taxa interna de retorno.

Exemplo da funo MIRR

Este exemplo utiliza a funo MIRR para retornar a taxa interna de retorno modificada de uma srie
de fluxos de caixa contidos na matriz Valores(). TPAEmprstimo representa os juros financeiros e
TPAInv representa a taxa de juros recebida no reinvestimento.
Dim TPAEmprstimo, TPAInv, Fmt, TaxaRet, Msg
Static Valores(5) As Double ' Configura a matriz.
TPAEmprstimo = .1 ' Taxa de emprstimo.
TPAInv = .12 ' Taxa de reinvestimento.
Fmt = "#0.00" ' Define o formato monetrio.
Valores(0) = -70000 ' Custo inicial do negcio.
' Fluxo de caixa positivo refletindo a receita por quatro anos sucessivos.
Valores(1) = 22000: Valores(2) = 25000
Valores(3) = 28000: Valores(4) = 31000
TaxaRet = MIRR(Valores(), TPAEmprstimo, TPAInv) ' Calcula a taxa
interna.
Msg = "A taxa interna de retorno modificada para estes cinco fluxos de
caixa "
Msg = Msg & Format(Abs(TaxaRet) * 100, Fmt) & "%."
MsgBox Msg ' Exibe a taxa de retorno
' interna.


Exemplo da funo NPer

Este exemplo utiliza a funo NPer para retornar o nmero de perodos durante os quais os
pagamentos devem ser feitos para liquidar um emprstimo cujo valor est contido em ValP. Tambm
so fornecidos a taxa percentual de juros por perodo (TPA / 12), o pagamento (Pagamento), o
valor futuro do emprstimo (ValF) e o nmero que indica se o pagamento vence no incio ou no final
do perodo de pagamento (TipoPag).
Dim ValF, ValP, TPA, Pagamento, TipoPag, TotPgtos
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
ValF = 0 ' Normalmente 0 para um emprstimo.
ValP = InputBox("Quanto voc quer pegar emprestado?")
TPA = InputBox("Qual a taxa de percentagem anual do seu emprstimo?")
If TPA > 1 Then TPA = TPA / 100 ' Certifica-se de que se trata do
formulrio apropriado.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Pagamento = InputBox("Quanto voc deseja pagar por ms?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
TotPgtos = NPer(TPA / 12, -Pagamento, ValP, ValF, TipoPag)
If Int(TotPgtos) <> TotPgtos Then TotPgtos = Int(TotPgtos) + 1
MsgBox "Voc levar " & TotPgtos & " meses para liquidar o seu emprstimo."


Exemplo da funo NPV

Este exemplo utiliza a funo NPV para retornar o valor presente lquido de uma srie de fluxos de
caixa contidos na matriz Valores(). TaxaRet representa a taxa interna fixa de retorno.
Dim Fmt, Estimativa, TaxaRet, ValPLquido, Msg
Static Valores(5) As Double ' Configura a matriz.
Fmt = "###,##0.00" ' Define o formato monetrio.
Estimativa = .1 ' Inicia a estimativa em 10 por cento.
TaxaRet = .0625 ' Define a taxa interna fixa.
Valores(0) = -70000 ' Custo inicial do negcio.
' Fluxos de caixa positivos refletindo a receita por quatro anos
sucessivos.
Valores(1) = 22000: Valores(2) = 25000
Valores(3) = 28000: Valores(4) = 31000
ValPLquido = NPV(TaxaRet, Valores()) ' Calcula o valor presente
lquido.
Msg = "O valor presente lquido destes fluxos de caixa "
Msg = Msg & Format(ValPLquido, Fmt) & "."
MsgBox Msg ' Exibe o valor presente lquido.


Exemplo da funo Pmt

Este exemplo utiliza a funo Pmt para retornar o pagamento mensalmente de um emprstimo
durante um perodo fixo. Fornecida a taxa percentual de juros por perodo (TPA / 12), o nmero
total de pagamentos (TotPgtos), o valor presente ou principal do emprstimo (ValP), o valor futuro
do emprstimo (ValF) e um nmero que indica se o pagamento vence no incio ou final do perodo
de pagamento (TipoPag).
Dim Fmt, ValF, ValP, TPA, TotPgtos, TipoPag, Pagamento
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
Fmt = "###,###,##0.00" ' Define o formato monetrio.
ValF = 0 ' Normalmente 0 para um emprstimo.
ValP = InputBox("Quanto voc quer pegar emprestado?")
TPA = InputBox("Qual a taxa percentual anual do seu emprstimo?")
If TPA > 1 Then TPA = TPA / 100 ' Certifica-se de que se trata do
formulrio apropriado.
TotPgtos = InputBox("Quantos pagamentos mensais voc vai fazer?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
Pagamento = Pmt(TPA / 12, TotPgtos, -ValP, ValF, TipoPag)
MsgBox "O seu pagamento ser " & Format(Pagamento, Fmt) & " por ms."

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo PPmt

Este exemplo utiliza a funo PPmt para calcular quanto de um pagamento por um perodo
especfico principal quando todos os pagamentos so de igual valor. Fornecidos a taxa percentual
de juros por perodo (TPA / 12), o perodo de pagamento para o qual se deseja a parte principal
(Perodo), o nmero total de pagamentos (TotPgtos), o valor presente ou principal do emprstimo
(ValP), o valor futuro do emprstimo (ValF) e um nmero que indica se o pagamento vence no incio
ou no final do perodo de pagamento (TipoPag).
Dim NL, TB, Fmt, ValF, ValP, TPA, TotPgtos, TipoPag, Pagamento, Msg,
CriaGrfico, Perodo, P, I
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
NL = Chr(13) & Chr(10) ' Define a nova linha.
TB = Chr(9) ' Define a tabulao.
Fmt = "###,###,##0.00" ' Define o formato monetrio.
ValF = 0 ' Normalmente 0 para um emprstimo.
ValP = InputBox("Quanto voc quer pegar emprestado??")
TPA = InputBox("Qual a taxa de percentagem anual do seu emprstimo?")
If TPA > 1 Then TPA = TPA / 100 ' Certifica-se de que se trata do
formulrio apropriado.
TotPgtos = InputBox("Quantos pagamentos mensais voc precisa fazer?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
Pagamento = Abs(-Pmt(TPA / 12, TotPgtos, ValP, ValF, TipoPag))
Msg = "O seu pagamento mensal " & Format(Pagamento, Fmt) & ". "
Msg = Msg & "Voc gostaria de desdobrar o seu principal e
Msg = Msg & "os juros por perodo?"
CriaGrfico = MsgBox(Msg, vbYesNo) ' Veja se deseja um grfico.
If CriaGrfico <> vbNo Then
If TotPgtos > 12 Then MsgBox "Somente o primeiro ano ser mostrado."
Msg = "Ms Pagamento Principal Juros" & NL
For Perodo = 1 To TotPgtos
If Perodo > 12 Then Exit For ' Mostra somente os primeiros 12.
P = PPmt(TPA / 12, Perodo, TotPgtos, -ValP, ValF, TipoPag)
P = (Int((P + .005) * 100) / 100) ' Arredonda o principal.
I = Pagamento - P
I = (Int((I + .005) * 100) / 100) ' Arredonda os juros
Msg = Msg & Perodo & TB & Format(Pagamento, Fmt)
Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
Next Perodo
MsgBox Msg ' Exibe a tabela de amortizao.
End If


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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
ValF = 1000000 ' Valor futuro.
TipoPag = PERODOINICIAL ' Pagamento no incio do ms.
ValP = PV(TPA, TotPgtos, -SuaReceita, ValF, TipoPag)
MsgBox "O valor presente " & Format(ValP, Fmt) & "."


Exemplo da funo Rate

Este exemplo utiliza a funo Rate para calcular a taxa de juros de um emprstimo, fornecidos o
nmero total de pagamentos (TotPgtos), o valor de pagamento do emprstimo (Pagamento), o
valor presente ou principal do emprstimo (ValP), o valor futuro do emprstimo (ValF), um nmero
que indica se o pagamento vence no incio ou no final do perodo de pagamento (TipoPag) e uma
estimativa da taxa de juros esperada (Estimativa).
Dim Fmt, ValF, Estimativa, ValP, Pagamento, TotPgtos, TipoPag, TPA
Const PERODOFINAL = 0, PERODOINICIAL = 1 ' Quando os pagamentos so
feitos.
Fmt = "##0.00" ' Define o formato percentual.
ValF = 0 ' Normalmente 0 para um emprstimo.
Estimativa = .1 ' Estimativa de 10 por cento.
ValP = InputBox("Quanto voc pegou emprestado?")
Pagamento = InputBox("Qual o seu pagamento mensal?")
TotPgtos = InputBox("Quantos pagamentos mensais voc precisa fazer?")
TipoPag = MsgBox("Voc faz os pagamentos no fim do ms?", _
vbYesNo)
If TipoPag = vbNo Then TipoPag = PERODOINICIAL Else TipoPag = PERODOFINAL
TPA = (Rate(TotPgtos, -Pagamento, ValP, ValF, TipoPag, Estimativa) * 12) *
100
MsgBox "A sua taxa de juros " & Format(CInt(TPA), Fmt) & " por cento."


Exemplo da funo SLN

Este exemplo utiliza a funo SLN para retornar a depreciao linear de um bem por um nico
perodo, fornecido o custo inicial do bem (CustoInicial), o valor do salvamento ao final da vida til
do bem (ValorDoSalvamento) e a vida total do bem em anos (Vidatil).
Dim Fmt, CustoInicial, ValorDoSalvamento, VidaMensal, Vidatil, DeprP
Const ANOMESES = 12 ' Nmero de meses em um ano.
Fmt = "###,##0.00" ' Define o formato monetrio.
CustoInicial = InputBox("Qual o custo inicial do bem?")
ValorDoSalvamento = InputBox("Qual o valor do bem ao fim da sua vida
til?")
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Do While VidaMensal < ANOMESES ' Certifica-se de que o perodo >= 1
ano.
MsgBox "A vida do bem deve ser de um ano ou mais."
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Loop
Vidatil = VidaMensal / ANOMESES ' Converte meses em anos.
If Vidatil <> Int(VidaMensal / ANOMESES) Then
Vidatil = Int(Vidatil + 1) ' Arredonda para o ano mais prximo.
End If
DeprP = SLN(CustoInicial, ValorDoSalvamento, Vidatil)
MsgBox "A depreciao " & Format(DeprP, Fmt) & " por ano."

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo SYD

Este exemplo utiliza a funo SYD para retornar a depreciao de um bem por um perodo
especificado, fornecidos o custo inicial do bem (CustoInicial), o valor do salvamento ao fim da
vida til do bem (ValorDoSalvamento) e a vida total do bem em anos (Vidatil). O perodo em
anos pelo qual a depreciao calculada DeprP.
Dim Fmt, CustoInicial, ValorDoSalvamento, VidaMensal, Vidatil, AnoDep,
DeprP
Const ANOMESES = 12 ' Nmero de meses em um ano.
Fmt = "###,##0.00" ' Define o formato monetrio.
CustoInicial = InputBox("Qual o custo inicial do bem?")
ValorDoSalvamento = InputBox("Qual o valor do bem no fim da sua vida?")
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Do While VidaMensal < ANOMESES ' Certifica-se de que o perodo >= 1
ano.
MsgBox "A vida do bem deve ser de um ano ou mais."
VidaMensal = InputBox("Qual a vida til do bem em meses?")
Loop
Vidatil = VidaMensal / ANOMESES ' Converte os meses em anos.
If Vidatil <> Int(VidaMensal / ANOMESES) Then
Vidatil = Int(Vidatil + 1) ' Arredonda para o anos mais prximo.
End If
AnoDep = CInt(InputBox("Para qual ano voc deseja a depreciao?"))
Do While AnoDep < 1 Or AnoDep > Vidatil
MsgBox "Voc deve inserir no mnimo 1 mas no mais de " & Vidatil
AnoDep = CInt(InputBox("Para qual ano voc deseja a depreciao?"))
Loop
DeprP = SYD(CustoInicial, ValorDoSalvamento, Vidatil, AnoDep)
MsgBox "A depreciao por ano " & AnoDep & " " & Format(DeprP, Fmt) & "."



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 Obrigatrio. Double que especifica o custo inicial do ativo.
salvage Obrigatrio. Double que especifica o valor do ativo ao final de
sua vida til.
life Obrigatrio. Double que especifica a durao da vida til do
ativo.
period Obrigatrio. Double que especifica o perodo em que a
depreciao do ativo calculada.
factor Opcional. Variant que especifica a taxa na qual o balano
declina. Se for omitido, supe-se 2 (mtodo de declinao
dupla).

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
A funo DDB utiliza a seguinte frmula para calcular a depreciao para um dado perodo:
Depreciao / period = ((cost salvage) * factor) / life

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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro com uma
taxa de porcentagem anual (TPA) de 10 porcento e efetuar
pagamentos mensais, a taxa por perodo ser de 0,1/12 ou 0,0083.
nper Obrigatrio. Integer que especifica o nmero total de perodos de
pagamento na anuidade. Por exemplo, se voc pagar prestaes
mensais de um financiamento de quatro anos para um carro, seu
emprstimo ter um total de 4 * 12 (ou 48) perodos de pagamento.
pmt Obrigatrio. Double que especifica o pagamento a ser efetuado em
cada perodo. Os pagamentos geralmente contm o principal e a
taxa de juros que no se altera durante a durao da anuidade.
pv Opcional. Variant que especifica o valor presente (ou quantia
global) de uma srie de pagamentos futuros. Por exemplo, quando
voc obtm um financiamento para comprar um carro, a quantia do
emprstimo o valor presente para o emprestador dos
pagamentos mensais do carro que voc efetuar. Se for omitido,
ser assumido o valor 0.
type Opcional. Variant que especifica quando vencem os pagamentos.
Use 0 se os pagamentos vencerem no final do perodo de
pagamento ou 1 se os pagamentos vencerem no incio do perodo.
Se for omitido, ser assumido o valor 0.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro a uma
taxa de porcentagem anual (TPA) de 10 porcento e fizer
pagamentos mensais, a taxa por perodo ser de 0,1/12 ou 0,0083.
per Obrigatrio. Double que especifica o perodo de pagamento no
intervalo de 1 at nper.
nper Obrigatrio. Double que especifica o nmero total de perodos de
pagamento na anuidade. Por exemplo, se voc fizer pagamentos
mensais por um financiamento de carro de quatro anos, seu
emprstimo ter um total de 4 * 12 (ou 48) perodos de pagamento.
pv Obrigatrio. Double que especifica o valor presente, ou valor de
hoje, de uma srie de pagamentos ou recebimentos futuros. Por
exemplo, quando voc obtm uma quantia emprestada para
comprar um carro, essa quantia o valor presente para o
emprestador dos pagamentos mensais do carro que voc efetuar.
fv Opcional. Variant que especifica o valor futuro ou o saldo desejado
aps ter efetuado o pagamento final. Por exemplo, o valor futuro de
um emprstimo de R$ 0,00 porque esse o valor aps o
pagamento final. Contudo, se voc quiser poupar R$ 50.000 em um
perodo de 18 anos para garantir a educao de seu filho, ento o
valor futuro R$ 50.000. Se for omitido, ser assumido 0.
type Opcional. Variant que especifica quando vencero os pagamentos.
Use 0 se os pagamentos vencerem no final do perodo, ou 1 se
vencerem no incio do perodo. Se for omitido, ser assumido 0.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

values() Obrigatrio. Matriz de Double que especifica valores de fluxo
de caixa. A matriz deve conter pelo menos um valor negativo
(um pagamento) e um valor positivo (um recebimento).
guess Opcional. Variant que especifica o valor por voc estimado que
IRR retornar. Se for omitido, guess ser 0.1 (10 porcento).

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() Obrigatrio. Matriz de Double que especifica os valores
de fluxo de caixa. A matriz deve conter pelo menos um
valor negativo (um pagamento) e um valor positivo (um
recebimento).
finance_rate Obrigatrio. Double que especifica a taxa de juros paga
como custo do financiamento.
reinvest_rate Obrigatrio. Double que especifica a taxa de juros
recebida em ganhos do reinvestimento monetrio.

Comentrios
A taxa interna de retorno modificada a taxa interna de retorno quando os pagamentos e
recebimentos so financiados com taxas diferentes. A funo MIRR leva em conta o custo do
investimento (finance_rate) e a taxa de juros recebida no reinvestimento do dinheiro (reinvest_rate).
Os argumentos finance_rate e reinvest_rate so porcentagens expressas em valores decimais. Por
exemplo, 12 porcento expresso como 0,12.
A funo MIRR usa a ordem dos valores dentro da matriz para interpretar a ordem dos pagamentos e
recebimentos. Certifique-se de inserir os valores dos seus pagamentos e recebimentos na seqncia
correta.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro a uma
taxa de porcentagem anual (TPA) de 10 porcento e efetuar
pagamentos mensais, a taxa por perodo ser de 0,1/12 ou 0,0083.
pmt Obrigatrio. Double que especifica o pagamento a ser efetuado a
cada perodo. Os pagamentos geralmente contm o principal e os
juros que no se alteram durante a durao da anuidade.
pv Obrigatrio. Double que especifica o valor presente, ou valor de
hoje, de uma srie de pagamentos ou recebimentos futuros. Por
exemplo, quando voc obtm um financiamento para comprar um
carro, a quantia do emprstimo o valor presente para o
emprestador dos pagamentos mensais do carro que voc efetuar.
fv Opcional. Variant que especifica o valor futuro ou o saldo que voc
deseja aps ter efetuado o pagamento final. Por exemplo, o valor
futuro de um emprstimo de R$ 0,00 porque esse o valor aps
o pagamento final. Contudo, se voc quiser poupar R$ 50.000 em
18 anos para garantir a educao de seu filho, ento R$ 50.000
ser o valor futuro. Se for omitido, ser assumido o valor 0.
type Opcional. Variant que especifica o vencimento dos pagamentos.
Use 0 se os pagamentos vencerem ao final do perodo de
pagamento, ou 1 se vencerem no incio desse perodo. Se for
omitido, ser assumido o valor 0.

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 Obrigatrio. Double que especifica a taxa de desconto em um
perodo, expresso na forma de valor decimal.
values() Obrigatrio. Matriz de Double que especifica os valores de
fluxo de caixa. A matriz deve conter pelo menos um valor
negativo (um pagamento) e um valor positivo (um
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
recebimento).

Comentrios
O valor presente lquido de um investimento o valor atual de uma futura srie de pagamentos ou
recebimentos.
A funo NPV usa a ordem dos valores dentro da matriz para interpretar a ordem dos pagamentos ou
recebimentos. Certifique-se de fornecer os valores de seu pagamento e recebimento na seqncia
correta.
O investimento NPV comea um perodo antes da data do primeiro valor de fluxo de caixa e termina
com o ltimo valor de fluxo de caixa da matriz.
O clculo do valor presente lquido baseado nos fluxos de caixa futuros. Se o seu primeiro fluxo de
caixa ocorrer no incio do primeiro perodo, o primeiro valor dever ser adicionado ao valor retornado
por NPV e no deve ser includo nos valores de fluxo de caixa values().
A funo NPV semelhante funo PV (valor presente) exceto que a funo PV permite que os
fluxos de caixa comecem no final ou no incio do perodo. Ao contrrio dos valores varveis de fluxo
de caixa NPV, os fluxos de caixa PV devem ser fixos durante o investimento.

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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro a uma
taxa percentual anual (TPA) de 10 porcento e efetuar pagamentos
mensais, a taxa do perodo ser de 0,1/12, ou 0,0083.
nper Obrigatrio. Integer que especifica o nmero total de perodos de
pagamento na anuidade. Por exemplo, se voc efetuar pagamentos
mensais sobre um financiamento de quatro anos para um carro,
seu financiamento ter um total de 4 * 12 (ou 48) perodos de
pagamento.
pv Obrigatrio. Double que especifica o valor presente (ou a quantia
global) que uma srie de pagamentos a serem feitos no futuro
valem agora. Por exemplo, quando voc obtm um financiamento
para comprar um carro, a quantia do financiamento o valor
presente para o emprestador dos pagamentos mensais do carro
que voc efetuar.
fv Opcional. Variant que especifica o valor futuro ou o saldo desejado
aps ter efetuado o pagamento final. Por exemplo, o valor futuro de
um emprstimo de R$ 0,00 porque esse seu valor aps o
pagamento final. Contudo, se voc quiser poupar R$ 50.000 em um
perodo de 18 anos para garantir a educao de seu filho, ento R$
50.000 ser o valor futuro. Se for omitido, ser assumido o valor 0.
type Opcional. Variant que especifica o vencimento dos pagamentos.
Use 0 se os pagamentos vencerem ao final do perodo de
pagamento, ou 1 se vencerem no incio do perodo. Se for omitido,
ser assumido o valor 0.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
mensal).
Os argumentos rate e nper devem ser calculados usado-se perodos de pagamento expressos nas
mesmas unidades. Por exemplo, se rate for calculada usando meses, nper tambm deve ser
calculado usando meses.
Para todos os argumentos, o valor pago (como depsitos em uma poupana) representado por
nmeros negativos; o valor recebido (como cheques de dividendos) representado por nmeros
positivos.

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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro a uma
taxa de porcentagem anual (TPA) de 10 porcento e efetuar
pagamentos mensais, a taxa por perodo ser de 0,1/12, ou 0,0083.
per Obrigatrio. Integer que especifica o perodo de pagamento no
intervalo de 1 at nper.
nper Obrigatrio. Integer que especifica o nmero total de perodos de
pagamento na anuidade. Por exemplo, se voc efetuar pagamentos
mensais sobre um financiamento de quatro anos para um carro,
seu emprstimo ter um total de 4 * 12 (ou 48) perodos de
pagamento.
pv Obrigatrio. Double que especifica o valor presente, ou valor de
hoje, de uma srie de pagamentos ou recebimentos futuros. Por
exemplo, quando voc obtm um financiamento para comprar um
carro, a quantia do financiamento o valor presente para o
emprestador dos pagamentos mensais do carro que voc efetuar.
fv Opcional. Variant que especifica o valor futuro ou o saldo do valor
monetrio desejado aps ter efetuado o pagamento final. Por
exemplo, o valor futuro de um emprstimo de R$ 0,00 porque
esse o valor aps o pagamento final. Contudo, se voc quiser
poupar R$ 50.000 em 18 anos para garantir a educao de seu
filho, ento R$ 50.000 ser o valor futuro. Se for omitido, ser
assumido o valor 0.
type Opcional. Variant que especifica o vencimento dos pagamentos.
Use 0 se os pagamentos vencerem no final do perodo de
pagamento, ou 1 se vencerem no incio desse perodo. Se for
omitido, ser assumido o valor 0.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

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 Obrigatrio. Double que especifica a taxa de juros por perodo. Por
exemplo, se voc obtiver um financiamento para um carro a uma
taxa de porcentagem anual (TPA) de 10 porcento e efetuar
pagamentos anuais, a taxa por perodo de 0,1/12 ou 0,0083.
nper Obrigatrio. Integer que especifica o nmero total de perodos de
pagamento da anuidade. Por exemplo, se voc efetuar pagamentos
mensais sobre um financiamento de quatro anos para um carro,
seu emprstimo ter um total de 4 * 12 (ou 48) perodos de
pagamento.
pmt Obrigatrio. Double que especifica o pagamento a ser efetuado a
cada perodo. Os pagamentos normalmente contm o principal e os
juros que no se alteram durante o perodo de durao da
anuidade.
fv Opcional. Variant que especifica o valor futuro ou o saldo do valor
monetrio desejado aps ter efetuado o pagamento final. Por
exemplo, o valor futuro de um emprstimo de R$ 0,00 porque
esse o valor aps o pagamento final. Contudo, se voc quiser
poupar R$ 50.000 em 18 anos para garantir a educao de seu
filho, ento R$ 50.000 ser o valor futuro. Se for omitido, ser
assumido o valor 0.
type Opcional. Variant que especifica o vencimento dos pagamentos.
Use 0 se os pagamentos vencerem ao final do perodo de
pagamento, ou 1 se vencerem no incio desse perodo. Se for
omitido, ser assumido o valor 0.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Double que especifica o nmero total de perodos de
pagamento da anuidade. Por exemplo, se voc efetuar
pagamentos mensais sobre um financiamento de quatro anos
para um carro, seu financiamento possuir um total de 4 * 12 (ou
48) perodos de pagamento.
pmt Obrigatrio. Double que especifica o pagamento a ser efetuado a
cada perodo. Os pagamentos geralmente contm o principal e
os juros que no se alteram durante a durao da anuidade.
pv Obrigatrio. Double que especifica o valor presente, ou o valor
de hoje, de uma srie de pagamentos ou recebimentos futuros.
Por exemplo, quando voc obtiver um financiamento para
comprar um carro, a quantia do financiamento o valor presente
para o emprestador dos pagamentos mensais do carro que voc
efetuar.
fv Opcional. Variant que especifica o valor futuro ou o saldo
desejado aps ter efetuado o pagamento final. Por exemplo, o
valor futuro de um emprstimo de R$ 0,00 porque esse o
valor aps o pagamento final. Contudo, se voc quiser poupar R$
50.000 em 18 anos para garantir a educao de seu filho, ento
R$ 50.000 ser o valor futuro. Se for omitido, ser assumido o
valor 0.
type Opcional. Variant que especifica um nmero indicando o
vencimento dos pagamentos. Use 0 se os pagamentos vencerem
ao final do perodo de pagamento, ou 1 se vencerem no incio
desse perodo. Se for omitido, ser assumido o valor 0.
guess Opcional. Variant que especifica o valor por voc estimado que
ser retornado por Rate. Se for omitido, guess ter o valor de 0,1
(10 porcento).

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Double que especifica o custo inicial do ativo.
salvage Obrigatrio. Double que especifica o valor do ativo ao final de
sua vida til.
life Obrigatrio. Double que especifica a durao da vida til do
ativo.

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 Obrigatrio. Double que especifica o custo inicial do ativo.
salvage Obrigatrio. Double que especifica o valor do ativo ao final de
sua vida til.
life Obrigatrio. Double que especifica a durao da vida til do
ativo.
period Obrigatrio. Double que especifica o perodo no qual a
depreciao do ativo calculada.

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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo IsArray

Este exemplo utiliza a funo IsArray para verificar se uma varivel uma matriz.
Dim MinhaMatriz(1 To 5) As Integer, SuaMatriz, MeuControle ' Declara as
variveis de matriz.
SuaMatriz = Array(1, 2, 3) ' Utiliza a funo Array.
MeuControle = IsArray(MinhaMatriz) ' Retorna True.
MeuControle = IsArray(SuaMatriz) ' Retorna True.


Exemplo da funo IsDate

Este exemplo utiliza a funo IsDate para determinar se uma expresso pode ser convertida em uma
data.
Dim MinhaData, SuaData, SemData, MeuControle
MinhaData = "12 de Fevereiro de 1969": SuaData = #2/12/69#: SemData = "Al"
MeuControle = IsDate(MinhaData) ' Retorna True.
MeuControle = IsDate(SuaData) ' Retorna True.
MeuControle = IsDate(SemData) ' Retorna False.


Exemplo da funo IsEmpty

Este exemplo utiliza a funo IsEmpty para determinar se uma varivel foi inicializada.
Dim MinhaVar, MeuControle
MeuControle = IsEmpty(MinhaVar) ' Retorna True.

MinhaVar = Null ' Atribui Null.
MeuControle = IsEmpty(MinhaVar) ' Retorna False.

MinhaVar = Empty ' Atribui Empty.
MeuControle = IsEmpty(MinhaVar) ' Retorna True.


Exemplo da funo IsError

Este exemplo utiliza a funo IsError para verificar se uma expresso numrica um valor de erro. A
funo CVErr utilizada para retornar uma Error Variant de uma funo definida pelo usurio.
Suponha que FunoDoUsurio um procedimento de funo definido pelo usurio que retorna um
valor de erro; por exemplo, um valor de retorno atribudo com a instruo FunoDoUsurio =
CVErr(32767), onde 32767 um nmero definido pelo usurio.
Dim ValorDeRetorno, MeuControle
ValorDeRetorno = FunoDoUsurio()
MeuControle = IsError(ValorDeRetorno) ' Retorna True.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo IsMissing

Este exemplo utiliza a funo IsMissing para verificar se um argumento opcional foi passado a um
procedimento definido pelo usurio. Observe que os argumentos Optional agora podem ter valores e
tipos padro diferentes de Variant.
Dim ValorDeRetorno
' As instrues a seguir chamam o procedimento de funo definido pelo
usurio.
ValorDeRetorno = RetornaDobrado() ' Retorna Null.
ValorDeRetorno = RetornaDobrado(2) ' Retorna 4.

' Definio do procedimento de funo.
Function RetornaDobrado(Optional A)
If IsMissing(A) Then
' Se o argumento estiver ausente, retorna um Null.
RetornaDobrado = Null
Else
' Se o argumento estiver presente, retorna duas vezes o valor.
RetornaDobrado = A * 2
End If
End Function


Exemplo da funo IsNull

Este exemplo utiliza a funo IsNull para determinar se uma varivel contm um Null.
Dim MinhaVar, MeuControle
MeuControle = IsNull(MinhaVar) ' Retorna False.

MinhaVar = ""
MeuControle = IsNull(MinhaVar) ' Retorna False.

MinhaVar = Null
MeuControle = IsNull(MinhaVar) ' Retorna True.


Exemplo da funo IsNumeric

Este exemplo utiliza a funo IsNumeric para determinar se uma varivel pode ser avaliada como um
nmero.
Dim MinhaVar, MeuControle
MinhaVar = "53" ' Atribui o valor.
MeuControle = IsNumeric(MinhaVar) ' Retorna True.

MinhaVar = "459,95" ' Atribui o valor.
MeuControle = IsNumeric(MinhaVar) ' Retorna True.

MinhaVar = "Ajuda 45" ' Atribui o valor.
MeuControle = IsNumeric(MinhaVar) ' Retorna False.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo IsObject

Este exemplo utiliza a funo IsObject para determinar se um identificador representa uma varivel
de objeto. MeuObjeto and SeuObjeto so variveis de objeto do mesmo tipo. So nomes genricos
utilizados somente com fins ilustrativos.
Dim MeuInt As Integer, SeuObjeto, MeuControle ' Declara as variveis.
Dim MeuObjeto As Object
Set SeuObjeto = MeuObjeto ' Atribui uma referncia a objeto.
MeuControle = IsObject(SeuObjeto) ' Retorna True.
MeuControle = IsObject(MeuInt) ' Retorna False.


Exemplo da funo TypeName

Este exemplo utiliza a funo TypeName para retornar informaes sobre uma varivel.
' Declara as variveis.
Dim VarNula, MeuTipo, VarSeq As String, VarInt As Integer, VarAtual As
Currency
Dim VarMatriz (1 To 5) As Integer
VarNula = Null ' Atribui o valor Null.
MeuTipo = TypeName(VarSeq) ' Retorna "String".
MeuTipo = TypeName(VarInt) ' Retorna "Integer".
MeuTipo = TypeName(VarAtual) ' Retorna "Currency".
MeuTipo = TypeName(VarNula) ' Retorna "Null".
MeuTipo = TypeName(VarMatriz) ' Retorna "Integer()".


Exemplo da funo VarType

Este exemplo utiliza a funo VarType para determinar o subtipo de uma varivel.
Dim VarInt, VarSeq, VarData, MeuControle
' Inicializa as variveis.
VarInt = 459: VarSeq = "Al Mundo": VarData = #2/12/69#
MeuControle = VarType(VarInt) ' Retorna 2.
MeuControle = VarType(VarData) ' Retorna 7.
MeuControle = VarType(VarSeq) ' Retorna 8.


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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
IsNumeric retornar False se expresso for uma expresso de data.

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 de
caracteres
retornada
Varivel

tipo de objeto Um objeto cujo tipo tipodeobjeto
Byte Valor em bytes
Integer Nmero inteiro
Long Inteiro longo
Single Nmero de vrgula flutuante de preciso simples
Double Nmero de vrgula flutuante de preciso dupla
Currency Valor de moeda
Decimal Valor decimal
Date Valor de data
String Seqncia de caracteres
Boolean Valor booleano
Error Um valor de erro
Empty No-inicializada
Null Dados no-vlidos
Object Um objeto
Desconhecido Um objeto cujo tipo desconhecido
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Nothing Varivel de objeto que no se refere a um objeto

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 Valor Descrio

vbEmpty 0 Empty (no-inicializada)
vbNull 1 Null (dados no-vlidos)
vbInteger 2 Nmero inteiro
vbLong 3 Inteiro longo
vbSingle 4 Nmero de vrgula flutuante de
preciso simples
vbDouble 5 Nmero de vrgula flutuante de
preciso dupla
vbCurrency 6 Valor de moeda
vbDate 7 Valor da data
vbString 8 Seqncia de caracteres
vbObject 9 Objeto
vbError 10 Valor do erro
vbBoolean 11 Valor booleano
vbVariant 12 Variant (utilizada somente com
matrizes de variantes)
vbDataObject 13 Um objeto de acesso de dados
vbDecimal 14 Valor decimal
vbByte 17 Valor em bytes
vbArray 8192 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.

Exemplo da funo Abs

Este exemplo utiliza a funo Abs para computar o valor absoluto de um nmero.
Dim MeuNmero
MeuNmero = Abs(50.3) ' Retorna 50.3.
MeuNmero = Abs(-50.3) ' Retorna 50.3.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Atn

Este exemplo utiliza a funo Atn para calcular o valor de pi.
Dim pi
pi = 4 * Atn(1) ' Calcula o valor de pi.

Exemplo da funo Cos

Este exemplo utiliza a funo Cos para retornar o co-seno de um ngulo.
Dim Meungulo, MinhaSecante
Meungulo = 1.3 ' Define o ngulo em radianos.
MinhaSecante = 1 / Cos(Meungulo) ' Calcula a secante.


Exemplo da funo Exp

Este exemplo utiliza a funo Exp para retornar e elevado a uma potncia.
Dim Meungulo, MeuSenoH
' Define o ngulo em radianos.
Meungulo = 1.3
' Calcula o seno hiperblico.
MeuSenoH = (Exp(Meungulo) - Exp(-1 * Meungulo)) / 2


Exemplo da funo Int e da funo Fix

Este exemplo ilustra como as funes Int e Fix retornam pores inteiras de nmeros. No caso de
um argumento de nmero negativo, a funo Int retorna o primeiro inteiro negativo menor que ou
igual ao nmero; a funo Fix retorna o primeiro inteiro negativo maior que ou igual ao nmero.
Dim MeuNmero
MeuNmero = Int(99.8) ' Retorna 99.
MeuNmero = Fix(99.2) ' Retorna 99.

MeuNmero = Int(-99.8) ' Retorna -100.
MeuNmero = Fix(-99.8) ' Retorna -99.

MeuNmero = Int(-99.2) ' Retorna -100.
MeuNmero = Fix(-99.2) ' Retorna -99.


Exemplo da funo Log

Este exemplo utiliza a funo Log para retornar o logaritmo natural de um nmero.
Dim Meungulo, MeuLog
' Define o ngulo em radianos.
Meungulo = 1.3
' Calcula o seno hiperblico inverso.
MeuLog = Log(Meungulo + Sqr(Meungulo * Meungulo + 1))

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Randomize

Este exemplo utiliza a instruo Randomize para inicializar o gerador de nmeros aleatrios. Como o
argumento de nmero foi omitido, Randomize utiliza o valor de retorno da funo Timer como o novo
valor semente.
Dim MeuValor
Randomize ' Inicializa o gerador de nmeros aleatrios.

MeuValor = Int((6 * Rnd) + 1) ' Gera um valor aleatrio entre 1 e 6.

Exemplo da funo Rnd

Este exemplo utiliza a funo Rnd para gerar um valor inteiro aleatrio de 1 a 6.
Dim MeuValor
MeuValor = Int((6 * Rnd) + 1) ' Gera um valor aleatrio entre 1 e 6.


Exemplo da funo Sgn

Este exemplo utiliza a funo Sgn para determinar o sinal de um nmero.
Dim MinhaVar1, MinhaVar2, MinhaVar3, MeuSinal
MinhaVar1 = 12: MinhaVar2 = -2.4: MinhaVar3 = 0
MeuSinal = Sgn(MinhaVar1) ' Retorna 1.
MeuSinal = Sgn(MinhaVar2) ' Retorna -1.
MeuSinal = Sgn(MinhaVar3) ' Retorna 0.


Exemplo da funo Sin

Este exemplo utiliza a funo Sin para retornar o seno de um ngulo.
Dim Meungulo, MinhaCossecante
Meungulo = 1.3 ' Define o ngulo em radianos.
MinhaCossecante = 1 / Sin(Meungulo) ' Calcula a cossecante.


Exemplo da funo Sqr

Este exemplo utiliza a funo Sqr para calcular a raiz quadrada de um nmero.
Dim MinhaRaizQuad
MinhaRaizQuad = Sqr(4) ' Retorna 2.
MinhaRaizQuad = Sqr(23) ' Retorna 4.79583152331272.
MinhaRaizQuad = Sqr(0) ' Retorna 0.
MinhaRaizQuad = Sqr(-4) ' Gera um erro em tempo de execuo.


Exemplo da funo Tan

Este exemplo utiliza a funo Tan para retornar a tangente de um ngulo.
Dim Meungulo, MinhaCotangente
Meungulo = 1.3 ' Define o ngulo em radianos.
MinhaCotangente = 1 / Tan(Meungulo) ' Calcula a cotangente.


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 co-
tangente, 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 A funo Exp complementa a ao da funo Log e s vezes chamada de
antilogaritmo.


Funes Int, Fix
Retornam um valor do tipo passado para ele contendo a parte inteira de um nmero.
Sintaxe
Int(nmero)
Fix(nmero)

argumento obrigatrio nmero um Double ou qualquer expresso numrica vlida. Se nmero
contiver Null, retornado Null.
Comentrios
Tanto Int como Fix removem a parte fracionria de nmero e retornam o valor inteiro resultante.
A diferena entre Int e Fix que, se nmero for negativo, Int retorna o primeiro inteiro negativo que
seja menor ou igual a nmero, enquanto Fix retorna o primeiro inteiro negativo maior ou igual a
nmero. Por exemplo, Int converte -8.4 para -9, e Fix converte -8.4 para -8.
Fix(nmero) equivalente a:
Sgn(nmero) * Int(Abs(nmero))


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#)
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
End Function


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 Rnd gera

Menor que zero O mesmo nmero todas as vezes, utilizando nmero
como semente.
Maior que zero O prximo nmero aleatrio na seqncia.
Igual a zero O nmero gerado mais recentemente.
No fornecido 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 Para repetir seqncias de nmeros aleatrios, chame Rnd com um argumento
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
negativo imediatamente antes de utilizar Randomize com um argumento numrico. A utilizao de
Randomize com o mesmo valor de nmero no repete a seqncia anterior.


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 Sgn retorna

Maior que zero 1
Igual a zero 0
Menor que zero -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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.

Funes matemticas derivadas
A lista abaixo uma lista de funes matemticas no intrnsecas que podem ser derivadas a partir
das funes matemticas intrnsecas:
Funo Equivalentes derivadas

Secante Sec(X) = 1 / Cos(X)
Co-secante Cosec(X) = 1 / Sin(X)
Co-tangente Cotan(X) = 1 / Tan(X)
Seno inverso Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Co-seno inverso Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Secante inversa Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) 1) * (2 * Atn(1))
Co-secante inversa Arccosec(X) = Atn(X / Sqr(X * X 1)) + (Sgn(X) 1) * (2 * Atn(1))
Co-tangente inversa Arccotan(X) = Atn(X) + 2 * Atn(1)
Seno hiperblico Sinh(X) = (Exp(X) Exp(-X)) / 2
Co-seno hiperblico Cosh(X) = (Exp(X) + Exp(-X)) / 2
Tangente hiperblica Tanh(X) = (Exp(X) Exp(-X)) / (Exp(X) + Exp(-X))
Secante hiperblica Sech(X) = 2 / (Exp(X) + Exp(-X))
Co-secante hiperblica Cosech(X) = 2 / (Exp(X) Exp(-X))
Co-tangente hiperblica Cotanh(X) = (Exp(X) + Exp(-X)) / (Exp(X) Exp(-X))
Seno hiperblico inverso Arcsinh(X) = Log(X + Sqr(X * X + 1))
Co-seno hiperblico inverso Arccosh(X) = Log(X + Sqr(X * X 1))
Tangente hiperblica inversa Arctanh(X) = Log((1 + X) / (1 X)) / 2
Secante hiperblica inversa Arcsech(X) = Log((Sqr(-X * X + 1) + 1) / X)
Co-secante hiperblica inversa Arccosech(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
Co-tangente hiperblica inversa Arccotanh(X) = Log((X + 1) / (X 1)) / 2
Logaritmo de base N Logn(X) = Log(X) / Log(N)

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo do mtodo Add

Este exemplo utiliza o mtodo Add para adicionar objetos Inst (instncias de uma classe
denominada Class1 que contm uma varivel Public NomeDaInstncia) a uma coleo
denominada MinhasClasses. Para ver como isto funciona, insira um mdulo de classe e declare
uma varivel pblica denominada NomeDaInstncia em nvel de mdulo da Class1 (digite Public
NomeDaInstncia) para conter os nomes de cada instncia. Deixe o nome padro como Class1.
Copie e cole o cdigo a seguir no procedimento de evento Form_Load de um mdulo de formulrio.
Dim MinhasClasses As New Collection ' Cria um objeto Collection.
Dim Num As Integer ' Contador para individualizar chaves.
Dim Msg
Dim ONome ' Contm os nomes que o usurio insere.
Do
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

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo do mtodo Item

Este exemplo utiliza o mtodo Item para recuperar uma referncia a um objeto em uma coleo.
Supondo que Aniversrios um objeto Collection, o cdigo a seguir recupera referncias aos
objetos da coleo que representam a data do aniversrio de Bill Smith e do aniversrio de Adam
Smith, utilizando as chaves "SmithBill" e "SmithAdam" como argumentos de ndice. Observe que a
primeira chamada especifica explicitamente o mtodo Item, mas a segunda no. Ambas as
chamadas funcionam porque o mtodo Item o padro de um objeto Collection. As referncias,
atribudas a SmithBillBD e SmithAdamBD utilizando Set, podem ser utilizadas para acessar as
propriedades e mtodos dos objetos especificados. Para executar este cdigo, crie a coleo e
preencha-a com pelo menos dois membros referenciados.
Dim SmithBillBD As Object
Dim SmithAdamBD As Object
Dim Aniversrios
Set SmithBillBD = Aniversrios.Item("SmithBill")
Set SmithAdamBD = Aniversrios("SmithAdam")


Exemplo do mtodo Print

Utilizando o mtodo Print, este exemplo exibe o valor da varivel MinhaVar no painel Imediato da
janela Depurar. Observe que o mtodo Print se aplica somente a objetos que podem exibir texto.
Dim MinhaVar
MinhaVar = "Venha me ver no painel Imediato"
Debug.Print MinhaVar


Exemplo do mtodo Raise

Este exemplo utiliza o mtodo Raise do objeto Err para gerar um erro com um objeto de Automao
gravado no Visual Basic. Ele tem o cdigo programtico MeuProj.MeuObjeto.
Const MeuCdigoDeContexto = 1010407 ' Define uma constante para o cdigo do
contexto.
Function TestName(NomeAtual, NovoNome)
If Instr(NovoNome, "bob") Then ' Testa a validade de NovoNome.
' Provoca a exceo.
Err.Raise vbObjectError + 27, "MeuProj.MeuObjeto", _
"Nenhum ""bob"" permitido no seu nome", "c:\MeuProj\MinhAjuda.Hlp", _
MeuCdigoDeContexto
End If
End Function


Exemplo do mtodo Remove

Este exemplo ilustra o uso do mtodo Remove para remover objetos de um objeto Collection,
MinhasClasses. Este cdigo remove o objeto cujo ndice 1 em cada iterao do loop.
Dim Num, MinhasClasses
For Num = 1 To MinhasClasses.Count
MinhasClasses.Remove 1 ' Remove o primeiro objeto cada vez
' atravs do loop at que no haja mais
' objetos na coleo.
Next Num
Mtodo Add
Adiciona um membro a um objeto Collection.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Sintaxe
objeto.Add item, key, before, after

A sintaxe do mtodo Add tem o qualificador de objeto e os argumentos nomeados a seguir:
Parte Descrio

objeto Obrigatrio. Uma expresso de objeto que avaliado como um
objeto da lista Relativo a.
item Obrigatrio. Uma expresso de qualquer tipo que especifica o
membro a ser adicionado coleo.
key Opcional. Uma expresso de seqncia de caracteres exclusiva
que especifica uma seqncia-chave que pode ser utilizada, em
vez de um ndice posicional, para acessar um membro da
coleo.
before Opcional. Uma expresso que especifica uma posio relativa na
coleo. O membro a ser adicionado colocado na coleo
antes do membro identificado pelo argumento before. Se for uma
expresso numrica, before deve ser um nmero de 1 ao valor
da propriedade Count da coleo. Se for uma expresso de
seqncia de caracteres, before deve corresponder key
especificada quando o membro sendo referido foi adicionado
coleo. Voc pode especificar uma posio before ou uma
posio after, mas no ambas.
after Opcional. Uma expresso que especifica uma posio relativa na
coleo. O membro a ser adicionado colocado na coleo
depois do membro identificado pelo argumento after. Se for
numrico, after deve ser um nmero de 1 ao valor da
propriedade Count da coleo. Se for uma seqncia de
caracteres, after deve corresponder key especificada quando o
membro referido foi adicionado coleo. Voc pode especificar
uma posio before ou uma posio after, mas no ambas.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
remove a ambigidade sobre qual objeto foi acessado pelo cdigo. Voc pode ter certeza de qual
objeto colocou o cdigo de erro em Err.Number, assim como de qual objeto gerou originalmente o
erro (o objeto especificado em Err.Source).


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 Obrigatrio. Uma expresso de objeto que avaliada como um
objeto na lista Relativo a.
ndice Obrigatrio. Uma expresso que especifica a posio de um
membro da coleo. Se for uma expresso numrica, ndice
deve ser um nmero de 1 ao valor da propriedade Count da
coleo. Se for uma expresso de seqncia de caracteres,
ndice deve corresponder ao argumento key especificado
quando o membro referido tiver sido adicionado coleo.

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 Opcional. Uma expresso de objeto que avaliada como um
objeto da lista Relativo a.
listadesada Opcional. Expresso ou lista de expresses a ser impressa.
Se for omitida, ser impressa uma linha em branco.

O argumento listadesada tem as seguintes sintaxe e partes:
{Spc(n) | Tab(n)} expresso poscarac

Parte Descrio

Spc(n) Opcional. Utilizado para inserir caracteres espao na sada,
onde n o nmero de caracteres espao a ser inseridos.
Tab(n) Opcional. Utilizado para posicionar o ponto de insero em
um nmero de coluna absoluto onde n o nmero de coluna.
Use Tab sem argumento para posicionar o ponto de insero
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
no incio da prxima rea de impresso.
expresso Opcional. Expresso numrica ou expresso de seqncia
de caracteres a ser impressa.
poscarac Opcional. Especifica o ponto de insero para o prximo
caractere. Use ponto-e-vrgula (;) para posicionar o ponto de
insero imediatamente aps o ltimo caractere exibido. Use
Tab(n) para posicionar o ponto de insero em um nmero
de coluna absoluto. Use Tab sem argumento para posicionar
o ponto de insero no incio da rea de impresso. Se
poscarac for omitido, o prximo caractere ser impresso na
prxima linha.

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 palavras-
chave 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 Obrigatrio. sempre o objeto Err.
number Obrigatrio. Inteiro Long que identifica a natureza do erro.
Os erros do Visual Basic (erros definidos pelo Visual Basic
ou definidos pelo usurio) encontram-se no intervalo de 0 a
65535. Ao definir a propriedade Nmero para seu prprio
cdigo de erro em um mdulo de classe, voc adiciona seu
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
nmero de cdigo de erro constante. vbObjectError. Por
exemplo, para gerar o nmero de erro 1050, atribua
vbObjectError + 1050 para a propriedade Number.
source Opcional. Expresso de seqncia de caracteres que d
nome ao objeto ou aplicativo que gerou o erro. Ao definir
essa propriedade para um objeto, use a forma
projeto.classe. Se source no for especificada, utilizada
a identificao programtica do projeto atual do Visual
Basic.
description Opcional. A expresso de seqncia de caracteres que
descreve o erro. Se no for especificada, o valor em
Number ser examinado. Se ele puder ser mapeado para
um cdigo de erro de tempo de execuo do Visual Basic,
a seqncia de caracteres que iria ser retornada pela
funo Error ser utilizada como Description. Se no
houver erro no Visual Basic que corresponda a Number,
ser usada a mensagem "Erro de definio de aplicativo ou
de definio de objeto".
helpfile Opcional. O caminho completo para o arquivo de Ajuda do
Microsoft Windows no qual pode ser encontrada ajuda
sobre esse erro. Se no for especificado, o Visual Basic
utilizar a unidade, o caminho e o nome do arquivo
completo do arquivo de Ajuda do Visual Basic.
helpcontext Opcional. A identificao de contexto que identifica um
tpico dentro do helpfile que fornece ajuda para o erro. Se
for omitido, ser usada a identificao de contexto do
arquivo de Ajuda do Visual Basic referente ao erro
correspondente propriedade Number, caso ele exista.

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 Obrigatrio. Uma expresso de objeto que avaliada como um
objeto da lista Relativo a.
ndice Obrigatrio. Uma expresso que especifica a posio de um
membro da coleo. Se for uma expresso numrica, ndice deve
ser um nmero de 1 ao valor da propriedade Count da coleo.
Se for uma expresso de seqncia de caracteres, ndice deve
corresponder ao argumento key especificado quando o membro
referido tiver sido adicionado coleo.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Comentrios
Se o valor fornecido como ndice no corresponder a um membro existente da coleo, ocorrer um
erro.


Exemplo da instruo AppActivate

Este exemplo ilustra vrios usos da instruo AppActivate para ativar uma janela de aplicativo. As
instrues Shell supem que os aplicativos esto nos caminhos especificados.
Dim MeuCdigoDoAplicativo, ValorDeRetorno
' No Microsoft Windows:
AppActivate "Microsoft Word" ' Ativa o Microsoft
' Word.

' AppActivate tambm pode utilizar o valor de retorno da funo Shell.
MeuCdigoDoAplicativo = Shell("C:\WORD\WINWORD.EXE", 1) ' Executa o
Microsoft Word.
AppActivate MeuCdigoDoAplicativo ' Ativa o Microsoft
' Word.



' Voc pode tambm utilizar o valor de retorno da funo Shell.
ValorDeRetorno = Shell("c:\EXCEL\EXCEL.EXE",1) ' Executa o Microsoft Excel.
AppActivate ValorDeRetorno ' Ativa o Microsoft
' Excel.


Exemplo da instruo Beep

Este exemplo utiliza a instruo Beep para emitir trs avisos sonoros consecutivos atravs do alto-
falante do computador.
Dim I
For I = 1 To 3 ' Faz o loop 3 vezes.
Beep ' Emite um aviso sonoro.
Next I

Exemplo da funo Command

Este exemplo utiliza a funo Command para obter os argumentos da linha de comando em uma
funo que os retorna em uma Variant que contm uma matriz.
Function GetCommandLine(Optional ArgsMax)
'Declara as variveis.
Dim C, LinhaDeComando, CompLinhaDeComando, ArgIn, I, ArgsNum
'V se ArgsMax foi fornecido.
If IsMissing(ArgsMax) Then ArgsMax = 10
'Torna a matriz do tamanho correto.
ReDim MatrizArg(ArgsMax)
ArgsNum = 0: ArgIn = False
'Obtm argumentos da linha de comando.
LinhaDeComando = Command()
CompLinhaDeComando = Len(LinhaDeComando)
'Percorre a linha de comando um caractere
'de cada vez.
For I = 1 To CompLinhaDeComando
C = Mid(LinhaDeComando, I, 1)
'Testa quanto a espao ou tabulao.
If (C <> " " And C <> vbTab) Then
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
'Nem espao nem tabulao.
'Testa se j existe no argumento.
If Not ArgIn Then
'O novo argumento iniciado.
'Testa quanto ao nmero excessivo de argumentos.
If ArgsNum = ArgsMax Then Exit For
ArgsNum = ArgsNum + 1
ArgIn = True
End If
'Adiciona caractere ao argumento atual.
MatrizArg(ArgsNum) = MatrizArg(ArgsNum) + C
Else
'Encontrado um espao ou tabulao.
'Define o sinalizador ArgIn como False.
ArgIn = False
End If
Next I
'Redimensiona a matriz o suficiente para conter argumentos.
ReDim Preserve MatrizArg(ArgsNum)
'Retorna a Matriz no nome da funo.
GetCommandLine = MatrizArg()
End Function

Exemplo da funo InputBox

Este exemplo mostra vrias maneiras de utilizar a funo InputBox para solicitar ao usurio que
insira um valor. Se as posies x e y forem omitidas, a caixa de dilogo ser automaticamente
centralizada em relao aos respectivos eixos. A varivel MeuValor contm o valor inserido pelo
usurio se o usurio clicar em OK ou pressionar a tecla ENTER. Se o usurio clicar em Cancelar, ser
retornada uma seqncia de comprimento zero.
Dim Mensagem, Ttulo, Padro, MeuValor
Mensagem = "Insira um valor entre 1 e 3" ' Define o aviso.
Ttulo = "Demonstrao da CaixaDeEntrada" ' Define o ttulo.
Padro = "1" ' Define o padro.
' Exibe a mensagem, o ttulo e o valor padro.
MeuValor = InputBox(Mensagem, Ttulo, Padro)

' Utiliza o arquivo de Ajuda e o contexto. O boto Ajuda adicionado
automaticamente.
MeuValor = InputBox(Mensagem, Ttulo, , , , "DEMO.HLP", 10)

' Exibe a caixa de dilogo na posio 100, 100.
MeuValor = InputBox(Mensagem, Ttulo, Padro, 100, 100)

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo MsgBox

Este exemplo utiliza a funo MsgBox para exibir uma mensagem de erro crtico em uma caixa de
dilogo com os botes Sim e No. O boto No especificado como a resposta padro. O valor
retornado pela funo MsgBox depende do boto escolhido pelo usurio. Este exemplo supe que
DEMO.HLP um arquivo de Ajuda que contm um tpico com um nmero de contexto da Ajuda igual
a 1000.
Dim Msg, Estilo, Ttulo, Ajuda, Ctxt, Resposta, MinhaSeqncia
Msg = "Deseja continuar?" ' Define a mensagem.
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define os botes.
Ttulo = "Demonstrao de MsgBox" ' Define o ttulo.
Ajuda = "DEMO.HLP" ' Define o arquivo de Ajuda.
Ctxt = 1000 ' Define o contexto do
' tpico.
' Exibe a mensagem.
Resposta = MsgBox(Msg, Estilo, Ttulo, Ajuda, Ctxt)
If Resposta = vbYes Then ' O usurio escolheu Sim.
MinhaSeqncia = "Sim" ' Executa alguma ao.
Else ' O usurio escolheu No.
MinhaSeqncia = "No" ' Executa alguma ao.
End If


Exemplo da instruo SendKeys

Este exemplo utiliza a funo Shell para executar o aplicativo Calculadora includo no Microsoft
Windows. Utiliza a instruo SendKeys para enviar pressionamentos de teclas para adicionar alguns
nmeros e, ento, sair da Calculadora. (Para ver o exemplo, cole-o em um procedimento e, em
seguida, execute o procedimento. Como AppActivate altera o foco para o aplicativo Calculadora, no
possvel simplesmente percorrer o cdigo.)
Dim ValorDeRetorno, I
ValorDeRetorno = Shell("CALC.EXE", 1) ' Executa a Calculadora.
AppActivate ValorDeRetorno ' Ativa a Calculadora.
For I = 1 To 100 ' Configura o loop de contagem.
SendKeys I & "{+}", True ' Envia pressionamentos de teclas para
Calculadora
Next I ' para adicionar cada valor de I.
SendKeys "=", True ' Obtm o total geral.
SendKeys "%{F4}", True ' Envia ALT+F4 para fechar a Calculadora.


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 Obrigatrio. Expresso de seqncia de caracteres que
especifica o ttulo na barra de ttulo da janela do aplicativo que
voc deseja ativar. O cdigo de tarefa retornado pela funo
Shell pode ser utilizado em vez de title para ativar um aplicativo.
wait Opcional. Valor Boolean que especifica se o aplicativo de
chamada possui o foco antes de ativar outro. Se for False
(padro), o aplicativo especificado ativado imediatamente,
mesmo se o aplicativo de chamada no possuir o foco. Se for
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
True, o aplicativo de chamada aguarda at possuir o foco e
depois ativa o aplicativo especificado.

Comentrios
A instruo AppActivate muda o foco para o aplicativo ou a janela especificados, mas sem afetar seu
estado maximizado ou minimizado. O foco se move da janela de aplicativo ativada quando o usurio
realiza alguma ao para mudar o foco ou fechar a janela. Utilize a funo Shell para iniciar um
aplicativo e definir o estilo de janela.
Na determinao de qual aplicativo deve ser ativado, title comparado seqncia de caracteres de
ttulo de cada aplicativo que est em execuo. Se no houver correspondncia exata, todo aplicativo
cuja seqncia de caracteres de ttulo comece com title ser ativado. Se houver mais de uma
ocorrncia do aplicativo especificado por title, uma ocorrncia ser arbitrariamente ativada.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Expresso de seqncia de caracteres exibida
como mensagem na caixa de dilogo. O comprimento mximo
de prompt de aproximadamente 1024 caracteres,
dependendo da largura dos caracteres utilizados. Se prompt
consistir em mais de uma linha, voc poder separar as linhas
utilizando um caractere de retorno de carro (Chr(13)), um
caractere de alimentao de linha (Chr(10)) ou uma
combinao de caracteres de retorno de carro e alimentao
de linha (Chr(13) & Chr(10)) entre cada linha.
title Opcional. Expresso de seqncia de caracteres exibida na
barra de ttulo da caixa de dilogo. Se voc omitir title, o
nome do aplicativo ser inserido na barra de ttulo.
default Opcional. Expresso de seqncia de caracteres exibida na
caixa de texto como resposta padro se nenhuma entrada for
fornecida. Se voc omitir default, a caixa de texto ser exibida
vazia.
xpos Opcional. Expresso numrica que especifica, em twips, a
distncia horizontal da extremidade esquerda da caixa de
dilogo em relao extremidade esquerda da tela. Se xpos
for omitido, a caixa de dilogo ser centralizada
horizontalmente.
ypos Opcional. Expresso numrica que especifica, em twips, a
distncia vertical da extremidade superior da caixa de dilogo
em relao ao topo da tela. Se ypos for omitido, a caixa de
dilogo ser posicionada na vertical a aproximadamente um
tero da extremidade inferior da tela.
helpfile Opcional. Expresso de seqncia de caracteres que
identifica o arquivo de Ajuda a ser utilizado para fornecer
ajuda sensvel ao contexto relativa caixa de dilogo. Se
helpfile for fornecido, context tambm dever ser fornecido.
context Opcional. Expresso numrica que o nmero de contexto da
Ajuda atribudo ao tpico da Ajuda apropriado pelo autor da
Ajuda. Se context for fornecido, helpfile tambm dever ser
fornecido.

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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Expresso de seqncia de caracteres exibida
como mensagem na caixa de dilogo. O comprimento mximo
de prompt de aproximadamente 1024 caracteres,
dependendo da largura dos caracteres utilizados. Se prompt
consistir em mais de uma linha, voc poder separar as linhas
utilizando um caractere de retorno de carro (Chr(13)), um
caractere de alimentao de linha (Chr(10)) ou uma
combinao de caracteres de retorno de carro e alimentao
de linha (Chr(13) & Chr(10)) entre cada linha.
buttons Opcional. Expresso numrica que a soma de valores que
especifica o nmero e o tipo de botes a exibir, o estilo de
cone a utilizar, a identidade do boto padro e a modalidade
da caixa de mensagem. Se omitido, o valor padro para
buttons 0.
title Opcional. Expresso de seqncia de caracteres exibida na
barra de ttulo da caixa de dilogo. Se voc omitir title, o nome
do aplicativo ser inserido na barra de ttulo.
helpfile Opcional. Expresso de seqncia de caracteres que identifica
o arquivo de Ajuda a ser utilizado para fornecer a ajuda
sensvel ao contexto relativa caixa de dilogo. Se helpfile for
fornecido, context tambm dever ser fornecido.
context Opcional. Expresso numrica que o nmero de contexto da
Ajuda atribudo ao tpico de Ajuda apropriado pelo autor da
Ajuda. Se context for fornecido, helpfile tambm dever ser
fornecido.

Definies
As definies do argumento buttons so:
Constante Valor Descrio

vbOKOnly 0 Exibe somente o boto OK.
VbOKCancel 1 Exibe os botes OK e Cancelar.
VbAbortRetryIgnore 2 Exibe os botes Abortar, Repetir e
Ignorar.
VbYesNoCancel 3 Exibe os botes Sim, No e Cancelar.
VbYesNo 4 Exibe os botes Sim e No.
VbRetryCancel 5 Exibe os botes Repetir e Cancelar.
VbCritical 16 Exibe o cone Mensagem crtica.
VbQuestion 32 Exibe o cone Consulta de aviso.
VbExclamation 48 Exibe o cone Mensagem de aviso.
VbInformation 64 Exibe o cone Mensagem de
informao.
VbDefaultButton1 0 O primeiro boto o padro.
VbDefaultButton2 256 O segundo boto o padro.
VbDefaultButton3 512 O terceiro boto o padro.
VbDefaultButton4 768 O quarto boto o padro.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
VbApplicationModal 0 Janela restrita do aplicativo; o usurio
deve responder caixa de mensagem
antes de continuar o trabalho no
aplicativo atual.
VbSystemModal 4096 Janela restrita do sistema; todos os
aplicativos so suspensos at que o
usurio responda caixa de mensagem.

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 1 OK
vbCancel 2 Cancelar
vbAbort 3 Abortar
vbRetry 4 Repetir
vbIgnore 5 Ignorar
vbYes 6 Sim
vbNo 7 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 Obrigatrio. Expresso de seqncia de caracteres que
especifica os pressionamentos de teclas a enviar.
wait Opcional. Valor Boolean que especifica o modo de espera.
Se for False (padro), o controle ser retornado ao
procedimento imediatamente aps as teclas serem enviadas.
Se for True, os pressionamentos de teclas devem ser
processados antes que o controle seja retornado ao
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
procedimento.

Comentrios
Cada tecla representada por um ou mais caracteres. Para especificar um nico caractere de
teclado, utilize o prprio caractere. Por exemplo, para representar a letra A, utilize "A" para string.
Para representar mais de um caractere, anexe cada caractere adicional ao que o antecede. Para
representar as letras A, B e C, utilize "ABC" para string.
O sinal de adio (+), circunflexo (^), sinal de porcentagem (%), til (~) e parnteses ( ) possuem
significados especiais para SendKeys. Para especificar um desses caracteres, coloque-os entre
chaves ({}). Por exemplo, para especificar o sinal de adio, utilize {+}. Os colchetes ([ ]) no tm
significado especial para SendKeys, mas voc deve coloc-los entre chaves. Em outros aplicativos,
os colchetes tm um significado especial que pode ser importante quando ocorrer intercmbio
dinmico de dados (DDE, Dynamic Data Exchange). Para especificar caracteres de chaves, utilize {-
{} e {}}.
Para especificar caracteres que no so exibidos quando voc pressiona uma tecla, como ENTER ou
TAB, e teclas que representam aes em vez de caracteres, utilize os cdigos a seguir.
Tecla Cdigo

BACKSPACE
{BACKSPACE}, {BS} ou {BKSP}
BREAK
{BREAK}
CAPS LOCK
{CAPSLOCK}
DEL ou DELETE {DELETE} ou {DEL}
SETA ABAIXO
{DOWN}
END
{END}
ENTER
{ENTER}ou ~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS ou INSERT {INSERT} ou {INS}
SETA ESQUERDA
{LEFT}
NUM LOCK
{NUMLOCK}
PAGE DOWN
{PGDN}
PAGE UP
{PGUP}
PRINT SCREEN
{PRTSC}
SETA DIREITA
{RIGHT}
SCROLL LOCK
{SCROLLLOCK}
TAB
{TAB}
SETA ACIMA
{UP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
F15
{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 Cdigo

SHIFT
+
CTRL
^
ALT
%

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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Conjunto de caracteres (0127)
0 32 [espao] 64 @ 96 `
1 33 ! 65 A 97 a
2 34 " 66 B 98 b
3 35 # 67 C 99 c
4 36 $ 68 D 100 d
5 37 % 69 E 101 e
6 38 & 70 F 102 f
7 39 ' 71 G 103 g
8 * * 40 ( 72 H 104 h
9 * * 41 ) 73 I 105 i
10 * * 42 * 74 J 106 j
11 43 + 75 K 107 k
12 44 , 76 L 108 l
13 * * 45 - 77 M 109 m
14 46 . 78 N 110 n
15 47 / 79 O 111 o
16 48 0 80 P 112 p
17 49 1 81 Q 113 q
18 50 2 82 R 114 r
19 51 3 83 S 115 s
20 52 4 84 T 116 t
21 53 5 85 U 117 u
22 54 6 86 V 118 v
23 55 7 87 W 119 w
24 56 8 88 X 120 x
25 57 9 89 Y 121 y
26 58 : 90 Z 122 z
27 59 ; 91 [ 123 {
28 60 < 92 \ 124 |
29 61 = 93 ] 125 }
30 62 > 94 ^ 126 ~
31 63 ? 95 _ 127

Esses caracteres no so suportados pelo Microsoft Windows.
* * Os valores 8, 9, 10 e 13 so convertidos para os caracteres backspace, tab, alimentao de linha e retorno de carro,
respectivamente. Eles no tm representao grfica mas, dependendo do aplicativo, podem afetar a exibio visual do
texto.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 0 Nenhum IME instalado
vbIMEOn 1 IME ligado
vbIMEOff 2 IME desligado
vbIMEDisable 3 IME desativado
vbIMEHiragana 4 Caracteres de byte duplo Hiragana (DBC)
vbIMEKatakanaDbl 5 Katakana DBC
vbIMEKatakanaSng 6 Caracteres de byte simples Katakana
(SBC)
vbIMEAlphaDbl 7 DBC Alfanumrico
vbIMEAlphaSng 8 SBC Alfanumrico

Os valores de retorno referentes localidade China (chins tradicional e simplificado) so os
seguintes:
Constante Valor Descrio

vbIMENoOP 0 Nenhum IME instalado
vbIMEOn 1 IME ligado
vbIMEOff 2 IME desligado

Para a localidade coreana, os primeiros cinco bits de retorno so definidos da seguinte forma:
Bit Valor Descrio Valor Descrio

0 0 Nenhum IME
instalado
1 IME instalado
1 0 IME desativado 1 IME ativado
2 0 Modo Ingls IME 1 Modo Hangeul
3 0 Modo Banja (SB) 1 Modo Junja (DB)
4 0 Modo Normal 1 Modo de Converso Hanja


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Collection (Pesquisador de objeto)
O mdulo Collection contm procedimentos utilizados para realizar operaes no objeto Collection.
Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.

ColorConstants (Pesquisador de objeto)
O mdulo Color Constants contm constantes de cores predefinidas. Estas constantes podem ser
utilizadas em qualquer parte do seu cdigo.

Constants (Pesquisador de objeto)
O mdulo Constants contm vrias constantes. Estas constantes podem ser utilizadas em qualquer
parte do seu cdigo.

Conversion (Pesquisador de objeto)
O mdulo Conversion contm os procedimentos utilizados para executar vrias operaes de
converso. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.

Observao Quando voc utiliza as variveis Variant, as converses de tipo de dados explcitas
no desnecessrias.


DateTime (Pesquisador de objeto)
O mdulo DateTime contm os procedimentos e propriedades utilizados em operaes de data e
hora. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.

ErrObject (Pesquisador de objeto)
O mdulo ErrObject contm propriedades e procedimentos utilizados para identificar e manipular
erros de tempo de execuo utilizando o objeto Err. Estas constantes podem ser utilizadas em
qualquer parte do seu cdigo.
FileSystem (Pesquisador de objeto)
O mdulo FileSystem contm os procedimentos utilizados para realizar operaes de arquivo,
diretrio ou pasta e sistema. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
Financial (Pesquisador de objeto)
O mdulo Financial contm procedimentos utilizados para realizar operaes financeiras. Estas
constantes podem ser utilizadas em qualquer parte do seu cdigo.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Global (Pesquisador de objeto)
O mdulo Global contm procedimentos e propriedades utilizadas para realizar operaes no objeto
UserForm. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
Information (Pesquisador de objeto)
O mdulo Information contm os procedimentos utilizados para retornar, testar ou verificar
informaes. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
Interaction (Pesquisador de objeto)
O mdulo Interaction contm procedimentos utilizados para interagir com objetos, aplicativos e
sistemas. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
eycodeConstants (Pesquisador de objeto)
O mdulo KeyCodeConstants contm constantes de cdigo-chave predefinidas que podem ser
utilizadas em qualquer parte do seu cdigo.
Math (Pesquisador de objeto)
O mdulo Math contm procedimentos utilizados para realizar operaes matemticas. Estas
constantes podem ser utilizadas em qualquer parte do seu cdigo.
String (Pesquisador de objeto)
O mdulo String contm procedimentos utilizados para realizar operaes de seqncias de
caracteres. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
SystemColorConstants (Pesquisador de objeto)
O mdulo System ColorConstants contm constantes que identificam vrias partes da interface de
usurio grfica. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
VbAppWinStyle (Pesquisador de objeto)
A enumerao VbAppWinStyle contm constantes utilizadas pela funo Shell para controlar o
estilo de uma janela de aplicativo. Estas constantes podem ser utilizadas em qualquer parte do seu
cdigo.
VbCalendar (Pesquisador de objeto)
A enumerao VbCalendar contm constantes utilizadas para determinar o tipo de calendrio
utilizado pelo Visual Basic. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
VbCompareMethod (Pesquisador de objeto)
A enumerao VbCompareMethod contm constantes utilizadas para determinar a forma como as
seqncias de caracteres so comparadas ao utilizar as funes Instr e StrComp. Estas constantes
podem ser utilizadas em qualquer parte do seu cdigo.
VbDayOfWeek (Pesquisador de objeto)
A enumerao VbDayOfWeek contm constantes utilizadas para identificar dias da semana
especficos ao utilizar as funes DateDiff, DatePart e Weekday. Estas constantes podem ser
utilizadas em qualquer parte do seu cdigo.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
VbFileAttribute (Pesquisador de objeto)
A enumerao VbFileAttribute contm constantes utilizadas para identificar atributos de arquivos
utilizados nas funes Dir, GetAttr e SetAttr. Estas constantes podem ser utilizadas em qualquer
parte do seu cdigo.
VbFirstWeekOfYear (Pesquisador de objeto)
A enumerao VbFirstWeekOfYear contm constantes utilizadas para identificar como a primeira
semana de um ano determinada quando estiver utilizando as funes DateDiff e DatePart. Estas
constantes podem ser utilizados em qualquer outra parte do cdigo.
VbIMEStatus (Pesquisador de objeto)
Disponvel apenas nas verses do Oriente Mdio, a enumerao VbIMEStatus contm constantes
utilizadas para identificar o Input Method Editor (IME) quando estiver utilizando a funo IMEStatus.
Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
VbMsgBoxResult (Pesquisador de objeto)
A enumerao VbMsgBoxResult contm constantes utilizadas para identificar que boto foi
pressionado em uma caixa de mensagem exibida utilizando a funo MsgBox. Estas constantes
podem ser utilizadas em qualquer parte do seu cdigo.
VbMsgBoxStyle (Pesquisador de objeto)
A enumerao VbMsgBoxStyle contm constantes utilizadas para especificar o comportamento de
uma caixa de mensagem, junto com smbolos e botes que aparecem nela, quando exibida utilizando
a funo MsgBox. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
VbQueryClose (Pesquisador de objeto)
A enumerao VbQueryClose contm constantes utilizadas para identificar o que causou o evento
QueryClose. Estas constantes podem ser utilizadas em qualquer parte do seu cdigo.
VbStrConv (Pesquisador de objeto)
A enumerao VbStrConv contm constantes utilizadas para identificar o tipo de converso de
seqncia de caracteres a ser realizada pela funo StrConv. Estas constantes podem ser utilizadas
em qualquer parte do se cdigo.
VbVarType (Pesquisador de objeto)
A enumerao VbVarType contm constantes utilizadas para identificar os vrios tipos de dados que
podem estar contidos em uma Variante. Estas constantes correspondem aos valores de retorno da
funo VarType e pode ser utilizado em qualquer parte do seu cdigo.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo do objeto Collection

Este exemplo cria um objeto Collection (MinhasClasses) e, em seguida, cria uma caixa de dilogo
na qual os usurios podem adicionar objetos coleo. Para ver como isto funciona, escolha o
comando Mdulo de classe no menu Inserir e declare uma varivel pblica denominada
NomeDaInstncia em nvel de mdulo de Class 1 (digite Public NomeDaInstncia) para conter
o nome de cada instncia. Deixe o nome padro como Class1. Copie e cole o cdigo a seguir na
seo Geral de outro mdulo e, em seguida, inicie-o com a instruo ClassNamer em outro
procedimento. (Este exemplo funciona somente com aplicativos host que suportam classes.)
Sub ClassNamer()
Dim MinhasClasses As New Collection ' Cria um objeto Collection.
Dim Num ' Contador para chaves de individualizao.
Dim Msg As String ' Varivel para conter seqncia de caracteres de
aviso.
Dim ONome, MeuObjeto, ListaDeNomes ' Variants para conter
informaes.
Do
Dim Inst As New Class1 ' Cria uma nova instncia de 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 do objeto.
' Se o usurio inseriu um 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 prxima.
Set Inst = Nothing
Loop Until ONome = ""
For Each MeuObjeto In MinhasClasses ' Cria a lista de nomes.
ListaDeNomes = ListaDeNomes & MeuObjeto.NomeDaInstncia & Chr(13)
Next MeuObjeto
' Exibe a lista de nomes em uma caixa de mensagem.
MsgBox ListaDeNomes, , "Nomes de instncia na coleo MinhasClasses"

For Num = 1 To MinhasClasses.Count ' Remove o nome da coleo.
MinhasClasses.Remove 1 ' Como as colees so reindexadas
' automaticamente, remove o primeiro
Next ' membro de cada iterao.
End Sub

Exemplo do objeto Err

Este exemplo utiliza as propriedades do objeto Err na construo de uma caixa de dilogo de
mensagem de erro. Observe que se voc utilizar primeiro o mtodo Clear, ao gerar um erro do Visual
Basic com o mtodo Raise, os valores padro do Visual Basic se tornaro as propriedades do objeto
Err.
Dim Msg
' Se ocorrer um erro, construa uma mensagem de erro
On Error Resume Next ' Adia o tratamento do erro.
Err.Clear
Err.Raise 6 ' Gera um erro "Sobrecarga".
' Procura pelo erro e, em seguida, exibe a mensagem.
If Err.Number <> 0 Then
Msg = "Erro # " & Str(Err.Number) & " foi gerado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Erro", Err.Helpfile, Err.HelpContext
End If

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Valor especificado como argumento para a instruo
Error. Pode ser qualquer nmero de erro vlido.
Source Nome do projeto atual do Visual Basic.
Description Uma seqncia de caracteres correspondente ao retorno
da funo Error para o Number especificado, se essa
seqncia existir. Se no existir, a Description conter
"Erro de definio de aplicativo ou de definio de
objeto".
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
HelpFile Unidade de disco, caminho e nome de arquivo completos
do arquivo de Ajuda do Visual Basic.
HelpContext Identificao do contexto do arquivo de Ajuda do Visual
Basic referente ao erro correspondente propriedade
Number.
LastDLLError Somente em sistemas operacionais Microsoft Windows
de 32 bits, contm o cdigo de erro de sistema referente
ltima chamada a uma biblioteca de vnculo dinmico
(DLL). A propriedade LastDLLError somente leitura.

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" ' Inicializa variveis com seqncias de
caracteres.
MeuNmero = Var1 + Var2 ' Retorna "346" (concatenao de seqncias de
caracteres).

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo do operador -

Este exemplo utiliza o operador - para calcular a diferena entre dois nmeros.
Dim MeuResultado
MeuResultado = 4 - 2 ' Retorna 2.
MeuResultado = 459.35 - 334.90 ' Retorna 124,45.

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.


Exemplo do operador Mod

Este exemplo utiliza o operador Mod para dividir dois nmeros e retornar somente o resto. Se algum
dos nmeros for de vrgula flutuante, ele ser primeiro arredondado para inteiro.
Dim MeuResultado
MeuResultado = 10 Mod 5 ' Retorna 0.
MeuResultado = 10 Mod 3 ' Retorna 1.
MeuResultado = 12 Mod 4.3 ' Retorna 0.
MeuResultado = 12.6 Mod 5 ' Retorna 3.

Exemplo do operador &

Este exemplo utiliza o operador & para forar a concatenao de seqncias de caracteres.
Dim MinhaSeq
MinhaSeq = "Al" & " Mundo" ' Retorna "Al Mundo".
MinhaSeq = "Controle " & 123 & " Controle" ' Retorna "Controle 123
Controle".

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo de operadores de comparao

Este exemplo mostra vrios usos dos operadores de comparao, que voc utiliza para comparar
expresses.
Dim MeuResultado, Var1, Var2
MeuResultado = (45 < 35) ' Retorna False.
MeuResultado = (45 = 45) ' Retorna True.
MeuResultado = (4 <> 3) ' Retorna True.
MeuResultado = ("5" > "4") ' Retorna True.

Var1 = "5": Var2 = 4 ' Inicializa as variveis.
MeuResultado = (Var1 > Var2) ' Retorna True.

Var1 = 5: Var2 = Empty
MeuResultado = (Var1 > Var2) ' Retorna True.

Var1 = 0: Var2 = Empty
MeuResultado = (Var1 = Var2) ' Retorna True.


Exemplo do operador And

Este exemplo utiliza o operador And para executar uma conjuno lgica em duas expresses.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null ' Inicializa as variveis.
MeuControle = A > B And B > C ' Retorna True.
MeuControle = B > A And B > C ' Retorna False.
MeuControle = A > B And B > D ' Retorna Null.
MeuControle = A And B ' Retorna 8 (comparao bit a bit).


Exemplo do operador Eqv

Este exemplo utiliza o operador Eqv para executar a equivalncia lgica em duas expresses.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null ' Inicializa as variveis.
MeuControle = A > B Eqv B > C ' Retorna True.
MeuControle = B > A Eqv B > C ' Retorna False.
MeuControle = A > B Eqv B > D ' Retorna Null.
MeuControle = A Eqv B ' Retorna -3 (comparao bit a bit).


Exemplo do operador Imp

Este exemplo utiliza o operador Imp para executar a implicao lgica em duas expresses.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null ' Inicializa as variveis.
MeuControle = A > B Imp B > C ' Retorna True.
MeuControle = A > B Imp C > B ' Retorna False.
MeuControle = B > A Imp C > B ' Retorna True.
MeuControle = B > A Imp C > D ' Retorna True.
MeuControle = C > D Imp B > A ' Retorna Null.
MeuControle = B Imp A ' Retorna -1 (comparao bit a bit).

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo do operador Not

Este exemplo utiliza o operador Not para executar a negao lgica em uma expresso.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null ' Inicializa as variveis.
MeuControle = Not(A > B) ' Retorna False.
MeuControle = Not(B > A) ' Retorna True.
MeuControle = Not(C > D) ' Retorna Null.
MeuControle = Not A ' Retorna -11 (comparao bit a bit).


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 ' Inicializa as variveis
MeuControle = A > B Or B > C ' Retorna True.
MeuControle = B > A Or B > C ' Retorna True.
MeuControle = A > B Or B > D ' Retorna True.
MeuControle = B > D Or B > A ' Retorna Null.
MeuControle = A Or B ' Retorna 10 (comparao bit a bit).


Exemplo do operador Xor

Este exemplo utiliza o operador Xor para executar a excluso lgica em duas expresses.
Dim A, B, C, D, MeuControle
A = 10: B = 8: C = 6: D = Null ' Inicializa as variveis.
MeuControle = A > B Xor B > C ' Retorna False.
MeuControle = B > A Xor B > C ' Retorna True.
MeuControle = B > A Xor C > B ' Retorna False.
MeuControle = B > D Xor A > B ' Retorna Null.
MeuControle = A Xor B ' Retorna 2 (comparao bit a bit).


Exemplo do operador Like

Este exemplo utiliza o operador Like para comparar uma seqncia de caracteres com um padro.
Dim MeuControle
MeuControle = "aBBBa" Like "a*a" ' Retorna True.
MeuControle = "F" Like "[A-Z]" ' Retorna True.
MeuControle = "F" Like "[!A-Z]" ' Retorna False.
MeuControle = "a2a" Like "a#a" ' Retorna True.
MeuControle = "aM5b" Like "a[L-P]#[!c-e]" ' Retorna True.
MeuControle = "BAT123khg" Like "B?T*" ' Retorna True.
MeuControle = "CAT123khg" Like "B?T*" ' Retorna False.

Exemplo do operador Is

Este exemplo utiliza o operador Is para comparar duas referncias a objeto. Os nomes de variveis
de objeto so genricos e usados somente com finalidade ilustrativa.
Dim MeuObjeto, SeuObjeto, EsteObjeto, OutroObjeto, AqueleObjeto,
MeuControle
Set SeuObjeto = MeuObjeto ' Atribui referncias a objeto.
Set EsteObjeto = MeuObjeto
Set AqueleObjeto = OutroObjeto
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
MeuControle = SeuObjeto Is EsteObjeto ' Retorna True.
MeuControle = AqueleObjeto Is EsteObjeto ' Retorna False.
' Pressupe que MeuObjeto <> OutroObjeto
MeuControle = MeuObjeto Is AqueleObjeto ' Retorna False.

Resumo de operadores
Operadores Descrio

Operadores aritmticos Operadores utilizados para efetuar clculos matemticos.
Operadores de comparao Operadores utilizados para efetuar comparaes.
Operadores de
concatenao
Operadores utilizados para combinar seqncias de
caracteres.
Operadores lgicos Operadores utilizados para efetuar operaes lgicas.

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 (^) Igualdade (=) Not
Negao () Desigualdade (<>) And
Multiplicao e diviso (*, /) Menor que (<) Or
Diviso de inteiros (\) Maior que (>) Xor
Mdulo aritmtico (Mod) Menor que ou igual a (<=) Eqv
Adio e subtrao (+, ) Maior que ou igual a (>=) Imp
Concatenao de seqncias
de caracteres (&)
Like
Is


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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio; qualquer varivel numrica.
nmero Obrigatrio; qualquer expresso numrica.
expoente Obrigatrio; qualquer expresso numrica.

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 Obrigatrio; qualquer varivel numrica.
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

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

Ambas as expresses so tipos de dados
numricos (Byte, Boolean, Integer, Long,
Single, Double, Date, Currency ou Decimal)
Adiciona.
Ambas as expresses so String Concatena.
Uma expresso for um tipo de dados numrico
e a outra for qualquer Variant exceto Null
Adiciona.
Uma expresso for um String e a outra for
qualquer Variant exceto Null
Concatena.
Uma expresso for um Variant Empty Retorna a outra expresso
inalterada como resultado.
Uma expresso for um tipo de dados numrico
e a outra for um String
Um erro Type mismatch ocorre.
Qualquer uma das expresses for Null resultado Null.

Se ambas as expresses forem Variant, as regras a seguir se aplicam:
Se Ento

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Ambas as expresses Variant forem numricas Adiciona.
Ambas as expresses Variant forem seqncias de
caracteres
Concatena.
Uma expresso Variant for numrica e a outra for
uma seqncia de caracteres
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 Ento resultado ser

Um Single e um Long so
adicionados,
um Double.
O tipo de dados de resultado for uma
variante de Long, Single ou Date
que ultrapasse o intervalo permitido,
convertido a uma variante de
Double.
O tipo de dados de resultado for uma
variante de Byte que ultrapasse o
intervalo permitido,
convertido a uma variante de Integer.
O tipo de dados de resultado for uma
variante de Integer que ultrapasse o
intervalo permitido,
convertido a uma variante de Long.
Uma Date for adicionada a qualquer
tipo de dados,
um Date.

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 Obrigatrio; qualquer varivel numrica.
nmero Obrigatrio; qualquer expresso numrica.
nmero1 Obrigatrio; qualquer expresso numrica.
nmero2 Obrigatrio; qualquer expresso numrica.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Decimal. A seguir esto algumas excees a essa ordem:
Se Ento resultado ser

A subtrao envolve um Single e um
Long,
convertido para Double.
O tipo de dados de resultado for um
variante de Long, Single ou Date
que ultrapasse o intervalo permitido,
convertido para um Variant que
contm um Double.
O tipo de dados de resultado for uma
variante de Byte que ultrapasse o
intervalo permitido,
convertido para uma variante de
Integer.
O tipo de dados de resultado for uma
variante de Integer que ultrapasse o
intervalo permitido,
convertido para uma variante de
Long.
A subtrao envolve um Date e
qualquer outro tipo de dados,
um Date.
A subtrao envolve duas
expresses Date,
um Double.

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 Obrigatrio; qualquer varivel numrica.
nmero1 Obrigatrio; qualquer expresso numrica.
nmero2 Obrigatrio; qualquer expresso numrica.

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 Ento resultado ser

A multiplicao envolve um Single e um
Long,
convertido para um Double.
O tipo de dados de resultado for uma
variante de Long, Single ou Date que
ultrapasse o intervalo permitido,
convertido para um Variant contendo um
Double.
O tipo de dados de resultado for uma
variante de Byte que ultrapasse o
intervalo permitido,
convertido para uma variante de Integer.
O tipo de dados de resultado for uma
variante de Integer que ultrapasse o
intervalo permitido,
convertido para uma variante de Long.

Se uma ou ambas as expresses forem Null, resultado ser Null. Se uma expresso for Empty, ela
ser tratada como 0.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Observao A ordem de preciso utilizada pela multiplicao no a mesma utilizada pela adio e
subtrao.

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 Obrigatrio; qualquer varivel numrica.
nmero1 Obrigatrio; qualquer expresso numrica.
nmero2 Obrigatrio; qualquer expresso numrica.

Comentrios
O tipo de dados de resultado geralmente um Double ou uma variante de Double. A seguir so
apresentadas excees a essa regra:
Se Ento resultado ser

Ambas as expresses forem
expresses Byte, Integer ou Single,
Single, a menos que ele ultrapasse o
intervalo permitido; nesse caso, um
erro ser gerado.
Ambas as expresses forem
variantes de Byte, Integer ou Single,
uma variante de Single, a menos que
ela ultrapasse o intervalo permitido;
nesse caso, resultado ser um
Variant contendo um Double.
A diviso envolver um Decimal e
qualquer outro tipo de dados,
um tipo de dados Decimal.

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 Obrigatrio; qualquer varivel numrica.
nmero1 Obrigatrio; qualquer expresso numrica.
nmero2 Obrigatrio; qualquer expresso numrica.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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 Obrigatrio; qualquer varivel numrica.
nmero1 Obrigatrio; qualquer expresso numrica.
nmero2 Obrigatrio; qualquer expresso numrica.

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 Obrigatrio; qualquer varivel String ou Variant.
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio; qualquer varivel numrica.
expresso Obrigatrio; qualquer expresso.
operadordecomparao Obrigatrio; qualquer operador de comparao.
objeto Obrigatrio; qualquer nome de objeto.
seqnciadecaracteres Obrigatrio; qualquer expresso de seqncia
de caracteres.
padro Obrigatrio; qualquer expresso de seqncia
de caracteres ou intervalo de caracteres.

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

< (Menor que) expresso1 <
expresso2
expresso1 >=
expresso2
expresso1 ou
expresso2 = Null
<= (Menor
que ou igual
a)
expresso1 <=
expresso2
expresso1 >
expresso2
expresso1 ou
expresso2 = Null
> (Maior que) expresso1 >
expresso2
expresso1 <=
expresso2
expresso1 ou
expresso2 = Null
>= (Maior que
ou igual a)
expresso1 >=
expresso2
expresso1 <
expresso2
expresso1 ou
expresso2 = Null
= (Igual a) expresso1 =
expresso2
expresso1 <>
expresso2
expresso1 ou
expresso2 = Null
<> (Diferente
de)
expresso1 <>
expresso2
expresso1 =
expresso2
expresso1 ou
expresso2 = Null

Observao Os operadores Is e Like apresentam uma funcionalidade de comparao especfica
que os diferencia dos operadores dessa tabela.
Ao comparar duas expresses, voc pode no ser capaz de determinar com facilidade se as
expresses esto sendo comparadas como nmeros ou como seqncias de caracteres. A tabela a
seguir mostra como as expresses so comparadas ou o resultado quando uma das expresses no
um Variant:
Se Ento

Ambas as expresses so tipos de
dados numricos (Byte, Boolean,
Integer, Long, Single, Double,
Date, Currency ou Decimal)
Efetuam uma comparao
numrica.
Ambas as expresses so String Efetuam uma comparao de
seqncias de caracteres.
Uma expresso um tipo de dados
numrico e a outra um Variant que
, ou pode ser, um nmero
Efetuam uma comparao
numrica.
Uma expresso um tipo de dados Um erro Type Mismatch ocorre.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
numrico e a outra um Variant de
seqncia de caracteres que no
pode ser convertido para um nmero
Uma expresso um String e a
outra qualquer Variant exceto Null
Efetuam uma comparao de
seqncias de caracteres.
Uma expresso Empty e a outra
um tipo de dados numrico
Efetuam uma comparao
numrica, utilizando 0 como a
expresso Empty.
Uma expresso Empty e a outra
um String
Efetuam uma comparao de
seqncias de caracteres,
utilizando uma seqncia de
caracteres de comprimento zero
("") como a expresso Empty.

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

Ambas as expresses Variant so
numricas
Efetuam uma comparao
numrica.
Ambas as expresses Variant so
seqncias de caracteres
Efetuam uma comparao de
seqncias de caracteres.
Uma expresso Variant numrica
e a outra uma seqncia de
caracteres
A expresso numrica menor
que a expresso de seqncia
de caracteres.
Uma expresso Variant Empty e
a outra numrica
Efetuam uma comparao
numrica, utilizando 0 como a
expresso Empty.
Uma expresso Variant Empty e
a outra uma seqncia de
caracteres
Efetuam uma comparao de
seqncia de caracteres,
utilizando uma seqncia de
caracteres de comprimento zero
("") como a expresso Empty.
Ambas as expresses Variant so
Empty
As expresses so iguais.

Quando um Single comparado a um Double, o Double arredondado preciso de Single.
Se um Currency comparado com um Single ou Double, Single ou Double convertido para um
Currency. Da mesma forma, quando um Decimal comparado com um Single ou Double, o Single
ou Double convertido para um Decimal. Para Currency, qualquer valor fracionrio menor que
0,0001 pode ser perdido; para Decimal, qualquer valor fracionrio menor que 1E-28 pode ser perdido
ou um erro de sobrecarga pode ocorrer. Essa perda de valores fracionais pode fazer com que dois
valores sejam considerados iguais quando na verdade no o so.


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 Obrigatrio; qualquer varivel numrica.
expresso1 Obrigatrio; qualquer expresso.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
expresso2 Obrigatrio; qualquer expresso.

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
True False False
True Null Null
False True False
False False False
False Null False
Null True Null
Null False False
Null Null 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 0
0 1 0
1 0 0
1 1 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 Obrigatrio; qualquer varivel numrica
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

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 True
True False False
False True False
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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

0 0 1
0 1 0
1 0 0
1 1 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 Obrigatrio; qualquer varivel numrica
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

Comentrios
A tabela a seguir mostra como resultado determinado:
Se expresso1 for E expresso2 for O resultado ser

True True True
True False False
True Null Null
False True True
False False True
False Null True
Null True True
Null False Null
Null 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 E o bit na expresso2 for O resultado ser

0 0 1
0 1 1
1 0 0
1 1 1

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio; qualquer varivel numrica.
expresso1 Obrigatrio; qualquer expresso.

Comentrios
A tabela a seguir mostra como resultado determinado:
Se expresso for Ento resultado ser

True False
False True
Null 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 o bit em resultado
ser

0 1
1 0


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 Obrigatrio; qualquer varivel numrica.
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

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 Ento resultado ser

True True True
True False True
True Null True
False True True
False False False
False Null Null
Null True True
Null False Null
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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
E o bit na
expresso2 for
Ento resultado ser
0 0 0
0 1 1
1 0 1
1 1 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 Opcional; qualquer varivel numrica.
expresso1 Obrigatrio; qualquer expresso.
expresso2 Obrigatrio; qualquer expresso.

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 Ento resultado ser

True True False
True False True
False True True
False False 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 0
0 1 1
1 0 1
1 1 0

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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

resultado Obrigatrio; qualquer varivel numrica.
objeto1 Obrigatrio; qualquer nome de objeto.
objeto2 Obrigatrio; qualquer nome de objeto.

Comentrios
Se tanto objeto1 quanto objeto2 referem-se ao mesmo objeto, resultado ser True; caso contrrio,
resultado ser False. Duas variveis podem se referir ao mesmo objeto de diversas formas.
No exemplo a seguir, A foi definido de forma a se referir ao mesmo objeto que B:
Set A = B

O exemplo a seguir faz com que A e B se refiram ao mesmo objeto que C:
Set A = C
Set B = C



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 Obrigatrio; qualquer varivel numrica.
seqnciadecaracteres Obrigatrio; qualquer expresso de seqncia
de caracteres.
padro Obrigatrio; qualquer expresso de seqncia
de caracteres que esteja de acordo com as
convenes de correspondncia de padro
descritas em "Comentrios".

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
seguinte texto de ordem de classificao produzido:
(A=a) < (=) < (B=b) < (E=e) < (=) < (Z=z) < (=)

A correspondncia de padro interna representa uma ferramenta verstil para comparaes de
seqncias de caracteres. Os recursos de correspondncia de padro permitem que voc utilize
caracteres curinga, listas de caracteres ou intervalos de caracteres, em qualquer combinao, para
fazer a correspondncia de seqncias de caracteres. A tabela a seguir mostra os caracteres
permitidos em padro e a o que eles correspondem:
Caracteres
em padro
Correspondem na seqnciadecaracteres a

? Qualquer caractere nico.
* Zero ou mais caracteres.
# Qualquer dgito nico (09).
[listadecarac] Qualquer caractere nico em listadecarac.
[!listadecarac] Qualquer caractere nico que no esteja em 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
realizada se qualquer caractere, com exceo daqueles em listadecarac, for encontrado em
seqnciadecaracteres. Quando utilizado fora de colchetes, o ponto de exclamao corresponde a
si mesmo.
Um hfen () pode aparecer tanto no incio (aps um ponto de exclamao, se um for utilizado)
quanto no final de listadecarac para corresponder a si mesmo. Em qualquer outra localizao, o
hfen utilizado para identificar um intervalo de caracteres.
Quando um intervalo de caracteres especificado, estes devem aparecer em uma ordem de
classificao crescente (do menor para o maior). [A-Z] um padro vlido, mas [Z-A] no o .
A seqncia de caracteres [] considerada uma seqncia de caracteres de comprimento zero
("").

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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da propriedade Count

Este exemplo utiliza a propriedade Count do objeto Collection para especificar quantas iteraes
so requeridas para remover todos os elementos da coleo MinhasClasses. Quando as colees
so indexadas numericamente, a base 1 como padro. Como as colees so reindexadas
automaticamente quando feita uma remoo, o cdigo a seguir remove o primeiro membro em cada
iterao.
Dim Num, MinhasClasses
For Num = 1 To MinhasClasses.Count ' Remove o nome da coleo.
MinhasClasses.Remove 1 ' Os ndices numricos da coleo padro
Next ' comeam em 1.


Exemplo da propriedade Description

Este exemplo atribui uma mensagem definida pelo usurio propriedade Description do objeto Err.
Err.Description = "No foi possvel acessar um objeto necessrio " _
& "para esta operao".


Exemplo da propriedade HelpContext

Este exemplo utiliza a propriedade HelpContext do objeto Err para mostrar o tpico da Ajuda do
Visual Basic relativo ao erro Sobrecarga.
Dim Msg
Err.Clear
On Error Resume Next
Err.Raise 6 ' Gera o erro "Sobrecarga".
If Err.Number <> 0 Then
Msg = "Pressione F1 ou Ajuda para ver " & Err.HelpFile & " o tpico
relativo ao" & _
" seguinte ContextoDaAjuda: " & Err.HelpContext
MsgBox Msg, , "Erro: " & Err.Description, Err.HelpFile, _
Err.HelpContext
End If


Exemplo da propriedade HelpFile

Este exemplo utiliza a propriedade HelpFile do objeto Err para iniciar o sistema de Ajuda do Microsoft
Windows. Como padro, a propriedade HelpFile contm o nome do arquivo de Ajuda do Visual Basic.
Dim Msg
Err.Clear
On Error Resume Next ' Suprime os erros por finalidade demonstrativa.
Err.Raise 6 ' Gera o erro "Sobrecarga".
Msg = "Pressione F1 ou Ajuda para ver " & Err.HelpFile & _
" o tpico relativo a este erro"
MsgBox Msg, , "Erro: " & Err.Description,Err.HelpFile, Err.HelpContext

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da propriedade LastDLLError

Quando colado em um mdulo UserForm, o cdigo a seguir ocasiona a tentativa de chamar uma
funo DLL. A chamada falha porque o argumento que passado (um ponteiro nulo) gera um erro e,
em qualquer evento, a SQL no pode ser cancelada se no estiver sendo executada. O cdigo
seguinte chamada verifica o retorno da chamada e, em seguida, impresso na propriedade
LastDLLError do objeto Err para revelar o cdigo do erro.

Private Declare Function SQLCancel Lib "ODBC32.dll" _
(ByVal hstmt As Long) As Integer

Private Sub UserForm_Click()
Dim ValRet
' Chama com argumento invlido.
ValRet = SQLCancel(myhandle&)
' Procura pelo cdigo de erro SQL.
If ValRet = -2 Then
'Exibe o cdigo de informaes.
MsgBox "O cdigo do erro :" & Err.LastDllError
End If
End Sub


Exemplo da propriedade Number

O primeiro exemplo ilustra um uso tpico da propriedade Number em uma rotina de tratamento de
erros. O segundo exemplo examina a propriedade Number do objeto Err para determinar se um erro
retornado por um objeto de Automao foi definido pelo objeto ou se foi mapeado para um erro
definido pelo Visual Basic. Observe que a constante vbObjectError um nmero negativo muito
grande que um objeto adiciona ao seu prprio cdigo de erro para indicar que o erro definido pelo
servidor. Portanto, subtra-lo de Err.Number o exclui do resultado. Se o erro for definido pelo objeto,
o nmero base ser deixado em MeuErro, que exibido em uma caixa de mensagem junto com a
fonte original do erro. Se Err.Number representa um erro do Visual Basic, ento o nmero do erro do
Visual Basic exibido na caixa de mensagem.
' Uso tpico da propriedade Number
Sub test()
On Error GoTo out

Dim x, y
x = 1 / y ' Cria o erro de diviso por zero
Exit Sub
out:
MsgBox Err.Number
MsgBox Err.Description
' Procura pelo erro de diviso por zero
If Err.Number = 11 Then
y = y + 1
End If
Resume
End Sub



' Utilizando a propriedade Number com um erro de um
' objeto de Automao
Dim MeuErro, Msg
' Primeiro exclua a constante adicionada pelo objeto para indicar um dos
' seus prprios erros.
MeuErro = Err.Number - vbObjectError
' Se voc subtrair a constante vbObjectError e o nmero continuar
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
' no intervalo 0-65,535, trata-se de um cdigo de erro definido pelo
objeto.
If MeuErro > 0 And MeuErro < 65535 Then
Msg = "O objeto que voc acessou atribuiu este nmero ao erro: " _
& MeuErro & ". Quem deu origem ao erro foi: " _
& Err.Source & ". Pressione F1 para ver o tpico da Ajuda que deu
origem".
' Caso contrrio, o nmero de erro do Visual Basic.
Else
Msg = "Este erro (# " & Err.Number & ") um nmero de erro do Visual
Basic" & _
" Pressione o boto Ajuda ou F1 para obter o" _
& " tpico da Ajuda do Visual Basic sobre este erro.
End If
MsgBox Msg, , "Erro de objeto", Err.HelpFile, Err.HelpContext


Exemplo da propriedade Source

Este exemplo atribui a identificao Programtica de um objeto de Automao criado no Visual Basic
varivel MeuCdigoDeObjeto e, em seguida, o atribui propriedade Source do objeto Err quando
gera um erro com o mtodo Raise. Quando estiver tratando de erros, voc no deve usar a
propriedade Source (nem nenhuma propriedade Err diferente de Number) programaticamente. O
nico uso vlido de propriedades diferentes de Number a exibio de informaes ricas para um
usurio final nos casos em que voc no conseguir tratar um erro. O exemplo assume que
Aplicativo e MinhaClasse so referncias vlidas.
Dim MinhaClasse, MeuCdigoDeObjeto, MeuArquivoDeAjuda, MeuContextoDeAjuda
' Um objeto do tipo MinhaClasse gera um erro e preenche todas as
propriedades do objeto Err,
' incluindo Source, que recebe MeuCdigoDeObjeto, que uma
' combinao da propriedade Title do objeto App e da
' propriedade do objeto MinhaClasse.
MeuCdigoDeObjeto = App.Title & "." & MinhaClasse.Name
Err.Raise Number := vbObjectError + 894, Source := MeuCdigoDeObjeto, _
Description := "No foi possvel completar a sua tarefa", _
HelpFile := MeuArquivoDeAjuda, HelpContext :=
MeuContextoDeAjuda


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 0 Use o calendrio Gregoriano (padro).
vbCalHijri 1 Use o calendrio Hijri.

Observaes
Voc somente pode configurar a propriedade Calendar atravs de programa. Por exemplo, para usar
o calendrio Hijri, use:
Calendar = vbCalHijri
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo DeleteSetting

O exemplo a seguir primeiro utiliza a instruo SaveSetting para criar entradas no Registro do
Windows (ou no arquivo .ini nas plataformas Windows de 16 bits) para o aplicativo MeuAplicativo
e, em seguida, utiliza a instruo DeleteSetting para remov-las. Como no h argumento key
especificado, toda a seo excluda, incluindo o nome da seo e todas as suas chaves.
' Insere algumas definies no Registro.
SaveSetting appname := "MeuAplicativo", section := "Inicializao", _
key := "Superior", setting := 75
SaveSetting "MeuAplicativo","Inicializao", "Esquerda", 50
' Remove a seo e todas as suas definies do Registro.
DeleteSetting "MeuAplicativo", "Inicializao"


Exemplo da funo GetAllSettings

Este exemplo primeiro utiliza a instruo SaveSetting para criar entradas no Registro do Windows
(ou no arquivo .ini nas plataformas Windows de 16 bits) para o aplicativo especificado como
appname e, em seguida, utiliza a funo GetAllSettings para exibir as configuraes. Observe que
os nomes de aplicativo e os nomes de section no podem ser recuperados com GetAllSettings. Por
fim, a instruo DeleteSetting remove as entradas do aplicativo.
' Variant para conter uma matriz bidimensional retornada por GetAllSettings
' Integer para conter o contador.
Dim MinhasDefinies As Variant, DefiniesInt As Integer
' Insere algumas definies no Registro.
SaveSetting appname := "MeuAplicativo", section := "Inicializao", _
key := "Superior", setting := 75
SaveSetting "MeuAplicativo","Inicializao", "Esquerda", 50
' Recupera as definies.
MinhasDefinies = GetAllSettings(appname := "MeuAplicativo", section :=
"Inicializao")
For DefiniesInt = LBound(MinhasDefinies, 1) To
UBound(MinhasDefinies, 1)
Debug.Print MinhasDefinies(DefiniesInt, 0),
MinhasDefinies(DefiniesInt, 1)
Next DefiniesInt
DeleteSetting "MeuAplicativo", "Inicializao"

Exemplo da funo GetSetting

Este exemplo primeiro utiliza a instruo SaveSetting para criar entradas no Registro do Windows
(ou no arquivo .ini nas plataformas Windows de 16 bits) para o aplicativo especificado como
appname e, em seguida, utiliza a funo GetSetting para exibir uma das definies. Como o
argumento default especificado, algum valor certamente ser retornado. Observe que os nomes de
section no podem ser recuperados com GetSetting. Por fim, a instruo DeleteSetting remove
todas as entradas do aplicativo.
' Variant para conter uma matriz bidimensional retornada por GetSetting.
Dim MinhasDefinies As Variant
' Insira algumas definies no Registro.
SaveSetting "MeuAplicativo","Inicializao", "Superior", 75
SaveSetting "MeuAplicativo","Inicializao", "Esquerda", 50

Debug.Print GetSetting(appname := "MeuAplicativo", section :=
"Inicializao", _
key := "Esquerda", default := "25")

DeleteSetting "MeuAplicativo", "Inicializao"
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Exemplo da instruo SaveSetting

O exemplo a seguir primeiro utiliza a instruo SaveSetting para criar entradas no Registro do
Windows (ou no arquivo .ini nas plataformas Windows de 16 bits) para o aplicativo MeuAplicativo
e, em seguida, utiliza a instruo DeleteSetting para remov-las.
' Insere algumas definies no Registro.
SaveSetting appname := "MeuAplicativo", section := "Inicializao", _
key := "Superior", setting := 75
SaveSetting "MeuAplicativo","Inicializao", "Esquerda", 50
' Remove a seo e todas as suas definies do Registro.
DeleteSetting "MeuAplicativo", "Inicializao"


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 Descrio

appname 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.
section 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.
key 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 Descrio

appname Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto cujas definies de
chave so solicitadas.
section 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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
contendo todas as definies de chave da seo especificada
e seus valores correspondentes.

Comentrios
GetAllSettings retorna um Variant no inicializada se appname ou section no existir.

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 Descrio

appname Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto cuja definio de
chave solicitada.
section Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo onde se encontra a definio de
chave.
key Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da definio de chave a ser retornada.
default 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 Descrio

appname Obrigatrio. Espresso de seqncia de caracteres que
contm o nome do aplicativo ou projeto ao qual se aplica a
definio.
section Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da seo em que a definio da chave est
sendo salva.
key Obrigatrio. Espresso de seqncia de caracteres que
contm o nome da definio de chave sendo salva.
setting 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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Chr

Este exemplo utiliza a funo Chr para retornar o caractere associado ao cdigo de caractere
especificado.
Dim MeuCar
MeuCar = Chr(65) ' Retorna A.
MeuCar = Chr(97) ' Retorna a.
MeuCar = Chr(62) ' Retorna >.
MeuCar = Chr(37) ' Retorna %.


Exemplo da funo Format

Este exemplo mostra vrios usos da funo Format para formatar valores utilizando tanto formatos
nomeados quanto formatos definidos pelo usurio. Para o separador de data (/), separador de hora (:)
e literal AM/PM, a sada formatada real exibida pelo seu sistema depende das definies da
localidade em que o cdigo est sendo executado. Quando as horas e datas so exibidas no
ambiente de desenvolvimento, so usados o formato de hora abreviada e o formato de data
abreviada da localidade do cdigo. Quando exibidas pela execuo do cdigo, so usados o formato
de hora abreviada e o formato de data abreviada da localidade do sistema, que podem diferir da
localidade do cdigo. Para este exemplo, pressupe-se Ingls/E.U.A.
MinhaHora e MinhaData so exibidas no ambiente de desenvolvimento usando-se a definio de
hora abreviada e a definio de data abreviada.
Dim MinhaHora, MinhaData, MinhaSeq
MinhaHora = #17:04:23#
MinhaData = #Janeiro 27, 1993#

' Retorna a hora atual do sistema no formato de hora completa definido pelo
usurio.
MinhaSeq = Format(Time, "Long Time")

' Retorna a data atual do sistema no formato de data completa definido pelo
usurio.
MinhaSeq = Format(Date, "Long Date")

MinhaSeq = Format(MinhaHora, "h:m:s") ' Retorna "17:4:23".
MinhaSeq = Format(MinhaHora, "hh:mm:ss AM/PM") ' Retorna "05:04:23 PM".
MinhaSeq = Format(MinhaData, "dddd, mmm d yyyy") ' Retorna "Quarta-
feira,
' 27 jan 1993".
' Se o formato no for fornecido, retornada uma seqncia de caracteres.
MinhaSeq = Format(23) ' Retorna "23".

' Formatos definidos pelo usurio.
MinhaSeq = Format(5459.4, "##,##0.00") ' Retorna "5,459.40".
MinhaSeq = Format(334.9, "###0.00") ' Retorna "334.90".
MinhaSeq = Format(5, "0.00%") ' Retorna "500.00%".
MinhaSeq = Format("AL", "<") ' Retorna "al".
MinhaSeq = Format(" isto", ">") ' Retorna " ISTO".

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da funo Hex

Este exemplo utiliza a funo Hex para retornar o valor hexadecimal de um nmero.
Dim MeuHex
MeuHex = Hex(5) ' Retorna 5.
MeuHex = Hex(10) ' Retorna A.
MeuHex = Hex(459) ' Retorna 1CB.


Exemplo da funo InStr

Este exemplo utiliza a funo InStr para retornar a posio da primeira ocorrncia de uma seqncia
de caracteres dentro de outra.
Dim SeqnciaDePesquisa, CarDePesquisa, MinhaPos
SeqnciaDePesquisa ="XXpXXpXXPXXP" ' Seqncia de caracteres a pesquisar.
CarDePesquisa = "P" ' Procurar por "P".

' Uma comparao textual iniciando na posio 4. Retorna 6.
MinhaPos = Instr(4, SeqnciaDePesquisa, CarDePesquisa, 1)

' Uma comparao de binrios iniciando na posio 1. Retorna 9.
MinhaPos = Instr(1, SeqnciaDePesquisa, CarDePesquisa, 0)

' A comparao binria como padro (o ltimo argumento omitido).
MinhaPos = Instr(SeqnciaDePesquisa, CarDePesquisa) ' Retorna 9.

MinhaPos = Instr(1, SeqnciaDePesquisa, "W") ' Retorna 0.


Exemplo da funo LCase

Este exemplo utiliza a funo LCase para retornar uma verso em mnusculas de uma seqncia de
caracteres.
Dim Maisculas, Minsculas
Maisculas = "Al Mundo 1234" ' Seqncia de caracteres a converter.
Minsculas = Lcase(Maisculas) ' Retorna "al mundo 1234".


Exemplo da funo Left

Este exemplo utiliza a funo Left para retornar um nmero especificado de caracteres do lado
esquerdo de uma seqncia de caracteres.
Dim QualquerSeqncia, MinhaSeq
QualquerSeqncia = "Al Mundo" ' Define a seqncia de caracteres.
MinhaSeq = Left(QualquerSeqncia, 1) ' Retorna "A".
MinhaSeq = Left(QualquerSeqncia, 5) ' Retorna "Al M".
MinhaSeq = Left(QualquerSeqncia, 20) ' Retorna "Al Mundo".

Exemplo da funo Len

Este exemplo utiliza a funo Len para retornar o nmero de caracteres de uma seqncia de
caracteres ou o nmero de bytes necessrios para armazenar uma varivel. O bloco Type...End
Type que define RegistroDoCliente deve ser precedido pela palavra-chave Private se aparecer em
um mdulo de classe. Em um mdulo padro, uma instruo Type pode ser Public.
Type RegistroDoCliente ' Define o tipo definido pelo usurio.
ID As Integer ' Coloca esta definio em um
Name As String * 10 ' mdulo padro.
Address As String * 30
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
End Type

Dim Cliente As RegistroDoCliente ' Declara as variveis.
Dim MeuInt As Integer, MeuCur As Currency
Dim MinhaSeqncia, MeuComp
MinhaSeqncia = "Al Mundo" ' Inicializa a varivel.
MeuComp = Len(MeuInt) ' Retorna 2.
MeuComp = Len(Cliente) ' Retorna 42.
MeuComp = Len(MinhaSeqncia) ' Retorna 9.
MeuComp = Len(MeuCur) ' Retorna 8.

Exemplo da instruo LSet

Este exemplo utiliza a instruo LSet para alinhar esquerda uma seqncia de caracteres dentro de
uma varivel de seqncia de caracteres. Ainda que LSet possa ser utilizada para copiar uma
varivel de um tipo definido pelo usurio em outra varivel de um tipo definido pelo usurio diferente
mas compatvel, esta prtica no recomendada. Devido variedade de implementaes de
estruturas de dados entre plataformas, no se pode garantir a portabilidade desse uso de LSet.
Dim MinhaSeqncia
MinhaSeqncia = "0123456789" ' Inicializa a seqncia de caracteres.
Lset MinhaSeqncia = "<-Left" ' MinhaSeqncia contm "<-Left ".


Exemplo das funes LTrim, RTrim e Trim

Este exemplo utiliza a funo LTrim para retirar os espaos esquerda e a funo RTrim para retirar
os espaos direita de uma varivel de seqncia de caracteres. Ele utiliza a funo Trim para
retirar ambos os tipos de espaos.
Dim MinhaSeqncia, SuprimirSeqncia
MinhaSeqncia = " <-Trim-> " ' Inicializa a seqncia de caracteres.
SuprimirSeqncia = LTrim(MinhaSeqncia) ' SuprimirSeqncia = "<-Trim->
".
SuprimirSeqncia = RTrim(MinhaSeqncia) ' SuprimirSeqncia = " <-Trim-
>".
SuprimirSeqncia = LTrim(RTrim(MinhaSeqncia)) ' SuprimirSeqncia =
"<-Trim->".
' O uso da funo Trim sozinha implica o mesmo resultado.
SuprimirSeqncia = Trim(MinhaSeqncia) ' SuprimirSeqncia = "<-Trim->".

Exemplo da funo Mid

Este exemplo utiliza a funo Mid para retornar um nmero especificado de caracteres de uma
seqncia de caracteres.
Dim MinhaSeqncia, PrimeiraPalavra, ltimaPalavra, PalavrasDoMeio
MinhaSeqncia = "Demonstrao da funo Mid" ' Cria a seqncia de
caracteres de texto.
PrimeiraPalavra = Mid(MinhaSeqncia, 1, 12) ' Retorna "Demonstrao".
ltimaPalavra = Mid(MinhaSeqncia, 24, 3) ' Retorna "Mid".
PalavrasDoMeio = Mid(MinhaSeqncia, 14) ' Retorna "da funo Mid".

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo da instruo Mid

Este exemplo utiliza a instruo Mid para substituir um nmero especificado de caracteres de uma
varivel de seqncia de caracteres por caracteres de outra seqncia de caracteres.
Dim MinhaSeqncia
MinhaSeqncia = "O gato salta" ' Inicializa a seqncia de caracteres.
Mid(MinhaSeqncia, 3, 4) = "sapo" ' MinhaSeqncia = "O sapo salta".
Mid(MinhaSeqncia, 3) = "rato" ' MinhaSeqncia = "O rato salta".
Mid(MinhaSeqncia, 3) = "rato saltou sobre" ' MinhaSeqncia = "O rato
salto".
Mid(MinhaSeqncia, 3, 4) = "ganso" ' MinhaSeqncia = "O gans salto".


Exemplo da funo Oct

Este exemplo utiliza a funo Oct para retornar o valor octal de um nmero.
Dim MeuOctal
MeuOctal = Oct(4) ' Retorna 4.
MeuOctal = Oct(8) ' Retorna 10.
MeuOctal = Oct(459) ' Retorna 713.

Exemplo da funo Right

Este exemplo utiliza a funo Right para retornar um nmero especificado de caracteres do lado
direito de uma seqncia de caracteres.
Dim QualquerSeqncia, MinhaSeq
QualquerSeqncia = "Al Mundo" ' Define a seqncia de caracteres.
MinhaSeq = Right(QualquerSeqncia, 1) ' Retorna "o".
MinhaSeq = Right(QualquerSeqncia, 6) ' Retorna " Mundo".
MinhaSeq = Right(QualquerSeqncia, 20) ' Retorna "Al Mundo".

Exemplo da instruo RSet

Este exemplo utiliza a instruo RSet para alinhar direita uma seqncia de caracteres dentro de
uma varivel de seqncia de caracteres.
Dim MinhaSeqncia
MinhaSeqncia = "0123456789" ' Inicializa a seqncia de caracteres.
Rset MinhaSeqncia = "Right->" ' MinhaSeqncia contm " Right->".

Exemplo da funo Space

Este exemplo utiliza a funo Space para retornar uma seqncia de caracteres que consiste em um
nmero especificado de espaos.
Dim MinhaSeqncia
' Retorna a seqncia de caracteres com 10 espaos.
MinhaSeqncia = Space(10)

' Insere 10 espaos entre duas seqncias de caracteres.
MinhaSeqncia = "Al" & Space(10) & "Mundo"


Exemplo da funo Str

Este exemplo utiliza a funo Str para retornar uma representao em seqncia de caracteres de
um nmero. Quando um nmero convertido em uma seqncia de caracteres, um espao
esquerda sempre reservado para o seu sinal.
Dim MinhaSeqncia
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
MinhaSeqncia = Str(459) ' Retorna " 459".
MinhaSeqncia = Str(-459.65) ' Retorna "-459.65".
MinhaSeqncia = Str(459.001) ' Retorna " 459.001".


Exemplo da funo StrComp

Este exemplo utiliza a funo StrComp para retornar os resultados de uma comparao de
seqncias de caracteres. Se o terceiro argumento for 1, ser executada uma comparao textual; se
for 0 ou omitido, ser executada uma comparao binria.
Dim MinhaSeq1, MinhaSeq2, MinhaComp
MinhaSeq1 = "ABCD": MinhaSeq2 = "abcd" ' Define as variveis.
MinhaComp = StrComp(MinhaSeq1, MinhaSeq2, 1) ' Retorna 0.
MinhaComp = StrComp(MinhaSeq1, MinhaSeq2, 0) ' Retorna -1.
MinhaComp = StrComp(MinhaSeq2, MinhaSeq1) ' Retorna 1.


Exemplo da funo String

Este exemplo utiliza a funo String para retornar as seqncias de caracteres repetidos com o
comprimento especificado.
Dim MinhaSeqncia
MinhaSeqncia = String(5, "*") ' Retorna "*****".
MinhaSeqncia = String(5, 42) ' Retorna "*****".
MinhaSeqncia = String(10, "ABC") ' Retorna "AAAAAAAAAA".


Exemplo da funo UCase

Este exemplo utiliza a funo UCase para retornar uma verso em maisculas de uma seqncia de
caracteres.
Dim Minsculas, Maisculas
Minsculas = "Al Mundo 1234" ' Seqncia de caracteres a converter.
Maisculas = UCase(Minsculas) ' Retorna "AL MUNDO 1234".


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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatria. Qualquer expresso vlida.
formato Opcional. Uma expresso vlida de formato
nomeado ou definido pelo usurio.
primeirodiadasemana Opcional. Uma constante que especifica o primeiro
dia da semana.
primeirasemanadoano Opcional. Uma constante que especifica a primeira
semana do ano.

Definies
O argumento primeirodiadasemana possui as definies a seguir:
Constante Valor Descrio

vbUseSystem 0 Utilizar definio de API NLS.
VbSunday 1 Domingo (padro)
vbMonday 2 Segunda-feira
vbTuesday 3 Tera-feira
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 Sbado

O argumento primeirasemanadoano possui as definies a seguir:
Constante Valor Descrio

vbUseSystem 0 Utilizar definio de API NLS.
VbFirstJan1 1 Iniciar com a semana de 1o de janeiro
(padro).
VbFirstFourDays 2 Iniciar com a primeira semana do ano de
pelo menos quatro dias.
vbFirstFullWeek 3 Iniciar com a primeira semana completa do
ano.

Comentrios
Para formatar Faa isto

Nmeros Utilize formatos numricos predefinidos nomeados ou
crie formatos numricos definidos pelo usurio.
Data e hora Utilize formatos de data/hora predefinidos nomeados
ou crie formatos de data/hora definidos pelo usurio.
Nmeros de srie
de data e hora
Utilize formatos numricos ou formatos de data e
hora.
Seqncias de
caracteres
Crie seus prprios formatos de seqncia de
caracteres definidos pelo usurio.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
esquerda.

Formatos numricos nomeados (funo Format)
A tabela a seguir identifica os nomes de formatos numricos predefinidos:
Nome do formato Descrio

General Number Exibe nmero sem separador de milhar.
Currency Exibe nmero com separador de milhar, se for o
caso; exibe dois dgitos direita do separador
decimal. A sada baseada nas definies de
localidade do sistema.
Fixed Exibe pelo menos um dgito esquerda e dois
direita do separador decimal.
Standard Exibe o nmero com separador de milhar, pelo
menos um dgito esquerda e dois direita do
separador decimal.
Percent Exibe o nmero multiplicado por 100 com um sinal de
porcentagem (%) direita; exibe sempre dois dgitos
direita do separador decimal.
Scientific Utiliza notao cientfica padro.
Yes/No Exibe No se o nmero for 0; caso contrrio, exibe
Sim.
True/False Exibe False se o nmero for 0; caso contrrio, exibe
True.
On/Off Exibe Desativado se o nmero for 0; caso contrrio,
exibe Ativado.


Formatos numricos definidos pelo usurio (funo Format)
A tabela a seguir identifica caracteres que voc pode utilizar para criar formatos numricos definidos
pelo usurio:
Caractere Descrio

Nenhum Exibe o nmero sem formatao.
(0) Espao reservado para dgito. Exibe um dgito ou um zero. Se
a expresso apresenta um dgito na posio onde o 0
aparece na seqncia de caracteres de formato, exibe-o;
caso contrrio, exibe um zero nessa posio.
Se o nmero apresenta menos dgitos do que os zeros
existentes (de qualquer lado do decimal) na expresso de
formato, exibe zeros esquerda ou direita. Se o nmero
apresenta mais dgitos direita do separador decimal do que
zeros direita do separador decimal na expresso de
formato, arredonda o nmero em tantas casas decimais
quanto for o nmero de zeros. Se o nmero apresenta mais
dgitos esquerda do separador decimal do que zeros
esquerda do separador decimal na expresso de formato,
exibe os dgitos extras sem modificao.
(#) Espao reservado para dgito. Exibe um dgito ou nada. Se a
expresso apresenta um dgito onde o # aparece na
seqncia de caracteres de formato, exibe-o; caso contrrio,
no exibe nada nessa posio.
Esse smbolo funciona como o espao reservado para o
dgito 0, exceto que os zeros direita e esquerda no so
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
exibidos se o nmero apresentar o mesmo nmero de dgitos
ou menos do que o nmero de caracteres # de cada lado do
separador decimal na expresso de formato.
(.) Espao reservado decimal. Em algumas localidades, uma
vrgula utilizada como separador decimal. O espao
reservado decimal determina quantos dgitos so exibidos
esquerda e direita do separador decimal. Se a expresso
de formato contm somente sinais numricos esquerda
desse smbolo, nmeros menores do que 1 comeam com
um separador decimal. Para exibir um zero esquerda
exibido com nmeros fracionrios, utilize 0 como o primeiro
espao reservado de dgito esquerda do separador decimal.
O caractere realmente utilizado como um espao reservado
decimal na sada formatada depende do Formato numrico
reconhecido pelo seu sistema.
(%) Espao reservado de porcentagem. A expresso
multiplicada por 100. O caractere de porcentagem (%)
inserido na mesma posio em que aparece na seqncia de
caracteres de formato.
(,) Separador de milhar. Em algumas localidades, um ponto
utilizado como separador de milhar. O separador de milhar
separa as centenas dos milhares dentro de um nmero com
quatro ou mais posies esquerda do separador decimal. A
utilizao padro do separador de milhar especificada se o
formato contiver um separador de milhar cercado por espaos
reservados para dgitos (0 ou #). Dois separadores de milhar
adjacentes ou um separador de milhar imediatamente
esquerda do separador decimal (independente de o decimal
ser ou no especificado) significa "escalonar o nmero
dividindo-o por 1000 e arredondando se necessrio." Por
exemplo, voc pode utilizar a seqncia de caracteres de
formato "##0,," para representar 100 milhes como 100.
Nmeros menores do que 1 milho so exibidos como 0. Dois
separadores de milhar adjacentes em qualquer posio
diferente de imediatamente esquerda do separador decimal
so tratados simplesmente como especificao da utilizao
de um separador de milhar. O caractere realmente utilizado
como separador de milhar na sada formatada depende do
Formato numrico reconhecido pelo seu sistema.
(:) Separador de tempo. Em algumas localidades, outros
caracteres podem ser utilizados para representar o separador
de tempo. O separador de tempo separa horas, minutos e
segundos quando os valores de tempo so formatados. O
caractere realmente utilizado como separador de tempo na
sada formatada depende das definies de seu sistema.
(/) Separador de data. Em algumas localidades, outros
caracteres podem ser utilizados para representar o separador
de data. O separador de data separa o dia, o ms e o ano
quando os valores de data so formatados. O caractere
realmente utilizado como separador de data na sada
formatada depende das definies de seu sistema.
(E- E+ e-
e+)
Formato cientfico. Se a expresso de formato contm pelo
menos um espao reservado para dgito (0 ou #) direita de
E-, E+, e-, ou e+, o nmero exibido em formato cientfico e
E ou e inserido entre o nmero e seu expoente. O nmero
de espaos reservados para dgitos direita determina o
nmero de dgitos no expoente. Utilize E- ou e- para colocar
um sinal de menos ao lado de expoentes negativos. Utilize E+
ou e+ para colocar um sinal de menos ao lado de expoentes
negativos e um sinal de mais ao lado de expoentes positivos.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
- + $ ( ) Exibe um caractere literal. Para exibir um caractere diferente
daqueles listados, anteceda-o com uma barra invertida (\) ou
coloque-o entre aspas duplas (" ").
(\) Exibe o prximo caractere na seqncia de caracteres de
formato. Para exibir um caractere que apresenta um
significado especial como um caractere literal, anteceda-o
com uma barra invertida (\). A barra invertida, na verdade,
no exibida. Utiliz-la a mesma coisa que colocar o
prximo caractere entre aspas duplas. Para exibir uma barra
invertida, utilize duas barras invertidas (\\).
Exemplos de caracteres que no podem ser exibidos como
caracteres literais so os caracteres de formatao de data e
hora (a, c, d, h, m, n, p, q, s, t, w, y, / e :), os caracteres de
formatao numrica (#, 0, %, E, e, vrgula e ponto) e os
caracteres de formatao da seqncia de caracteres (@, &,
<, > e !).
("ABC") Exibe a seqncia de caracteres dentro de aspas duplas (" ").
Para incluir uma seqncia de caracteres em format a partir
do cdigo, voc deve utilizar Chr(34) para envolver o texto
(34 o cdigo de caractere para uma aspa (")).


Formatos diferentes para valores numricos diferentes (funo
Format)
Uma expresso de formato para nmeros definida pelo usurio pode apresentar de uma a quatro
sees separadas por ponto-e-vrgula. Se o argumento format contiver um dos quatro formatos
numricos nomeados, somente uma seo ser permitida.
Se voc utilizar O resultado ser

Somente uma
seo
A expresso de formato aplica-se a todos os valores.
Duas sees A primeira seo aplica-se a valores positivos e zeros e
a segunda a valores negativos.
Trs sees A primeira seo aplica-se a valores positivos, a
segunda a valores negativos e a terceira a zeros.
Quatro sees A primeira seo aplica-se a valores positivos, a
segunda a valores negativos, a terceira a zeros e a
quarta a valores Null.

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"

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo de expresses de formato numrico definidas pelo usurio
A tabela a seguir contm algumas expresses de exemplo de formato para nmeros. (Estes
exemplos pressupem que a definio de localidade do seu sistema seja Portugus (Brasil) A
primeira coluna contm as seqncias de caracteres de formato; as outras contm a sada resultante
se os dados formatados apresentarem o valor fornecido nos cabealhos das colunas.
Formato
(format)
Positivo 5 Negativo 5 Decimal .5 Null

Seqncia
de
caracteres
de
comprimento
Zero ("")
5 -5 0,5
0 5 -5 1
0,00 5,00 -5,00 0,50
#.##0 5 -5 1
#.##0,00;;;
Nil
5,00 -5,00 0,50 Nil
R$#.##0;(R$
#.##0)
R$5 (R$5) R$1
R$#.##0,00;
(R$#.##0,00
)
R$5,00 (R$5,00) R$0,50
0% 500% -500% 50%
0,00% 500,00% -500,00% 50,00%
0,00E+00 5,00E+00 -
5,00E+00
5,00E-01
0,00E-00 5,00E00 -5,00E00 5,00E-01


Formatos nomeados de data/hora (funo Format)
A tabela a seguir identifica os nomes de formato de data e hora predefinidos:
Nome do
formato
Descrio

General Date Exibe uma data e/ou hora. Para nmeros reais, exibe
uma data e hora, por exemplo, 3/4/93 17:34. Se no
existir uma parte fracionria, exibe somente uma data,
por exemplo, 3/4/93. Se no houver uma parte inteira,
exibe somente a hora, por exemplo, 17:34. A exibio da
data determinada pelas definies do seu sistema.
Long Date Exibe uma data de acordo com o formato por extenso de
data de seu sistema.
Medium Date Exibe uma data utilizando o formato mdio de data
apropriado verso do idioma do aplicativo host.
Short Date Exibe uma data utilizando o formato abreviado de data de
seu sistema.
Long Time Exibe uma hora utilizando o formato de hora por extenso
de seu sistema, incluindo horas, minutos e segundos.
Medium Time Exibe hora em formato de 12 horas utilizando horas e
minutos e a designao AM/PM.
Short Time Exibe uma hora utilizando o formato de 24 horas, por
exemplo, 17:45.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/

Formatos de data/hora definidos pelo usurio (funo Format)
A tabela a seguir identifica os caracteres que voc pode utilizar para criar formatos de data/hora
definidos pelo usurio:
Caractere Descrio

(:) Separador de hora. Em algumas localidades, outros
caracteres podem ser utilizados para representar o separador
de hora. O separador de hora separa horas, minutos e
segundos quando os valores de hora so formatados. O
caractere real utilizado como separador de hora na sada
formatada determinado pelas definies do seu sistema.
(/) Separador de data. Em algumas localidades, outros
caracteres podem ser utilizados para representar o separador
de data. O separador de data separa o dia, o ms e o ano
quando os valores de data so formatados. O caractere
realmente utilizado como separador de data na sada
formatada depende das definies do seu sistema.
c Exibe a data como ddddd e exibe a hora como hhhhh, nessa
ordem. Exibe somente informaes de data se no houver
parte fracionria para o nmero de srie da data; exibe
somente informaes de hora se no houver parte de nmero
inteiro.
d Exibe o dia como um nmero sem um zero esquerda (1
31).
dd Exibe o dia como um nmero com um zero esquerda(01
31).
ddd Exibe o dia de forma abreviada (Dom Sb).
dddd Exibe o nome completo do dia (Domingo Sbado).
ddddd Exibe a data completa (incluindo dia, ms e ano), formatada
de acordo com a definio de formato de data abreviada do
seu sistema. Para o Microsoft Windows, o formato padro de
data abreviada d/m/aa.
dddddd Exibe um nmero de srie de data como uma data completa
(incluindo dia, ms e ano) formatada de acordo com a
definio de data por extenso reconhecida pelo seu sistema.
Para o Microsoft Windows, o formato padro de data por
extenso dddd mm, aaaa.
w Exibe o dia da semana como um nmero (1 para Domingo
at 7 at para Sbado).
ww Exibe a semana do ano como um nmero (1 54).
m Exibe o ms como um nmero sem um zero esquerda (1
12). Se m seguir imediatamente h ou hh, o minuto exibido
ao invs do ms.
mm Exibe o ms como um nmero com um zero esquerda (01
12). Se m seguir imediatamente h ou hh, o minuto exibido
ao invs do ms.
mmm Exibe o ms de forma abreviada (Jan Dez).
mmmm Exibe o nome completo do ms (Janeiro Dezembro).
t Exibe o trimestre do ano como um nmero (1 4).
a Exibe o dia do ano como um nmero (1 366).
aa Exibe o ano como um nmero de dois dgitos (00 99).
aaaa Exibe o ano como um nmero de quatro dgitos (100 9999).
h Exibe a hora como um nmero sem zeros esquerda (0
23).
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
hh Exibe a hora como um nmero com zeros esquerda (00
23).
n Exibe o minuto como um nmero sem zeros esquerda (0
59).
nn Exibe o minuto como um nmero com zeros esquerda(00
59).
s Exibe o segundo como um nmero sem zeros esquerda
(0 59).
ss Exibe o segundo como um nmero com zeros esquerda
(00 59).
h h h h h Exibe a hora completa (incluindo hora, minuto e segundo),
formatada utilizando o separador de hora definido pelo
formato de hora reconhecido pelo seu sistema. Um zero
esquerda exibido se a opo zero esquerda estiver
selecionada e se a hora for anterior a 10:00 ou 22:00. Para o
Microsoft Windows, o formato padro de hora h:mm:ss.
AM/PM Utiliza o relgio de 12 horas e exibe AM em letras maisculas
sem qualquer hora antes do meio-dia; exibe PM em letras
maisculas com qualquer hora entre meio-dia e 23:59.
am/pm Utiliza o relgio de 12 horas e exibe AM em letras minsculas
sem qualquer hora antes do meio-dia; exibe PM em letras
minsculas com qualquer hora entre meio-dia e 23:59.
A/P Utiliza o relgio de 12 horas e exibe um A maisculo sem
qualquer hora antes do meio-dia; exibe um P maisculo com
qualquer hora entre meio-dia e 23:59.
a/p Utiliza o relgio de 12 horas e exibe um A minsculo sem
qualquer hora antes do meio-dia; exibe um P minsculo com
qualquer hora entre meio-dia e 23:59.
AMPM Utiliza o relgio de 12 horas e exibe uma literal de seqncia
de caracteres AM como definido pelo seu sistema com
qualquer hora antes de meio-dia; exibe a literal de seqncia
de caracteres PM como definido pelo seu sistema com
qualquer hora entre meio-dia e 23:59. AMPM podem estar em
letras maisculas ou minsculas, mas o tamanho da letra da
seqncia de caracteres exibida deve corresponder quele
definido na definio do seu sistema. Para o Microsoft
Windows, o formato padro AM/PM.


Exemplo de formatos de data/hora definidos pelo usurio
A seguir so apresentados exemplos de formatos de data e hora definidos pelo usurio para 7 de
Dezembro de 1958:
Formato Exibe

d/m/aa 7/12/58
d-mmm 7-Dez
d-mmmm-aa 7-Dezembro-58
d mmmm 7 Dezembro
mmmm aa Dezembro 58
hh:mm AM/PM 08:50 PM
h:mm:ss a/p 8:50:35 p
h:mm 20:50
h:mm:ss 20:50:35
d/m/aa h:mm 7/12/58 20:50

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Formatos de seqncia de caracteres definidos pelo usurio
(funo Format)
Voc pode utilizar qualquer um dos caracteres a seguir para criar uma expresso de formato para
seqncias de caracteres:
Caractere Descrio

@ Espao reservado para caractere. Exibe um caractere ou um
espao. Se a seqncia de caracteres apresenta um
caractere onde o smbolo (@) aparece na seqncia de
caracteres de formato, exibe-o; caso contrrio, exibe um
espao nessa posio. Espaos reservados so preenchidos
da direita para a esquerda a menos que exista um ponto de
exclamao (!) na seqncia de caracteres de formato.
& Espao reservado para caractere. Exibe um caractere ou
nada. Se a seqncia de caracteres apresenta um caractere
na posio onde o E comercial (&) aparece, exibe-o; caso
contrrio, no exibe nada. Espaos reservados so
preenchidos da direita para a esquerda a menos que exista
um ponto de exclamao (!) na seqncia de caracteres de
formato.
< Fora letras minsculas. Exibe todos os caracteres em
formato de minsculas.
> Fora letras maisculas. Exibe todos os caracteres em
formato de maisculas.
! Fora preenchimento de espaos reservados da esquerda
para a direita. O padro o preenchimento da direita para a
esquerda.


Formatos diferentes para valores de seqncia de caracteres
diferentes (funo Format)
Uma expresso de formato para seqncias de caracteres pode apresentar uma seo ou duas
sees separadas por um ponto-e-vrgula (;).
Se voc utilizar O resultado ser

Somente uma
seo
O formato se aplicar a todos os dados da seqncia
de caracteres.
Duas sees A primeira seo se aplicar aos dados da seqncia
de caracteres e a segunda a valores Null e seqncias
de caracteres de comprimento zero ("").

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Hex retornar

Null Nulo
Empty Zero (0)
Qualquer outro
nmero
At oito caracteres hexadecimais

Voc pode representar nmeros hexadecimais diretamente ao anteceder nmeros no intervalo
apropriado por &H. Por exemplo, &H10 representa 16 decimal em notao hexadecimal.
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 Opcional. Expresso numrica que define a posio inicial
para cada pesquisa. Se omitida, a pesquisa tem incio na
primeira posio de caractere. Se start contiver Null, um erro
ser gerado. O argumento start obrigatrio se compare for
especificado.
string1 Obrigatrio. Expresso de seqncia de caracteres sendo
pesquisada.
string2 Obrigatrio. Expresso de seqncia de caracteres sendo
pesquisada.
compare Opcional. Especifica o tipo de comparao de seqncia de
caracteres. O argumento compare pode ser omitido, ou pode
ser 0, 1 ou 2. Especifique 0 (padro) para executar uma
comparao binria. Especifique 1 para executar uma
comparao textual, que no coincida maisculas e
minsculas. Para o Microsoft Access somente, especifique 2
para executar uma comparao baseada nas informaes
contidas em seu banco de dados. Se compare for Nulo, um
erro ocorrer. Se compare for omitido, a configurao Option
Compare determinar o tipo de comparao.

Valores de retorno
Se InStr retorna

string1 tiver
comprimento
zero
0
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
string1 for Null Nulo
string2 tiver
comprimento
zero
start
string2 for Null Nulo
string2 no for
encontrado
0
string2 for
encontrado
dentro de
string1
Posio na qual a correspondncia encontrada
start > string2 0

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 Obrigatrio. Expresso de seqncia de caracteres a partir da
qual os caracteres mais esquerda so retornados. Se string
contiver Null, Nulo ser retornado.
length Obrigatrio. Variant (Long). Expresso numrica que indica
quantos caracteres devem ser retornados. Se 0, uma seqncia
de caracteres de comprimento zero ("") retornada. Se maior ou
igual ao nmero de caracteres de string, toda a seqncia de
caracteres retornada.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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 Qualquer expresso de seqncia de caracteres
vlida. Se seqnciadecaracteres contiver Null,
Nulo retornado.
varname Qualquer nome de varivel vlido. Se nomedavar
contiver Nulo, Nulo ser retornado. Se nomedavar
for Variant, Len o tratar como se fosse um
String e sempre retornar o nmero de caracteres
que ele contiver.

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 Obrigatrio. Nome da varivel de seqncia de
caracteres.
string Obrigatrio. Expresso de seqncia de
caracteres a ser alinhada esquerda dentro de
varseq.
varname1 Obrigatrio. Nome de varivel do tipo definido
pelo usurio para a qual feita a cpia.
varname2 Obrigatrio. Nome de varivel do tipo definido
pelo usurio da qual feita a cpia.

Comentrios
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
LSet substitui qualquer caractere deixado em varseq por espaos.
Se seqnciadecaracteres for maior do que varseq, LSet coloca somente os caracteres mais
esquerda, at o comprimento de varseq, em varseq.

Aviso No recomendvel utilizar LSet para copiar uma varivel de um tipo definido pelo usurio
para um tipo diferente. A cpia de dados de um tipo de dados para espao reservado a um tipo de
dados diferente pode acarretar resultados imprevisveis.
Quando voc copia uma varivel de um tipo definido pelo usurio para outro, os dados binrios de
uma varivel so copiados para o espao de memria do outro, sem levar em considerao os tipos
de dados especificados para os elementos.


Funes LTrim, Rtrim e Trim
Retorna um Variant (String) que contm uma cpia de uma seqncia de caracteres especificada
sem espaos esquerda (LTrim), espaos direita (RTrim) ou espaos direita e esquerda
(Trim).
Sintaxe
LTrim(seqnciadecaracteres)
RTrim(seqnciadecaracteres)
Trim(seqnciadecaracteres)

O argumento seqnciadecaracteres exigido qualquer expresso de seqncia de
caracteres.vlida. Se seqnciadecaracteres contiver Null, Null ser retornado.

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 Obrigatrio. Expresso de seqncia de caracteres da qual so
retornados caracteres. Se string contiver Null, Null ser
retornado.
start Obrigatrio; Long. A posio do caractere em string na qual a
parte a ser removida tem incio. Se start for maior do que o
nmero de caracteres em string, Mid retorna uma seqncia de
caracteres de comprimento zero ("").
length Opcional; Variant (Long). Nmero de caracteres a ser retornado.
Se omitido ou se houver menos caracteres no texto do que em
length (incluindo o caractere em start), todos os caracteres da
posio start at o final da seqncia de caracteres sero
retornados.

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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Nome da varivel da seqncia de
caracteres a ser modificada.
incio Obrigatrio; Variant (Long). Posio de
caractere em varseq onde a substituio de texto
tem incio.
comprimento Opcional; Variant (Long). Nmero de caracteres
a serem substitudos. Se omitida, toda a
seqnciadecaracteres utilizada.
seqnciadecaracteres Obrigatrio. Expresso de seqncia de
caracteres que substitui parte de varseq.

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 Null
Empty Zero (0)
Qualquer outro
nmero
At 11 caracteres octais

Voc pode representar nmeros octais diretamente ao anteceder nmeros no intervalo apropriado
com &O. Por exemplo, &O10 a notao octal para o decimal 8.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Expresso de seqncia de caracteres da qual os
caracteres mais direita so retornados. Se string contiver Null,
Null ser retornado.
length Obrigatrio; Variant (Long). Expresso numrica indicando
quantos caracteres devem ser retornados. Se 0, uma seqncia
de caracteres de comprimento zero ("") retornada. Se maior ou
igual ao nmero de caracteres em string, toda a seqncia de
caracteres retornada.

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 Obrigatrio. Nome de varivel da seqncia de
caracteres.
seqnciadecaracteres Obrigatrio. Expresso de seqncia de
caracteres a ser alinhada direita dentro de
varseq.

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
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
A funo Space til para formatar sadas e limpar dados em seqncias de caracteres de
comprimento fixo.

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 Obrigatrio. Qualquer expresso de seqncia de
caracteres.vlida.
string2 Obrigatrio. Qualquer expresso de seqncia de caracteres
vlida.
compare Opcional. Especifica o tipo de comparao de seqncia de
caracteres. O argumento compare pode ser omitido ou pode
ser 0, 1 ou 2. Especifique 0 (padro) para realizar uma
comparao binria. Especifique 1 para realizar uma
comparao textual. Para o Microsoft Access somente,
especifique 2 para realizar uma comparao baseada nas
informaes contidas em seu banco de dados. Se compare
for Null, um erro ser gerado. Se compare for omitido, a
definio Option Compare determinar o tipo de comparao.

Valores de retorno
Se StrComp retornar

string1 for menor
do que string2
-1
string1 for igual a
string2
0
string1 for maior do
que string2
1
string1 ou string2 Null
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
for 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 Obrigatrio. Expresso de seqncia de caracteres a ser
convertida.
conversion Obrigatrio; Integer. A soma dos valores especifica o tipo de
converso a ser realizada.

Definies
As definies do argumento conversion so:
Constante Valor Descrio

vbUpperCase 1 Converte a seqncia de caracteres para
caracteres em maisculas.
VbLowerCase 2 Converte a seqncia de caracteres para
caracteres em minsculas.
VbProperCase 3 Converte a primeira letra de cada palavra da
seqncia de caracteres para maiscula.
vbWide* 4* Converte os caracteres estreitos (byte
simples) da seqncia de caracteres em
caracteres largos (byte duplo).
VbNarrow* 8* Converte os caracteres largos (byte duplo). da
seqncia de caracteres em caracteres
estreitos (byte simples).
vbKatakana** 16** Converte os caracteres Hiragana da
seqncia de caracteres em caracteres
Katakana.
vbHiragana** 32** Converte os caracteres Katakana da
seqncia de caracteres em caracteres
Hiragana.
vbUnicode 64 Converte a seqncia de caracteres para
Unicode utilizando a pgina de cdigo padro
do sistema.
vbFromUnicode 128 Converte a seqncia de caracteres de
Unicode para a pgina de cdigo padro do
sistema.
* Aplica-se a localidades do Extremo Oriente.
** Aplica-se somente ao Japo.

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.
Apostila com algumas funes VB 5 e Exemplos Pg.:
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 Obrigatrio; Long. Comprimento da seqncia de caracteres
retornada. Se number contiver Null, Null ser retornado.
character Obrigatrio; Variant. Cdigo de caractere que especifica o
caractere ou a expresso de seqncia de caracteres cujo
primeiro caractere utilizado para construir a seqncia de
caracteres de retorno. Se character contiver Null, Null ser
retornado.

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 seqncia de
caracteres.vlida. Se seqnciadecaracteres contiver Null, Null ser retornado.
Comentrios
Somente as letras minsculas so convertidas para maisculas; todas as letras maisculas e
caracteres diferentes de letras permanecem inalterados.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Return sem GoSub
5 Chamada de procedimento invlida
6 Sobrecarga
7 Memria insuficiente
9 Subscrito fora do intervalo
10 Esta matriz fixa ou est temporariamente bloqueada
11 Diviso por zero
13 Tipo incompatvel
14 Espao insuficiente para seqncia de caracteres
16 Expresso muito complexa
17 No possvel executar a operao solicitada
18 Ocorreu uma interrupo do usurio
20 Recomear sem erro
28 Espao insuficiente para pilha
35 Sub, Function ou Property no definida
47 Nmero excessivo de clientes do aplicativo DLL
48 Erro ao carregar DLL
49 Conveno de chamada DLL invlida
51 Erro interno
52 Nome ou nmero de arquivo invlido
53 O arquivo no foi encontrado
54 Modo de arquivo invlido
55 O arquivo j est aberto
57 Erro de dispositivo de E/S
58 O arquivo j existe
59 Comprimento de registro invlido
61 Disco cheio
62 Entrada depois do fim do arquivo
63 Nmero de registro invlido
67 Nmero excessivo de arquivos
68 Dispositivo no disponvel
70 Permisso negada
71 O disco no est pronto
74 No possvel renomear com unidade de disco diferente
75 Erro de acesso a caminho/arquivo
76 Caminho no encontrado
91 A varivel de objeto ou a varivel de bloco With no foi definida
92 Loop For no inicializado
93 Seqncia de caracteres padro invlida
94 Uso de Null invlido
97 No possvel chamar procedimento Friend para um objeto que
no uma instncia da classe de definio
298 DLL do sistema no pode ser carregada
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
320 No possvel utilizar nomes de dispositivos em nomes de
arquivos especficos
321 Formato de arquivo invlido
322 No possvel criar arquivo temporrio necessrio
325 Formato invlido no arquivo de recursos
327 Nome do valor de dados no encontrado
328 Parmetro ilegal; no possvel gravar matrizes
335 No foi possvel acessar registro do sistema
336 Componente ActiveX no foi registrado corretamente
337 Componente ActiveX no foi encontrado
338 Componente ActiveX no executou corretamente
360 Objeto j carregado
361 No possvel carregar ou descarregar este objeto
363 Controle ActiveX especificado no foi encontrado
364 Objeto foi descarregado
365 No possvel carregar dentro desse contexto
368 O arquivo especificado est desatualizado. Este programa exige
uma verso posterior
371 O objeto especificado no pode ser utilizado como um formulrio
proprietrio de Show
380 Valor de propriedade invlido
381 ndice de matriz de propriedades invlido
382 Propriedade Set no pode ser executada em tempo de execuo
383 Propriedade Set no pode ser utilizada com uma propriedade
somente leitura
385 necessrio o ndice de matriz de propriedade
387 Propriedade Set no permitida
393 Propriedade Get no pode ser executada em tempo de execuo
394 Propriedade Get no pode ser executada em propriedade
somente gravao
400 Formulrio j exibido; impossvel exibir de forma modal
402 Cdigo deve fechar o formulrio modal superior
419 Permisso para utilizar objeto negada
422 Propriedade no encontrada
423 Propriedade ou mtodo no foi encontrado
424 Objeto obrigatrio
425 Uso invlido de objeto
429 O componente ActiveX no pode criar um objeto ou retornar
referncia a esse objeto
430 A classe no aceita Automao
432 O nome do arquivo ou o nome da classe no foi encontrado
durante a operao de Automao
438 O objeto no aceita esta propriedade ou mtodo
440 Erro de automao
442 A conexo biblioteca de objetos ou de tipos para processo
remoto foi perdida
443 O objeto de Automao no possui um valor padro
445 O objeto no suporta esta ao
446 O objeto no suporta argumentos nomeados
447 O objeto no aceita a definio atual de localidade
448 O argumento nomeado no foi encontrado
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
449 Argumento no opcional ou atribuio de propriedade invlida
450 Nmero de argumentos incorreto ou atribuio de propriedade
invlida
451 Object no uma coleo
452 Ordinal invlido
453 A funo DLL especificada no foi encontrada
454 O recurso de cdigo no foi encontrado
455 Erro de proteo de recurso de cdigo
457 Esta tecla j est associada a um elemento desta coleo
458 A varivel utiliza um tipo de automao no suportada no Visual
Basic
459 Este componente no suporta eventos
460 Formato da rea de transferncia invlido
461 Formato especificado no corresponde ao formato dos dados
480 No possvel criar imagem AutoRedraw
481 Figura invlida
482 Erro na impressora
483 Driver da impressora no aceita a propriedade especificada
484 Problemas ao obter informaes da impressora a partir do
sistema. Certifique-se de que a impressora esteja instalada
corretamente
485 Tipo de figura invlido
486 No possvel imprimir imagem de formulrio neste tipo de
impressora
520 No possvel esvaziar a rea de transferncia
521 No possvel abrir a rea de transferncia
735 No possvel salvar arquivo no diretrio TEMP
744 Texto procurado no encontrado
746 Substituies muito longas
31001 Memria insuficiente
31004 Nenhum objeto
31018 Classe no est definida
31027 No possvel ativar objeto
31032 No foi possvel criar objeto incorporado
31036 Erro ao salvar o arquivo

31037
Erro ao carregar do arquivo

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Conjunto de caracteres (128 a 255)

128 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
145 177 209 241
146 178 210 242
147 179 211 243
148 180 212 244
149 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
Estes caracteres no so aceitos pelo Microsoft Windows.


Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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.

Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
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 Obrigatrio. Sempre o objeto Debug.
Booleanexpression Obrigatrio. Uma expresso que avalia ouTrue ou
False.

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 Obrigatrio. Nome do evento a ser disparado.
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
argumentlist Opcional. Lista de variveis, matrizes ou expresses
delimitadas por vrgulas. A argumentlist deve ser colocada
entre parnteses. Se no existir nenhum argumento, os
parnteses devem ser omitidos.

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.

Exemplo do operador AddressOf

O exemplo abaixo cria um formulrio com uma caixa de listagem contendo uma lista em ordem
alfabtica das fontes de seu sistema.
Para executar este exemplo, crie um formulrio contendo uma caixa de listagem. O cdigo para o
formulrio o seguinte:
Option Explicit

Private Sub Form_Load()
Module1.FillListWithFonts List1
End Sub

Coloque o cdigo abaixo em um mdulo. O terceiro argumento na definio da funo
EnumFontFamilies um Long que representa um procedimento. O argumento deve conter o
endereo do procedimento, ao invs do valor retornado pelo procedimento. Na chamada a
EnumFontFamilies, o terceiro argumento exige o operador AddressOf para retornar o endereo do
procedimento EnumFontFamProc que o nome do procedimento de retorno de chamado que voc
fornece ao chamar a funo API Windows EnumFontFamilies. O Windows chama
EnumFontFamProc uma vez para cada uma das famlias de fonte no sistema quando voc passa
AddressOf EnumFontFamProc a EnumFontFamilies. O ltimo argumento passado a
EnumFontFamilies especifica a caixa de listagem onde as informaes so exibidas.
'Tipos de enumerao de fonte
Public Const LF_FACESIZE = 32
Public Const LF_FULLFACESIZE = 64

Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName(LF_FACESIZE) As Byte
End Type

Type NEWTEXTMETRIC
tmHeight As Long
tmAscent As Long
tmDescent As Long
tmInternalLeading As Long
tmExternalLeading As Long
tmAveCharWidth As Long
tmMaxCharWidth As Long
tmWeight As Long
tmOverhang As Long
tmDigitizedAspectX As Long
tmDigitizedAspectY As Long
tmFirstChar As Byte
tmLastChar As Byte
tmDefaultChar As Byte
tmBreakChar As Byte
tmItalic As Byte
tmUnderlined As Byte
tmStruckOut As Byte
tmPitchAndFamily As Byte
tmCharSet As Byte
ntmFlags As Long
ntmSizeEM As Long
ntmCellHeight As Long
ntmAveWidth As Long
End Type

' Sinalizadores de campo ntmFlags
Public Const NTM_REGULAR = &H40&
Public Const NTM_BOLD = &H20&
Public Const NTM_ITALIC = &H1&

' Sinalizadores tmPitchAndFamily
Public Const TMPF_FIXED_PITCH = &H1
Public Const TMPF_VECTOR = &H2
Public Const TMPF_DEVICE = &H8
Public Const TMPF_TRUETYPE = &H4

Public Const ELF_VERSION = 0
Public Const ELF_CULTURE_LATIN = 0

' Mscaras EnumFonts
Public Const RASTER_FONTTYPE = &H1
Public Const DEVICE_FONTTYPE = &H2
Public Const TRUETYPE_FONTTYPE = &H4

Declare Function EnumFontFamilies Lib "gdi32" Alias _
"EnumFontFamiliesA" _
(ByVal hDC As Long, ByVal lpszFamily As String, _
ByVal lpEnumFontFamProc As Long, LParam As Any) As Long
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, _
ByVal hDC As Long) As Long

Function EnumFontFamProc(lpNLF As LOGFONT, lpNTM As NEWTEXTMETRIC, _
ByVal FontType As Long, LParam As ListBox) As Long
Dim FaceName As String
Dim FullName As String
FaceName = StrConv(lpNLF.lfFaceName, vbUnicode)
LParam.AddItem Left$(FaceName, InStr(FaceName, vbNullChar) - 1)
EnumFontFamProc = 1
End Function

Sub FillListWithFonts(LB As ListBox)
Dim hDC As Long
LB.Clear
hDC = GetDC(LB.hWnd)
EnumFontFamilies hDC, vbNullString, AddressOf EnumFontFamProc, LB
ReleaseDC LB.hWnd, hDC
End Sub

Exemplo do mtodo Assert

O exemplo abaixo mostra como usar o mtodo Assert. O exemplo exige um formulrio com dois
controles de boto nele. Os nomes de boto padro so Command1 e Command2.
Quando o exemplo executado, clicar no boto Command1 liga e desliga o texto no boto entre 0 e
1. Clicar Command2 nada provoca ou provoca uma declarao, dependendo do valor exibido em
Command1. A declarao encerra a execuo com a ltima instruo executada, a linha
Debug.Assert, realada.
Option Explicit
Private blnAssert As Boolean
Private intNumber As Integer

Private Sub Command1_Click()
blnAssert = Not blnAssert
intNumber = IIf(intNumber <> 0, 0, 1)
Command1.Caption = intNumber
End Sub

Private Sub Command2_Click()
Debug.Assert blnAssert
End Sub

Private Sub Form_Load()
Command1.Caption = intNumber
Command2.Caption = "Assert Tester"
End Sub
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
Exemplo Friend

Quando colocado em um mdulo de classe, o cdigo abaixo torna a varivel membro dblBalance
acessvel a todos os usurios da classe dentro do projeto. Qualquer usurio da classe pode obter o
valor; somente o cdigo dentro do projeto pode designar um valor quela varivel.
Private dblBalance As Double

Public Property Get Balance() As Double
Balance = dblBalance
End Property

Friend Property Let Balance(dblNewBalance As Double)
dblBalance = dblNewBalance
End Property

Exemplo da instruo RaiseEvent

O exemplo abaixo usa eventos para uma contagem regressiva dos segundos durante uma
demonstrao da mais rpida corrida de 100 metros rasos. O cdigo ilustra todos os mtodos,
propriedades e instrues relacionados com evento, incluindo a instruo RaiseEvent.
A classe que provoca um evento na origem do evento e as classes que implementam o evento so os
coletores. Uma origem de evento pode ter mltiplos coletores para os eventos que ela gera. Quando
a classe provoca o evento, o evento disparado em todas as classes que escolheram coletar eventos
para aquela ocorrncia do objeto.
O exemplo tambm usa um formulrio (Form1) com um boto (Command1), um rtulo (Label1), e
duas caixas de texto (Text1 e Text2). Quando voc clica no boto, a primeira caixa de textos exibe
"A partir de agora" e a segunda inicia a contagem dos segundos. Quando o tempo total (9,84
segundos) tiver decorrido, a primeira caixa de texto exibe "At agora" e a segunda exibe "9.84"
O cdigo para Form1 especifica os estados inicial e final do formulrio. Ele tambm contm o cdigo
executado quando eventos so provocados.
Option Explicit

Private WithEvents mText As TimerState

Private Sub Command1_Click()
Text1.Text = "A partir de agora"
Text1.Refresh
Text2.Text = "0"
Text2.Refresh
Call mText.TimerTask(9.84)
End Sub

Private Sub Form_Load()
Command1.Caption = "Clique para iniciar o cronmetro "
Text1.Text = ""
Text2.Text = ""
Label1.Caption = "Os 100 metros mais rpidos jamais corridos levaram
este tempo:"
Set mText = New TimerState
End Sub

Private Sub mText_ChangeText()
Text1.Text = "At agora"
Text2.Text = "9,84"
End Sub

Private Sub mText_UpdateTime(ByVal dblJump As Double)
Text2.Text = Str(Format(dblJump, "0"))
Apostila com algumas funes VB 5 e Exemplos Pg.:
Material retirado do Site da POWER Informtica http://members.xoom.com/power_inf/
DoEvents
End Sub

O cdigo restante est no mdulo de classe chamado TimerState. Includo entre os comandos neste
mdulo esto as instrues RaiseEvent.
Option Explicit
Public Event UpdateTime(ByVal dblJump As Double)
Public Event ChangeText()

Public Sub TimerTask(ByVal Duration As Double)
Dim dblStart As Double
Dim dblSecond As Double
Dim dblSoFar As Double
dblStart = Timer
dblSoFar = dblStart

Do While Timer < dblStart + Duration
If Timer - dblSoFar >= 1 Then
dblSoFar = dblSoFar + 1
RaiseEvent UpdateTime(Timer - dblStart)
End If
Loop

RaiseEvent ChangeText

End Sub

Você também pode gostar