SlideShare uma empresa Scribd logo
O Visual Basic para Aplicações é uma linguagem de programação
utilizada por aplicações Windows e cujo objectivo é a automatização de
tarefas que envolvem objectos
Em programação Visual Basic, O Excel é um Objecto denominado por
Application, um livro é um Workbook e uma folha de cálculo um Worksheet
A programação por objectos segue o método hierárquico em que uma
colecção contém um conjunto de objectos agrupados segundo a sua
categoria e com as suas próprias características e funcionalidades.
Ex: Todos os livros contêm uma colecção Sheets que representa todas as
folhas de cálculo desse livro.
A própria aplicação contém uma colecção de objectos – a colecção
Workbooks que representa todos os ficheiros (livros) presentemente
utilizados pela instância da aplicação actual
O que é o VBA (Visual Basic)?
Objectos
Propriedades
Uma propriedade é uma característica de um objecto que representa a sua
aparência e o seu comportamento durante a execução de um programa.
Exemplos: a cor, o tipo de letra, a posição no ecrã e a capacidade de
redimensionamento etc.
NotaNota: Na programação orientada por objectos, todos os objectos pertencentes à mesma categoria
(colecção) contêm as mesmas propriedades; os valores das mesmas poderão diferir de elemento para
elemento (faculdade que torna cada objecto único)
As propriedades dos objectos encontram-se categorizadas em 2 grandes
tipos:
De leitura (Read-Only Properties) – Os valores das propriedades
apenas podem ser alterados na fase de desenho (estrutura) de uma
aplicação (Design-Time)
De leitura e escrita (Read-Write Properties) – Os valores das
propriedades podem ser alterados quer na fase de desenho de uma
aplicação, quer em modo de execução (através de código-fonte).
Eventos
Um evento é uma acção que determinado objecto pode reconhecer, ao qual
poderá estar associado código de resposta. Um dos eventos mais comuns é o
evento Click, gerado sempre que o utilizador prime o botão esquerdo do rato sobre
determinado objecto.
Em programação, todos os eventos são procedimentos, ou seja, linhas de código ou
instruções executadas numa sequência lógica que figuram num módulo de
programação (conjunto de procedimentos)
Em programação, os eventos constituem o ponto de partida para toda a execução
e funcionalidade da aplicação
Métodos
Um método é uma acção levada a cabo por um objecto. Estas funcionalidades,
tecnicamente conhecidas por funções de membro de uma classe, são
constituídas por um conjunto de instruções que se encontram bem definidas e
estruturadas internamente nesse objecto.
Nota: Os métodos são invocados a partir de módulos de programação, digitando o nome do objecto
que desempenhará a acção, seguido do nome do método, separando os dois com um ponto final.
Ex: Application.Quit
Exercício: Desenhe dois botões de comando com os rótulos «Proteger folha» e
«Desproteger folha» e com os nomes «proteger_folha» e «desproteger_folha»
respectivamente. O 1º botão protege todas as células da folha de cálculo
Sheet1 (Folha1) e o 2º botão repõe a possibilidade de edição.
Código atribuído ao botão «Proteger Folha»
Private Sub proteger_folha_Click()
Sheets(“Folha1”).Protect
End Sub
Código atribuído ao botão «Desproteger Folha»
Private Sub desproteger_folha_Click()
Sheets(“Folha1”).Unprotect
End Sub
Execução do Programa
Digitar o texto «Teste» na célula «A1» (é possível, pois a folha não está protegida).
Fazer clique sobre o botão «Proteger Folha»
Tentar eliminar o conteúdo da célula «A1» (impossível, pois a folha está protegida)
PROCEDIMENTO – Um procedimento é uma sequência de instruções que
formam um bloco de código que é executado como um todo. Quando
invocamos um procedimento, todo o código nele contido é executado, pelo que
é impossível invocar apenas uma parte do mesmo.
Procedimentos
Existem 3 tipos de procedimentos:
Procedimentos de Evento (Event-Procedures)
Procedimentos Sub (Sub-Procedures)
Procedimentos de Função (Function-Procedures)
Sintaxe de declaração dos procedimentos de evento é:
Private Sub <Objecto>_<Evento> ([argumento1], [argumento2], [...])
[Instrução1]
[Instrução2]
[...]
End Sub
Procedimentos de Evento (Event-Procedures)
São procedimentos que dizem respeito a acções reconhecidas por
objectos (eventos)
Exemplo (sem argumentos):
Private Sub Sheet1_Activate()
… Bloco de código associado ao evento Activate de um objecto Worksheet
… Este evento é reconhecido sempre que o utilizador selecciona a folha
… O procedimento não aceita argumentos
End Sub
Exemplo (com argumentos):
Private Sub but_KeyPress(Byval KeyAscii As MSForms.Returninteger)
… Bloco de código associado ao evento KeyPress de CommandButton
… Este evento é reconhecido sempre que o utilizador prime uma tecla
… O procedimento aceita argumentos
End Sub
Procedimentos Sub (Sub-Procedures)
São procedimentos definidos pelo programador, que consistem num
conjunto de instruções executadas sequencialmente com o objectivo de
desempenhar uma tarefa específica.
NotaNota: São designados por procedimentos secundários, isto porque são
normalmente chamados a partir dos procedimentos de evento.
Exemplo 1:
Sub FecharExcel()
Application.Caption = “A encerrar…”
Application.Quit
End Sub
Sintaxe de declaração dos procedimentos Sub é:
Sub <Nome_Procedimento> ([argumento1], [argumento2], [...])
[Instrução1]
[Instrução2]
[...]
End Sub
Este procedimento cria um novo procedimento com o nome
«FecharExcel» que simplesmente altera o texto da barra de título da
janela da aplicação e imediatamente termina o Excel.
Exemplo 2:
Sub ApresentarTexto(Texto)
Application.Caption = “Texto”
End Sub
Este procedimento aceita um argumento «texto» como sendo uma cadeia de
caracteres. O título da janela da aplicação está dependente do valor desse
argumento.
Procedimentos de Função (Function-Procedures)
São procedimentos definidos pelo programador, que executam tarefas e
retornam um valor para o procedimento que o invocou.
Sintaxe de declaração dos procedimentos de função é:
Function <Nome_Função> ([argumento1], [argumento2], [...])
[Instrução1]
[Instrução2]
[...]
End Function
Exemplo:
Sub Calcular()
Resultado=FormulaComplexa(2,7)
Application.Caption=resultado
End Sub
Function FormulaComplexa(num1,num2)
FormulaComplexa=(num1*num2)/(num1+10)
End Function
Este pequeno programa consiste na criação de um procedimento «Calcular» que envia
para o procedimento de função os números 2 e 7. A função realiza o cálculo mediante
estes dois argumentos e devolve o resultado para o procedimento;
Este é depois responsável por alterar o texto da barra de título da aplicação, reflectindo
o valor calculado pela função «FormulaComplexa».
Exercício de Aplicação
OjectivoOjectivo: consiste na obtenção do primeiro e último nome do utilizador
através de duas caixas de texto. O evento Click do botão «OK» invocará o
procedimento «portexto», que enviará estes dois argumentos para a função
«Juntar», responsável por retornar o nome completo. Deverá desenhar 3
caixas de texto e um botão de comando até obter um ecrã semelhante ao
apresentado na figura
Private Sub CommandButton1_Click()
PorTexto
End Sub
Sub PorTexto()
nome = TextBox1.Text
apelido = TextBox2.Text
completo = juntar(nome, apelido)
TextBox3.Text = completo
End Sub
Function juntar(nome, apelido)
juntar = nome + " " + apelido
End Function
Resolução do Exercício de Aplicação
Variáveis – Uma variável é uma localização na memória, na qual são
armazenados dados durante a execução de um programa. Cada variável possui
um nome, um tipo de dados e um conteúdo. O nome da variável é a designação
pela qual a podemos referenciar em módulos de programação. O tipo de dados
define qual o tipo de informação que a variável pode conter (números inteiros,
decimais, cadeias de caracteres alfanuméricas, datas, valores lógicos, etc...). O
conteúdo representa o valor efectivo da variável em qualquer ponto da execução
do programa.
Variáveis
REGRAS DE NOMENCLATURA PARA AS VARIÁVEIS SÃO AS SEGUINTES:
o primeiro caracter deve ser uma letra de A a Z
Não podem conter espaços, pontos finais(.), pontos de exclamação(!) ou os
caracteres @, $, # e &
Não podem exceder 255 caracteres.
São únicas no módulo em que são declaradas.
Sintaxe de declaração das variáveis é:
DIM <Nome_variável> [As <tipo de dados>]
Exemplos:
Dim Nome as string
Dim Idade As Integer
Constantes – Uma constante, tal como o próprio nome indica, apresenta as mesmas
características de uma variável, contudo, é declarada de forma diferente e o seu conteúdo
não pode ser alterado durante a execução de um programa.
Sintaxe de declaração das constantes é:
Const <Nome_Constante> As <tipo de dados> = <Valor>
TIPOS DE DADOS
Integer
Long
Single
Double
String
Date
Currency
Byte
Boolean
…..
Constantes
Funções
FUNÇÃO MsgBox - Apresenta no ecrã uma caixa de mensagem padrão de
sistema operativo com o ícone e botões especificados. Retorna uma constante
numérica do tipo Integer que contém informação acerca do botão escolhido pelo
utilizador.
SINTAXE:
MsgBox (Prompt, Buttons, Title, Helpfile, Context)
Prompt – Argumento do tipo String, correspondente ao texto que constitui a mensagem a
ser apresentada na caixa de diálogo. O comprimento máximo do texto é de,
aproximadamente, 1024 caracteres, dependendo da largura ocupada pelos mesmos.
Buttons – Argumento opcional que está interligado com a apresentação da própria caixa
no ecrã no que se refere aos icones e tipos de botões apresentados.
Constante Valor
vbCritical 16
vbQuestion 32
vbExclamation 48
vbInformation 64
As constantes utilizadas para a escolha do ícone são:
Em relação ao número e tipo de botões:
Constante Valor Descrição
VbOkOnly 0 Apenas o botão OK
VbOkCancel 1 OK e Cancel (Cancelar)
VbAbortRetryIgnore 2 Abort (Abortar), Retry (Repetir) e Ignore (Ignorar)
VbYesNoCancel 3 Yes (Sim), No (Não) e Cancel (Cancelar)
VbYesNo 4 Yes (Sim) e No (Não).
VbRetryCancel 5 Retry (Repetir) e Cancel (Cancelar).
Valores retornados pela função Msgbox:
Constante Valor
VbOk 1
VbCancel 2
VbAbort 3
VbRetry 4
VbIgnore 5
VbYes 6
VbNo 7
SINTAXE:
InputBox (Prompt, Title, Default, Xpos, Ypos, Helpfile, Context)
FUNÇÃO InputBox - Apresenta no ecrã uma caixa de mensagem padrão de
sistema operativo que serve para recolher informações do utilizador, sob a forma
de texto. Retorna uma constante do tipo string correspondente ao texto digitado
na caixa de introdução.
Prompt – Argumento obrigatório do tipo String correspondente à mensagem a ser apresentada na
caixa
Title – Argumento opcional do tipo String que define o texto da barra de título da janela.
O texto predefinido corresponde ao nome da aplicação anfitriã, neste caso, «Microsoft Excel».
Default – Argumento opcional do tipo String que representa o texto a aparecer automaticamente na
caixa de introdução.
Xpos – Opcional. Expressão numérica que especifica, em medidas de ecrã (twips), a distância
horizontal entre a extremidade esquerda da caixa de diálogo e o limite esquerdo do ecrã. Se este
argumento for omitido, a caixa é centrada automaticamente na horizontal.
Ypos – Opcional. Expressão numérica que especifica, em medidas de ecrã (twips), a distância
vertical entre a extremidade de topo da caixa de diálogo e o limite superior do ecrã. Se este
argumento for omitido, a caixa é centrada automaticamente na vertical.
Condições
A Estrutura If… Then … Else
1º Modo (If…Then)
A condição é testada. Se for verdadeira executa uma única instrução,
após a cláusula Then
Sintaxe
If <condição> Then <instrução>
Exemplo:
If nome=“Ana” Then idade =45
Se a variável “nome” contém a String “Ana”, a variável “idade” ficará
com o valor 45; caso contrário a instrução é ignorada.
2º Modo (If…Then…End If)
A condição é testada. Se for verdadeira, executa um conjunto de
instruções. Quando associamos mais do que uma instrução à cláusula
Then, estamos perante um bloco If … End If, em que If inicia e End If
termina o bloco condicional.
Sintaxe:
If <condição> Then
[instrução1]
[instrução2]
[instrução3]
[instrução4]
[…]
End If
Exemplo:
If var1 < 0 Then
Msgbox “Erro”, VbCritical
var1=10
End If
Se a variável «var1» é inferior a zero, será apresentada uma caixa de
mensagem de erro e a variável ficará com o valor de 10
Sintaxe:
If <condição> Then
[instrução1]
[instrução2]
[…]
Else
[instrução3]
[instrução4]
[…]
End If
3º Modo (If…Then…Else… End If)
Exemplo:
If mensagem = 10 Then
Msgbox “A sua caixa de correio está cheia!”, Vbexclamation
disponivel=0
Else
Este exemplo simula o acesso a uma caixa postal de um telemóvel com
um limite máximo de mensagens igual a 10. Quando o contador do
número de mensagens chega ao limite, o utilizador é alertado desse facto
através de uma caixa de mensagem.
Msgbox “A sua caixa de correio tem” & mensagens & “ mensagens!”
disponivel=10-mensagens
End If
Ciclos
A Estrutura Do… Loop
1º Modo (Do… While …Loop)
O ciclo é verificado enquanto a condição especificada for
verdadeira
Sintaxe:
Do While <condição>
[instrução1]
[instrução2]
[…]
Loop

