UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
Centro Interdisciplinar de Novas Tecnologias na Educação
TUTORIAL POWERPOINT VBA
Profª Liane Tarouco
Introdução a linguagem VBA - Visual Basic For Applications
O VBA teve origem no Visual Basic. O Visual Basic é um ambiente de desenvolvimento completo,
onde podemos criar programas para o ambiente Windows. Um programa como o Programa Para
Declaração de Imposto de Renda da Pessoa Física, pode ser criado utilizando-se o Visual Basic. Um
aplicativo como o Winzip ou como um sistema para controle de clientes e de vendas, também
poderia ser criado utilizando o Visual Basic. Já o VBA é uma linguagem bastante poderosa, embora
não seja tão poderosa quanto o Visual Basic, para criação de aplicativos e automação de tarefas,
baseados nos aplicativos do Microsoft Office: Access, Word, Excel, PowerPoint e Outlook.
É importante entender que existe uma diferença fundamental entre o Visual Basic e o VBA:
Com o Visual Basic é possível criar os programas executáveis, ou seja, você cria o programa e gera
os arquivos de instalação. Nos arquivos de instalação estão todos os recursos necessários à
instalação e ao funcionamento do programa. Já com o VBA não é possível criar programas
executáveis. As rotinas de programação criadas com o VBA tem que ser executadas dentro de um
dos aplicativos do Office, como por exemplo o Access, Excel, Word, PowerPoint ou Outlook.
Onde podemos utilizar o VBA?
Existem, basicamente, duas situações/locais diferentes onde podemos utilizar o VBA:
•
Como resposta a um evento: o modelo de programação do ambiente Windows é baseado
em Eventos. Um Evento é uma ação do usuário ao utilizar o teclado ou o mouse. Por
exemplo, quando o usuário clica em um botão de comando é gerado o evento "Ao clicar"
associado com este botão. Quando o usuário altera o valor em um campo de dados e
pressiona a tecla TAB para ir para o próximo campo são gerados dois eventos associados
com o campo que foi atualizado: "Após atualizar" e "Ao perder o foco". Ah, também será
gerado o evento "Ao receber o foco", associado com o capo para o qual foi posicionado o
cursor. Quando o usuário dá um clique duplo em um determinado elemento de uma tela do
Windows, é disparado o evento "Ao clicar duas vezes", e assim por diante. Por padrão
nenhuma ação é programada para responder aos eventos que são disparados. É possível
criar macros que serão executadas em resposta a um determinado evento. Podemos utilizar o
VBA para criar um procedimento (um procedimento é formado por um ou mais comandos e
pode ser do tipo Sub-procedimento ou Função) que será executado em resposta ao evento.
Por exemplo, podemos criar um procedimento para validar um número de CPF (calcular o DV
do CPF). Este procedimento pode ser configurado para ser executado em resposta ao evento
Após atualizar do campo CPF. O código criado para ser executado em resposta a um evento,
é gravada juntamente com o formulário (ou relatório), onde está o elemento que dispara o
evento.
•
Criação de funções e procedimentos em módulos separados: Se quisermos criar
procedimentos ou funções que não estejam ligados a um evento específico em um formulário
ou relatório (podendo, porém serem chamados em diversos eventos diferentes), podemos
criar funções gravadas em Módulos. Um Módulo é um objeto cuja única finalidade é
armazenar código de procedimentos e funções do VBA. Quando um procedimento ou função
é definido e armazenado em um módulo, podemos usá-lo em qualquer expressão, como se
fosse uma função interna do ou chamá-lo em resposta a um evento.
Sintaxe
# Declaração de variáveis
Public variável – reconhecida em todo o projeto
Private variável – reconhecida somente naquele Slide
Dim – reconhecida somente dentro de função ou procedimento
# Janela popup
MsgBox (“mensagem”) ou Msg “mensagem” ou Msg variável
# Caixa de entrada de dados
variável = InputBox(prompt:=”pergunta”, Title:=”título”)
# Mover para outro slide
SlideShowWindows(1).View
.GotoSlide número – vai para o número indicado
.Next – vai para o próximo slide
.First – vai para o primeiro slide
.Last – vai para o ultimo slide
.Previous – vai para o slide anterior
# Alterar textos
ActivePresentation.Slides(número).Shapes(número).TextFrame.TextRange.Paragraphs(1).
Font
.Color = RGB(255,0,0) – altera cor
.Size = 40 – altera tamanho da fonte
.Bold/.Italic = True/False – altera estilo para negrito/itálico
# Caixa de Texto Dinâmica
- uma caixa de texto com algo escrito deve ser colocado no slide, onde se quer que a msg
apareça:
ActivePresentation.Slides(número).Shapes(número).TextFrame.TextRange.Text =
“mensagem”
# OnMouseOver
- ao atribuir uma ação, selecionar ‘Sem o mouse’
# Chamada de funções e procedimentos
Call Função (obs.: sem os parênteses!!!) – ex: Call Inicio
# Controlar visibilidade de elementos
ActivePresentation.Slides(número).Shapes(número).Visible = True/False
# Condicionais
Then
If (condição) Then
<ação>
<ação>
Else
<ação>
<ação>
End if
If (condição) Then
<ação>
<ação>
Elseif (condição)
Else
<ação>
<ação>
<ação>
<ação>
End if
For (condição)
<ação>
Next i
Do while (condição)
<ação>
Loop
If varNome = ”” Then
MsgBox(“Preencha o nome”)
Else
MsgBox(“Seu nome é “ & varNome)
End if
If varPontos=”10” Then
MsgBox(“Muito bem, você gabaritou!”)
SlideShowWindows(1).View.GotoSlide 3
Elseif (6>= varPontos > 10) Then
MsgBox(“Você pode prosseguir...”)
SlideShowWindows(1).View.GotoSlide 2
Else
MsgBox(“É melhor você refazer o teste”)
SlideShowWindows(1).View.GotoSlide 1
End if
For (i=1 to 10) <step=2> opcional
MsgBox(i)
Loop
Do while (i <= 10)
MsgBox(i)
i=i+1
Loop
Select case (variável)
Select case varPontos
Case (valor)
Case (varPontos<=5)
<ação>
MsgBox(“Refaça o exercício!”)
Case (valor)
Case (6>=varPontos>=8)
MsgBox(“Muito bem, mas reveja alguns
<ação>
Case else
tópicos!”)
<ação>
Case else
End Select
MsgBox(“Parabéns!”)
End Select
# Usando elementos da Barra de Ferramentas
Basta selecioná-los na barra e arrastar para a apresentação. Para editá-los, clicar com o
botão direito do mouse e escolher Propriedades. Abaixo segue uma relação das
propriedades mais importantes, que podem ser alteradas, não sendo comentadas as que se
repetem em outros elementos:
- Botão de comando
Name – dá um nome ao botão
AutoSize – se True, ajusta automaticamente o tamanho do botão ao texto
BackColor – cor de fundo do botão
BackStile – 0 = botão transparente, 1 = opaco (normal)
Caption – texto que vai aparecer no botão
Font – formatação da fonte, tamanho e estilo do texto do botão
ForeColor – cor da fonte do botão
MousePointer – tipo de ponteiro que aparecerá quando o cursor for colocado sobre o botão
Default – seta padrão
Arrow – flecha
Cross – cruz
IBeam – entrada de texto
HourGlass – temporizador
Help – ponto de interrogação
Picture – associar uma figura ao botão, ao invés de um texto
PicturePosition – posição da figura associada ao botão
TakeFocusOnClcik – se True, realça clique
Visible – se True, mostra o objeto
- Caixa de Texto
Name – variável que gravará o dado entrado
AutoTab – considera a entrada dos dados ao usar a tecla TAB
BorderColor – define a cor da borda da caixa
BorderStyle – 0 = sem borda, 1 = borda simples
MaxLength – número máximo de caracteres
MultiLine – se True, permite mostrar texto em múltiplas linhas
ScrollBars – 0 = sem barra de rolagem, 1 = barra de rolagem horizontal, 2 = barra de
rolagem vertical, 3 = ambas
Text – texto a ser mostrado na caixa. Se for caixa de entrada, deixar vazio
TextAlign – 1 = esquerda, 2 = centro, 3 = direita
# Como atribuir ações aos elementos da Barra de Ferramentas
Duplo clique no elemento faz abrir a rotina criada especificamente para aquele elemento, na
janela de edição do VBA. Dentro dessa rotina, deve-se colocar a ação, chamando-a com
call função.
Ex.: Duplo clique no Botão de comando faz abrir:
Private/Public Sub Botao_Click()
<aqui se coloca a chamada da função ou as ações para quando o botão for
clicado>
End Sub
Obs.: no caso de caixa de entrada, a variável deverá ser tratada como:
Slide(número).NomeVariável
#
Download

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Centro