Pesquisar este blog

domingo, 19 de maio de 2013

OPERADORES DO VBA

Operadores do VBA


    O VBA possui um grande conjunto de operadores, divididos nas seguintes categorias:
  • Operadores aritméticos: empregados para executar operações e cálculos matemáticos ((), ^, *, /, \, +, - e Mod);
  • Operadores de comparação: empregados para comparar dois valores distintos (=, <>, <, >, <=, >=, Like e Is);
  • Operadores de concatenação: empregados para combinar strings(& e +);
  • Operadores lógicos: empregados para efetuar operações lógicas (And, Or, Not, Xor, Eqv e Imp).
Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - VARIANT

Variant


    O tipo de dados Variant é atribuído a todas as variáveis que não foram explicitamente declaradas como sendo de qualquer outro tipo (empregando-se instruções como Dim, Private, Public, Static).

    Ele é um tipo de dado especial que pode conter qualquer tipo de dado (inclusive tipos definidos pelo usuário com a instrução Type), excetuando-se strings de comprimento fixo. Além disso, é o único tipo de dado que pode conter os valores especiais Empty, Error, Nothing e Null. Para determinar o tipo de dado atualmente contido em uma variável declarada As Variant, empregue as funções VarType ou TypeName.

    Dados numéricos podem ser atribuídos a qualquer variável declarada como sendo do tipo Variant variando desde -1.797693134862315E308 a -4.94066E-324 para valores negativos e de 4.94066E-324 a 1.797693134862315E308 para valores positivos.

    De forma geral, as variáveis Variant mantêm o tipo original do dado numérico, ou seja, caso você atribua um valor tipo Currency a uma variável Variant, todas as operações subsequentes sobre este valor irão ser efetuados sobre o tipo Currency.

    Caso uma operação aritmética qualquer executada sobre o tipo de dado atual exceda o valor original do número atribuído, o tipo contido na variável Variant será promovido para o próximo tipo numérico de mais alto nível disponível (Ex.: Se você atribuir um valor Integer a uma variável Variant e efetuar uma operação de multiplicação sobre ele de forma que o valor resultante seja maior do que 65.536, o tipo de dado será redefinido para Long). Caso uma variável Variant contenha valores dos tipos Currency, Decimal ou Double e o valor contido na variável exceda o limite tolerável para um destes tipos, ocorrerá um erro em tempo de execução.

    As variáveis do tipo Variant podem conter qualquer tipo de dado. Números e Strings numéricas são considerados como números, permitindo efetuar operações aritméticas sobre ambos os tipos de dados.

    Quando uma variável do tipo Variant é declarada, ela possui o valor Empty antes que qualquer valor lhe seja atribuído. Caso a variável seja empregada em um contexto numérico (em uma operação aritmética qualquer), o valor Empty será convertido para zero (0). Da mesma forma, caso seja empregada em uma operação envolvendo strings, o valor Empty será convertido para uma string vazia ("").

    O valor Null, atribuído ao caractere ASCII = 0 (zero), é diferente do valor Empty. Quando uma variável Variant contém o valor Null, ela já foi inicializada, indicando ausência de dado válido.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - TIPO DEFINIDO PELO USUÁRIO

Tipo definido pelo usuário


    Qualquer tipo de dado definido pela instrução Type, podendo conter um ou mais elementos de um tipo de dados, uma matriz, ou um tipo de dado qualquer já definido. Por exemplo:

Type Cliente

    Nome as string
    Endereço as string
    DataNasc as Data

End Type

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - STRING

String


    Existem dois tipos de variáveis string: de comprimento variável e de comprimento fixo.
  • Strings de comprimento variável podem conter aproximadamente 231 caracteres (@ 2 bilhões de caracteres);
  • Strings de comprimento fixo podem conter de 1 a 65.536.
Observação: Strings de comprimento fixo declaradas com abrangência Public não podem ser usadas em módulos classe.

    Os códigos para os caracteres string variam de 0-255. Os primeiros 128 caracteres do conjunto atual de caracteres correspondem às letras e símbolos do teclado padrão americano, sendo os mesmos definidos pela tabela ASCII de caracteres. O segundo conjunto de 128 caracteres (128-255) representam caracteres especiais, como letras no alfabeto internacional, acentos, símbolos monetários e frações.

    O caractere de declaração de tipo para variáveis string é ($).

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - SINGLE