Mais conteúdo relacionado

Mais procurados (10)

PPTX
Construção de interfaces gráficas com Tkinter
Marcos Castro
 
PDF
Cap07
mvbahamut
 
PDF
Interfaces Gráficas em Java Parte 3
Elaine Cecília Gatto
 
PPT
Linguagens de programação 12º M11
Luis Ferreira
 
PPT
Linguagens de programação 12º M12
Luis Ferreira
 
PPT
Introdução à análise orientada a objetos parte 1
ariovaldodias
 
PPTX
Aula 25 e 26 formulário acessibilidade
Jolvani Morgan
 
Construção de interfaces gráficas com Tkinter
Marcos Castro
 
Cap07
mvbahamut
 
Interfaces Gráficas em Java Parte 3
Elaine Cecília Gatto
 
Linguagens de programação 12º M11
Luis Ferreira
 
Linguagens de programação 12º M12
Luis Ferreira
 
Introdução à análise orientada a objetos parte 1
ariovaldodias
 
Aula 25 e 26 formulário acessibilidade
Jolvani Morgan
 

Semelhante a Excel Basic com VBA - Macros (20)

PPTX
2. ambiente de desenvolvimento do vb (parte 1)
Eugenio Caetano
 
PDF
1214 visual basic
Elvis Reis
 
PDF
VBA-Excel.pdf
ssuserd244eb
 
PPTX
Introducao ao visual basic
Eugenio Caetano
 
PDF
Apostila Completa de Visual Basic
Marcos Paulo
 
PDF
Programação de Macros com LibreOffice Basic
Ambiente Livre
 
PDF
Programacao de macros_com_libre_office_basic_slideshare
Marcio Junior Vieira
 
PDF
Programação de Macros com LibreOffice Basic
Marcio Junior Vieira
 
DOCX
Basico dovba excel_tutorial1
Carlos Adriano Rosa
 
PDF
Apostila excel vba
Sidnei Pelegrin
 
PPTX
Curso de Macros en Excel (VBA)
UNASP
 
PPTX
3. ambiente de desenvolvimento do vb (parte 2)
Eugenio Caetano
 
PDF
3867 criando macros vba excel
nicomedesdamiao
 
PDF
Criando macros vba excel 2003
Wanderson Mariano
 
PDF
Apostila microsoft visual basic
Everton Luis Sergio
 
PDF
Apostila de vb
Fernando Palma
 
PDF
A programação básica
Atanasio Pascoal
 
PDF
A programacao basica
Marcelo Antonio
 
PDF
Vbasic6
Lucilene Pitanga
 
PDF
Apostila excel vba completa portugues
Mario Mario
 