Single


    Variáveis do tipo Single são armazenadas como números IEEE de ponto flutuante com 32 bits (4 bytes), com valor entre -3.402823E38 to -1.401298E-45 para valores negativos e 1.401298E-45 to 3.402823E38 para valores positivo.

    O caractere de declaração de tipo para as variáveis Single é (!).

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - OBJECT

Object


    Variáveis declaradas como As Object são armazenadas como endereços de 32 bits (4 bytes) que se referem a objetos, empregando-se a instrução Set para atribuir qualquer referência a um objeto válido à variável respectiva.

Observação: Variáveis declaradas As Object possuem referências do tipo tardia (late binding), que impedem a detecção de erros de compilação pelo VBA. Para forçar a declaração precoce (early binding), defina sempre a variável com a classe específica do objeto que ela irá conter.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - LONG

Long


    Variáveis do tipo Long são armazenadas como números inteiros de 32 bits(4 bytes), com valor variando entre -2,147,483,648 to 2,147,483,647.

    O caractere de declaração do tipo Long é o (&).

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - INTEGER

Integer


    Variáveis do tipo Integer são armazenados como números de 16 bits (2 bytes), com valor variando entre -32,768 à 32,767.

    Você pode empregar as variáveis Integer para representar enumeradores, que consistem em um conjunto finito de números inteiros, cada um deles com um significado específico no contexto em que são utilizadas. Enumeradores fornecem uma forma adequada de se empregar valores numéricos no código, evitando o aparecimento de números mágicos.

    O caractere de declaração do tipo Integer é (%).

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - DOUBLE