2. ambiente de desenvolvimento do vb (parte 1)
Eugenio Caetano
 
1214 visual basic
Elvis Reis
 
VBA-Excel.pdf
ssuserd244eb
 
Introducao ao visual basic
Eugenio Caetano
 
Apostila Completa de Visual Basic
Marcos Paulo
 
Programação de Macros com LibreOffice Basic
Ambiente Livre
 
Programacao de macros_com_libre_office_basic_slideshare
Marcio Junior Vieira
 
Programação de Macros com LibreOffice Basic
Marcio Junior Vieira
 
Basico dovba excel_tutorial1
Carlos Adriano Rosa
 
Apostila excel vba
Sidnei Pelegrin
 
Curso de Macros en Excel (VBA)
UNASP
 
3. ambiente de desenvolvimento do vb (parte 2)
Eugenio Caetano
 
3867 criando macros vba excel
nicomedesdamiao
 
Criando macros vba excel 2003
Wanderson Mariano
 
Apostila microsoft visual basic
Everton Luis Sergio
 
Apostila de vb
Fernando Palma
 
A programação básica
Atanasio Pascoal
 
A programacao basica
Marcelo Antonio
 
Apostila excel vba completa portugues
Mario Mario
 
Anúncio

Mais de Joao Sousa (12)

PDF
Historia da-alimentacao-e-da-gastronomia
Joao Sousa
 
PDF
Trabalho guatemala
Joao Sousa
 
PDF
Trabalho farsa de inês pereira
Joao Sousa
 
PPTX
Trabalho de filosofia - Fundamentação da Moral
Joao Sousa
 
PDF
História de arte
Joao Sousa
 
PPTX
Auto da barca do inferno enforcado
Joao Sousa
 
PDF
Guia utilizador power point 2013
Joao Sousa
 
PDF
Manual de dislexia
Joao Sousa
 
PPTX
Sessao2 reiki 3_b_parte_1_blearning
Joao Sousa
 
DOCX
Curiosidades sistema cardio vascular
Joao Sousa
 
PDF
Reiki cristaloterapia
Joao Sousa
 
PDF
Manual solucoes-redes-tanenbaum
Joao Sousa
 
Historia da-alimentacao-e-da-gastronomia
Joao Sousa
 
Trabalho guatemala
Joao Sousa
 
Trabalho farsa de inês pereira
Joao Sousa
 
Trabalho de filosofia - Fundamentação da Moral
Joao Sousa
 
História de arte
Joao Sousa
 
Auto da barca do inferno enforcado
Joao Sousa
 
Guia utilizador power point 2013
Joao Sousa
 
Manual de dislexia
Joao Sousa
 
Sessao2 reiki 3_b_parte_1_blearning
Joao Sousa
 
Curiosidades sistema cardio vascular
Joao Sousa
 
Reiki cristaloterapia
Joao Sousa
 
Manual solucoes-redes-tanenbaum
Joao Sousa
 
Anúncio