Double


    As variáveis Double são armazenadas como números IEEE de ponto flutuante de 64 bits (8 bytes) com valor numérico variando entre -1.79769313486231E308 a -4.94065645841247E-324 para valores negativos, e 4.94065645841247E-324 à 1.79769313486232E308 para valores positivos.

    O caractere de declaração do tipo Double é (#).

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - DECIMAL

Decimal


    Variáveis declaradas As Decimal são armazenadas como inteiros escalonados de 96 bits (12 bytes), por uma potência variável 10. O fator de escalonamento igual a 10 define o número de dígitos à direita da casa decimal e varia de 0 a 28.

    Com um escalonamento de 0 (sem casas decimais) o maior número possível é +/-79,228,162,514,264,337,593,543,950,335.

    Quando se emprega 28 casas decimais de precisão, o maior valor possível de ser armazenado é +/-7.9228162514264337593543950335 e o menor valor diferente de zero é +/-0.0000000000000000000000000001.

Observação: Nas versões atuais do VBA, o tipo de dados Decimal pode ser empregado apenas dentro de uma variável declarada As Variant - pois você não pode declarar uma variável como As Decimal. Para criar uma variável Variant com este subtipo, empregue a função de conversão Cdec() para converter o valor desejado para Decimal.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - DATE

Date


    As variáveis do tipo Date são armazenadas como números IEEE de ponto flutuante de 64 bits (8 bytes), representando datas que variam de 1/1/100 a 31/12/9999 e horas de 0:00:00 à 23:59:59. Qualquer valor de data válido pode ser atribuído a uma variável declarada As Date (valores inválidos não serão atribuídos, como 30/2/2000). Valores fornecidos em um formato literal identificável pelo Windows deverão ser envolvidos por (#), como #1 de janeiro de 2003#.

    As variáveis declaradas As Date, exibem datas no formato Data Abreviada atualmente definido pela seção Configurações Regionais do Painel de Controle do Windows, enquanto as horas são exibidas no formato de 12 ou 24 horas, conforme definido no Painel de Controle.

    Quando um valor numérico é convertido em uma variável do tipo Date, a parte inteira do número representará a data e a parte fracionária a hora. Meia-noite é definida como o valor zero (0) e meio-dia como (0.5). Números negativos representam datas iguais ou anteriores a 31/12/1899.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - CURRENCY

Currency


    Variáveis Currency são armazenadas como números de 62 bits (8 bytes) em um formato inteiro, escalonado por 10.000 para fornecer um número com 15 dígitos de magnitude à esquerda da casa decimal, e 4 dígitos decimais de precisão, permitindo representar valores numéricos financeiros situados na faixa de 922,337,203,685,477.5808 a 922,337,203,685,477.5807.

    Este tipo de dado deve ser empregado para cálculos envolvendo valores monetários e de ponto-fixo, no qual a precisão do cálculo é particularmente importante.

    O caractere de declaração de tipo para as variáveis Currency é o @.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - BYTE

Byte


    Variáveis do tipo Byte são armazenadas como números simples positivos de 8 bits, variando de 0-255. Sua utilidade é a de dados binários.

Até a Próxima!!

TIPOS DE DADOS SUPORTADOS PELO VBA - BOOLEAN

Boolean


    Variáveis declaradas como booleanas são armazenadas como números de 16 bits(2 bytes), porém podem receber apenas os valores True (-1) ou False (0). Ao serem impressas com a instrução Print, exibem as Constantes True ou False, e quando se emprega a instrução Write #, exibem #True# ou #False#.

    Quando qualquer valor numérico é convertido para Boolean, apenas o valor zero (0) se torna False. Qualquer outro valor é convertido para True. Entretanto, quando um valor booleano é convertido para outro tipo de dado, False se torna 0 e True se torna -1.

Até a Próxima!!

CONSTANTES DE COR DO SISTEMA

Constantes de cor do sistema


    Estas constantes definem as cores atualmente empregadas pelo sistema operacional (definidas na guia Aparência, da opção Vídeo do Painel de Controle do Windows).

Constante Valor Descrição
vbScrollBars 0x80000000 Cor das barras de rolamento
vbDesktop 0x80000001 Cor de fundo da Área de trabalho
vbActuveTitleBar 0x80000002 Cor da barra de título da janela ativa
vbInactiveTitleBar 0x80000003 Cor da barra de título da janela inativa
vbMenuBar 0x80000004 Cor de fundo dos menus
vbWindowBackground 0x80000005 Cor de fundo das janelas
vbWindowFrame 0x80000006 Cor das molduras das janelas
vbMenuText 0x80000007 Cor de texto dos menus
vbWindowText 0x80000008 Cor de texto das janelas
vbTitleBarText 0x80000009 Cor do texto das legendas, caixas de dimensionamento e setas de rolamento
vbActiveBorder 0x8000000A Cor da borda da janela ativa
vbInactiveBorder 0x8000000B Cor da borda das janelas inativas
vbApplicationWorkspace 0x8000000C Cor de fundo de aplicativos MDI (mutiple-document interface)
vbHighlight 0x8000000D Cor de fundo dos itens selecionados em um controle
vbHighlightText 0x8000000E Cor do texto dos itens selecionados em um controle
vbBotãoFace 0x8000000F Cor de face dos botões de comando
vbBotãoShadow 0x80000010 Cor de sombreamento das bordas de um botão de controle
vbGrayText 0x80000011 Cor de texto desabilitado (acinzentado)
vbBotãoText 0x80000012 Cor de texto dos botões de comando
vbInactiveCaptionText 0x80000013 Cor de texto da barra de título inativa
vb3DHighlight 0x80000014 Cor destacada para exibição de elementos 3-D

Até a Próxima!!

CONSTANTES TRISTATE (ESTADO TRIPLO)

Constantes TriState (estado triplo)


    As constantes TriState são utilizadas para definir o estado triplo de certos controles, como as caixas de verificação, que podem ficar marcadas, desmarcadas ou acinzentadas.

Constante Valor Descrição
vbTrue -1 Verdadeiro (True)
vbFalse 0 Falso (False)
vbUsePadrão -2 Valor padrão

Até a Próxima!!

CONSTANTES DE PASTAS ESPECIAIS DO WINDOWS

Constantes de pasta especiais do Windows


    Indicam atributos para pastas especiais do Windows, como pasta de instalação e de arquivos temporários.

Constante Valor Descrição
WindowsFolder 0 A pasta Windows contém arquivos instalados pelo sistema operacional
SystemFolder 1 A pasta System contém bibliotecas (DLLs), fonte e drivers de dispositivos (device drivers)
TemporaryFolder 2 A pasta Temp é empregada para armazenar arquivos temporários. Seu caminho é encontrado na variável de ambiente TMP

Até a Próxima!!

CONSTANTES DE ARQUIVOS DE ENTRADA E SAÍDA

Constantes de arquivos de entrada e saída


    Estas constantes são empregadas com a instrução Open do VBA, para indicar o tipo de arquivo a ser aberto.

Constante Valor Descrição
ForReading 1 Abre o arquivo somente-leitura, impedindo sua gravação
ForWriting 2 Abre o arquivo apenas para gravação. Se o arquivo não existir ele é criado. Se o arquivo já existir, ele é sobrescrito
ForAppending 8 Abre o arquivo para gravação, inserindo dados ao fim do arquivo

Até a Próxima!!

CONSTANTES DE ATRIBUTO DE ARQUIVO

Constantes de atributo de arquivo


    Estas constantes referem-se aos atributos de pastas e arquivos obtidos comas funções GetAttr(). A tabela indica também se o atributo pode ou não ser alterado pelo VBA.

Constante Valor Descrição
Normal 0 Arquivo normal, sem atributo definido - pode ser alterado
ReadOnly 1 Arquivo somente-leitura - pode ser alterado
Hidden 2 Arquivo oculto - pode ser alterado
System 4 Arquivo de sistema - pode ser alterado
Volume 8 Nome de volume do disco - pode ser alterado
Directory 16 Pasta ou diretório - não pode ser alterado
Archive 32 Arquivo alterado após último backup - pode ser alterado
Alias 64 Atalho - pode ser alterado
Compression 128 Arquivo comprimido - pode ser alterado

Até a Próxima!!

CONSTANTES DRIVETYPE

Constantes DriveType


    As constante DriveType aplicam-se aos controles Drive intrínsecos do Visual Basic e servem para determinar o tipo de drive a qual o controle se referencia.

Constante Valor Descrição
Unknown 0 O tipo de drive não pode ser determinado
Removable 1 O drive é de mídia removível, incluindo disquetes flexíveis
Fixed 2 O drive é de mídia não-removível (disco rígido)
Remote 3 Drive de rede
CDROM 4 Drive é um CD-ROM, gravável ou não
RAMDisk 5 Drive é um disco virtual

Até a Próxima!! 

CONSTANTES DE DATA PARA FUNÇÃO FORMAT

Constantes de data para a função Format


    Empregue estas constantes quando utilizar a função Format() do VBA para exibir datas em diferentes formatos suportados pela seção Configurações Regionais do Painel de Controle do Windows.

Constante Valor Descrição
vbGeneralDate 0 Exibe a data e a hora em números reais. Números inteiros exibem apenas a data, enquanto números fracionários exibem apenas a hora. O formato de exibição é definido na opção Configurações Regionais do Painel de Controle do Windows
vbLongDate 1 Exibe a data no formato de data completa do Painel de Controle
vbShortDate 2 Exibe a data no formato de data abreviada do Painel de Controle
vbLongTime 3 Exibe a hora no formato de hora completa do Painel de Controle
vbShortTime 4 Exibe a hora no formato de hora abreviada do Painel de Controle

Até a Próxima!!

CONSTANTES DE FORMULÁRIO

Constantes de formulário


    Estas constantes são empregadas no método Load do Visual Basic para determinar o tipo de janela a ser empregada na exibição de formulários (modal ou amodal).

Constante Valor Descrição
vbModeless 0 Formulário UserForm é amodal.
vbModal 1 Formulário UserForm é modal (padrão)

Até a Próxima!!

CONSTANTES CALLTYPE

Constantes CallType


    Estas constantes são empregadas pela função CallType() do VBA para determinar o método empregado para se invocar um procedimento.

Constante Valor Descrição
vbMethod 1 Indica que um método foi invocado.
vbGet 2 Indica um procedimento Property Get
vbLet 4 Indica um procedimento Property Let
vbSet 8 Indica um procedimento Property Set

Até a Próxima!!

CONSTANTES DE COR

Constantes de cor


Constante Valor Descrição
vbKeyBlack 0x0 Preto
vbKeyRed 0xFF Vermelho
vbKeyGreen 0xFF00 Verde
vbKeyYellow 0xFFFF Amarelo
vbKeyBlue 0xFF0000 Azul
vbKeyMagenta 0xFF00FF Magenta
vbKeyCyan 0xFFFF00 Ciano
vbKeyWhite 0xFFFFFF Branco

Até a Próxima!! 

CONSTANTES KEYCODE

Constantes Keycode


    Esta constantes são empregadas nos eventos associados ao pressionamento de tecla e mouse (KeyDown, KeyUp, KeyPress, MouseDown, MouseUp), para indicar quais teclas ou botões foram pressionadas.

Constante Valor Tecla ou valor pressionado
vbKeyLBotão 0x1 Botão esquerdo do mouse
vbKeyRBotão 0x2 Botão direito do mouse
vbKeyCancelBotão 0x3 Tecla Cancel
vbKeyMBotão 0x4 Botão direito do mouse
vbKeyBack 0x8 Tecla BACKSPACE
vbKeyTab 0x9 Tecla TAB
vbKeyClear 0xC Tecla CLEAR
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 LEFT ARROW
vbKeyUp 0x26 Tecla UP ARROW
vbKeyRight 0x27 Tecla RIGHT ARROW
vbKeyDown 0x28 Tecla DOWN ARROW
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

Constantes que definem teclas alfabéticas A-Z,

Constante Valor Tecla pressionada
vbKeyA 65 A
vbKeyB 66 B
vbKeyC 67 C
vbKeyD 68 D
vbKeyE 69 E
vbKeyF 70 F
vbKeyG 71 G
vbKeyH 72 H
vbKeyI 73 I
vbKeyJ 74 J
vbKeyK 75 K
vbKeyL 76 L
vbKeyM 77 M
vbKeyN 78 N
vbKeyO 79 O
vbKeyP 80 P
vbKeyQ 81 Q
vbKeyR 82 R
vbKeyS 83 S
vbKeyT 84 T
vbKeyU 85 U
vbKeyV 86 V
vbKeyW 87 W
vbKeyX 88 X
vbKeyY 89 Y
vbKeYz 90 Z

Constantes que definem teclas numéricas 0-9.

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


Constantes para números oriundos do teclado numérico (localizado à direita do teclado normal dos computadores PC).

Constante Valor Número pressionado (teclado numérico)
vbKeyNumpad0 0x60 0
vbKeyNumpad1 0x61 1
vbKeyNumpad2 0x62 2
vbKeyNumpad3 0x63 3
vbKeyNumpad4 0x64 4
vbKeyNumpad5 0x65 5
vbKeyNumpad6 0x66 6
vbKeyNumpad7 0x67 7
vbKeyNumpad8 0x68 8
vbKeyNumpad9 0x69 9
vbKeyMultiply 0x6A Multiplicação (*)
vbKeyAdd 0x6B Soma (+)
vbKeySeparator 0x6C Enter
vbKeySubtract 0x6D Subtração (-)
vbKeyDecimal 0x6E Ponto Decimal (.)
vbKeyDivide 0x6F Divisão (/)


Constantes para teclas de função.

Constante Valor Tecla de função pressionada
vbKeyF1 0x70 F1
vbKeyF2 0x71 F2
vbKeyF3 0x72 F3
vbKeyF4 0x73 F4
vbKeyF5 0x74 F5
vbKeyF6 0x75 F6
vbKeyF7 0x76 F7
vbKeyF8 0x77 F8
vbKeyF9 0x78 F9
vbKeyF10 0x79 F10
vbKeyF11 0x80 F11
vbKeyF12 0x81 F12
vbKeyF13 0x82 F13
vbKeyF14 0x83 F14
vbKeyF15 0x84 F15
vbKeyF16 0x85 F16

Até a Próxima!!