Excel Basic com VBA - Macros

  • 1. O Visual Basic para Aplicações é uma linguagem de programação utilizada por aplicações Windows e cujo objectivo é a automatização de tarefas que envolvem objectos Em programação Visual Basic, O Excel é um Objecto denominado por Application, um livro é um Workbook e uma folha de cálculo um Worksheet A programação por objectos segue o método hierárquico em que uma colecção contém um conjunto de objectos agrupados segundo a sua categoria e com as suas próprias características e funcionalidades. Ex: Todos os livros contêm uma colecção Sheets que representa todas as folhas de cálculo desse livro. A própria aplicação contém uma colecção de objectos – a colecção Workbooks que representa todos os ficheiros (livros) presentemente utilizados pela instância da aplicação actual O que é o VBA (Visual Basic)? Objectos
  • 2. Propriedades Uma propriedade é uma característica de um objecto que representa a sua aparência e o seu comportamento durante a execução de um programa. Exemplos: a cor, o tipo de letra, a posição no ecrã e a capacidade de redimensionamento etc. NotaNota: Na programação orientada por objectos, todos os objectos pertencentes à mesma categoria (colecção) contêm as mesmas propriedades; os valores das mesmas poderão diferir de elemento para elemento (faculdade que torna cada objecto único) As propriedades dos objectos encontram-se categorizadas em 2 grandes tipos: De leitura (Read-Only Properties) – Os valores das propriedades apenas podem ser alterados na fase de desenho (estrutura) de uma aplicação (Design-Time) De leitura e escrita (Read-Write Properties) – Os valores das propriedades podem ser alterados quer na fase de desenho de uma aplicação, quer em modo de execução (através de código-fonte).
  • 3. Eventos Um evento é uma acção que determinado objecto pode reconhecer, ao qual poderá estar associado código de resposta. Um dos eventos mais comuns é o evento Click, gerado sempre que o utilizador prime o botão esquerdo do rato sobre determinado objecto. Em programação, todos os eventos são procedimentos, ou seja, linhas de código ou instruções executadas numa sequência lógica que figuram num módulo de programação (conjunto de procedimentos) Em programação, os eventos constituem o ponto de partida para toda a execução e funcionalidade da aplicação
  • 4. Métodos Um método é uma acção levada a cabo por um objecto. Estas funcionalidades, tecnicamente conhecidas por funções de membro de uma classe, são constituídas por um conjunto de instruções que se encontram bem definidas e estruturadas internamente nesse objecto. Nota: Os métodos são invocados a partir de módulos de programação, digitando o nome do objecto que desempenhará a acção, seguido do nome do método, separando os dois com um ponto final. Ex: Application.Quit Exercício: Desenhe dois botões de comando com os rótulos «Proteger folha» e «Desproteger folha» e com os nomes «proteger_folha» e «desproteger_folha» respectivamente. O 1º botão protege todas as células da folha de cálculo Sheet1 (Folha1) e o 2º botão repõe a possibilidade de edição.
  • 5. Código atribuído ao botão «Proteger Folha» Private Sub proteger_folha_Click() Sheets(“Folha1”).Protect End Sub Código atribuído ao botão «Desproteger Folha» Private Sub desproteger_folha_Click() Sheets(“Folha1”).Unprotect End Sub Execução do Programa Digitar o texto «Teste» na célula «A1» (é possível, pois a folha não está protegida). Fazer clique sobre o botão «Proteger Folha» Tentar eliminar o conteúdo da célula «A1» (impossível, pois a folha está protegida)
  • 6. PROCEDIMENTO – Um procedimento é uma sequência de instruções que formam um bloco de código que é executado como um todo. Quando invocamos um procedimento, todo o código nele contido é executado, pelo que é impossível invocar apenas uma parte do mesmo. Procedimentos Existem 3 tipos de procedimentos: Procedimentos de Evento (Event-Procedures) Procedimentos Sub (Sub-Procedures) Procedimentos de Função (Function-Procedures)
  • 7. Sintaxe de declaração dos procedimentos de evento é: Private Sub <Objecto>_<Evento> ([argumento1], [argumento2], [...]) [Instrução1] [Instrução2] [...] End Sub Procedimentos de Evento (Event-Procedures) São procedimentos que dizem respeito a acções reconhecidas por objectos (eventos) Exemplo (sem argumentos): Private Sub Sheet1_Activate() … Bloco de código associado ao evento Activate de um objecto Worksheet … Este evento é reconhecido sempre que o utilizador selecciona a folha … O procedimento não aceita argumentos End Sub
  • 8. Exemplo (com argumentos): Private Sub but_KeyPress(Byval KeyAscii As MSForms.Returninteger) … Bloco de código associado ao evento KeyPress de CommandButton … Este evento é reconhecido sempre que o utilizador prime uma tecla … O procedimento aceita argumentos End Sub Procedimentos Sub (Sub-Procedures) São procedimentos definidos pelo programador, que consistem num conjunto de instruções executadas sequencialmente com o objectivo de desempenhar uma tarefa específica. NotaNota: São designados por procedimentos secundários, isto porque são normalmente chamados a partir dos procedimentos de evento.
  • 9. Exemplo 1: Sub FecharExcel() Application.Caption = “A encerrar…” Application.Quit End Sub Sintaxe de declaração dos procedimentos Sub é: Sub <Nome_Procedimento> ([argumento1], [argumento2], [...]) [Instrução1] [Instrução2] [...] End Sub Este procedimento cria um novo procedimento com o nome «FecharExcel» que simplesmente altera o texto da barra de título da janela da aplicação e imediatamente termina o Excel.
  • 10. Exemplo 2: Sub ApresentarTexto(Texto) Application.Caption = “Texto” End Sub Este procedimento aceita um argumento «texto» como sendo uma cadeia de caracteres. O título da janela da aplicação está dependente do valor desse argumento. Procedimentos de Função (Function-Procedures) São procedimentos definidos pelo programador, que executam tarefas e retornam um valor para o procedimento que o invocou. Sintaxe de declaração dos procedimentos de função é: Function <Nome_Função> ([argumento1], [argumento2], [...]) [Instrução1] [Instrução2] [...] End Function
  • 11. Exemplo: Sub Calcular() Resultado=FormulaComplexa(2,7) Application.Caption=resultado End Sub Function FormulaComplexa(num1,num2) FormulaComplexa=(num1*num2)/(num1+10) End Function Este pequeno programa consiste na criação de um procedimento «Calcular» que envia para o procedimento de função os números 2 e 7. A função realiza o cálculo mediante estes dois argumentos e devolve o resultado para o procedimento; Este é depois responsável por alterar o texto da barra de título da aplicação, reflectindo o valor calculado pela função «FormulaComplexa».
  • 12. Exercício de Aplicação OjectivoOjectivo: consiste na obtenção do primeiro e último nome do utilizador através de duas caixas de texto. O evento Click do botão «OK» invocará o procedimento «portexto», que enviará estes dois argumentos para a função «Juntar», responsável por retornar o nome completo. Deverá desenhar 3 caixas de texto e um botão de comando até obter um ecrã semelhante ao apresentado na figura
  • 13. Private Sub CommandButton1_Click() PorTexto End Sub Sub PorTexto() nome = TextBox1.Text apelido = TextBox2.Text completo = juntar(nome, apelido) TextBox3.Text = completo End Sub Function juntar(nome, apelido) juntar = nome + " " + apelido End Function Resolução do Exercício de Aplicação
  • 14. Variáveis – Uma variável é uma localização na memória, na qual são armazenados dados durante a execução de um programa. Cada variável possui um nome, um tipo de dados e um conteúdo. O nome da variável é a designação pela qual a podemos referenciar em módulos de programação. O tipo de dados define qual o tipo de informação que a variável pode conter (números inteiros, decimais, cadeias de caracteres alfanuméricas, datas, valores lógicos, etc...). O conteúdo representa o valor efectivo da variável em qualquer ponto da execução do programa. Variáveis REGRAS DE NOMENCLATURA PARA AS VARIÁVEIS SÃO AS SEGUINTES: o primeiro caracter deve ser uma letra de A a Z Não podem conter espaços, pontos finais(.), pontos de exclamação(!) ou os caracteres @, $, # e & Não podem exceder 255 caracteres. São únicas no módulo em que são declaradas.
  • 15. Sintaxe de declaração das variáveis é: DIM <Nome_variável> [As <tipo de dados>] Exemplos: Dim Nome as string Dim Idade As Integer Constantes – Uma constante, tal como o próprio nome indica, apresenta as mesmas características de uma variável, contudo, é declarada de forma diferente e o seu conteúdo não pode ser alterado durante a execução de um programa. Sintaxe de declaração das constantes é: Const <Nome_Constante> As <tipo de dados> = <Valor> TIPOS DE DADOS Integer Long Single Double String Date Currency Byte Boolean ….. Constantes
  • 16. Funções FUNÇÃO MsgBox - Apresenta no ecrã uma caixa de mensagem padrão de sistema operativo com o ícone e botões especificados. Retorna uma constante numérica do tipo Integer que contém informação acerca do botão escolhido pelo utilizador. SINTAXE: MsgBox (Prompt, Buttons, Title, Helpfile, Context) Prompt – Argumento do tipo String, correspondente ao texto que constitui a mensagem a ser apresentada na caixa de diálogo. O comprimento máximo do texto é de, aproximadamente, 1024 caracteres, dependendo da largura ocupada pelos mesmos. Buttons – Argumento opcional que está interligado com a apresentação da própria caixa no ecrã no que se refere aos icones e tipos de botões apresentados. Constante Valor vbCritical 16 vbQuestion 32 vbExclamation 48 vbInformation 64 As constantes utilizadas para a escolha do ícone são:
  • 17. Em relação ao número e tipo de botões: Constante Valor Descrição VbOkOnly 0 Apenas o botão OK VbOkCancel 1 OK e Cancel (Cancelar) VbAbortRetryIgnore 2 Abort (Abortar), Retry (Repetir) e Ignore (Ignorar) VbYesNoCancel 3 Yes (Sim), No (Não) e Cancel (Cancelar) VbYesNo 4 Yes (Sim) e No (Não). VbRetryCancel 5 Retry (Repetir) e Cancel (Cancelar). Valores retornados pela função Msgbox: Constante Valor VbOk 1 VbCancel 2 VbAbort 3 VbRetry 4 VbIgnore 5 VbYes 6 VbNo 7
  • 18. SINTAXE: InputBox (Prompt, Title, Default, Xpos, Ypos, Helpfile, Context) FUNÇÃO InputBox - Apresenta no ecrã uma caixa de mensagem padrão de sistema operativo que serve para recolher informações do utilizador, sob a forma de texto. Retorna uma constante do tipo string correspondente ao texto digitado na caixa de introdução. Prompt – Argumento obrigatório do tipo String correspondente à mensagem a ser apresentada na caixa Title – Argumento opcional do tipo String que define o texto da barra de título da janela. O texto predefinido corresponde ao nome da aplicação anfitriã, neste caso, «Microsoft Excel». Default – Argumento opcional do tipo String que representa o texto a aparecer automaticamente na caixa de introdução. Xpos – Opcional. Expressão numérica que especifica, em medidas de ecrã (twips), a distância horizontal entre a extremidade esquerda da caixa de diálogo e o limite esquerdo do ecrã. Se este argumento for omitido, a caixa é centrada automaticamente na horizontal. Ypos – Opcional. Expressão numérica que especifica, em medidas de ecrã (twips), a distância vertical entre a extremidade de topo da caixa de diálogo e o limite superior do ecrã. Se este argumento for omitido, a caixa é centrada automaticamente na vertical.
  • 19. Condições A Estrutura If… Then … Else 1º Modo (If…Then) A condição é testada. Se for verdadeira executa uma única instrução, após a cláusula Then Sintaxe If <condição> Then <instrução> Exemplo: If nome=“Ana” Then idade =45 Se a variável “nome” contém a String “Ana”, a variável “idade” ficará com o valor 45; caso contrário a instrução é ignorada.
  • 20. 2º Modo (If…Then…End If) A condição é testada. Se for verdadeira, executa um conjunto de instruções. Quando associamos mais do que uma instrução à cláusula Then, estamos perante um bloco If … End If, em que If inicia e End If termina o bloco condicional. Sintaxe: If <condição> Then [instrução1] [instrução2] [instrução3] [instrução4] […] End If
  • 21. Exemplo: If var1 < 0 Then Msgbox “Erro”, VbCritical var1=10 End If Se a variável «var1» é inferior a zero, será apresentada uma caixa de mensagem de erro e a variável ficará com o valor de 10
  • 23. Exemplo: If mensagem = 10 Then Msgbox “A sua caixa de correio está cheia!”, Vbexclamation disponivel=0 Else Este exemplo simula o acesso a uma caixa postal de um telemóvel com um limite máximo de mensagens igual a 10. Quando o contador do número de mensagens chega ao limite, o utilizador é alertado desse facto através de uma caixa de mensagem. Msgbox “A sua caixa de correio tem” & mensagens & “ mensagens!” disponivel=10-mensagens End If
  • 24. Ciclos A Estrutura Do… Loop 1º Modo (Do… While …Loop) O ciclo é verificado enquanto a condição especificada for verdadeira Sintaxe: Do While <condição> [instrução1] [instrução2] […] Loop