Logo Passei Direto
Buscar

Introdução ao Visual Basic

Apostila introdutória ao VBA (Visual Basic for Applications) para Programação de Computadores. Contém objetivos e recursos; definições e diferenças VB/VBA; componentes, biblioteca e editor; criação e execução de macros (primeira macro, caixa de mensagem); convenções (workbook/worksheet) e habilitar guia Desenvolvedor.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Curso: Engenharia da Computação
Disciplina: Programação de Computadores
Introdução ao Visual Basic
Professor: Marcos Backes Rocha
Vilhena – RO
2021
 
1
Acadêmico: Marcos Backes Rocha
Aula Informática na Educação
OBJETIVO
Compreender e diferenciar os conceitos dos componentes de VBA, módulo e procedimento;
Identificar os principais métodos que podem ser utilizados no desenvolvimento em VBA;
CONTEÚDO
Definindo VBA
Componentes do VBA
Biblioteca de objetos
Editor VBA
O que são macros?
Criando nossa primeira macro utilizando VBA
Utilizando caixa de mensagem
RECURSOS 
Computador
Internet
Teams
Slides (PowerPoint)
Introdução
O Visual Basic (VB) é uma linguagem de programação orientada a eventos de terceira geração, lançada pela Microsoft em 1991. Ela evoluiu da versão anterior do DOS, chamada BASIC.
Essa linguagem foi criada para permitir que iniciantes no mundo da programação pudessem ter facilidade no aprendizado. Porém, com o passar do tempo, ela evoluiu e é utilizada em diversos tipos de aplicações.
 
De modo análogo, nasceu o Visual Basic for Application (VBA). Entretanto, este tem como objetivo executar suas instruções em aplicações do pacote Office da Microsoft.
O VB e o VBA compartilham semelhanças fundamentais. O primeiro ganhou popularidade como uma linguagem de terceira geração que suporta um ambiente de desenvolvimento integrado introduzido pela Microsoft. Posteriormente, foi alterado para uma versão da plataforma .NET. 
Introdução
Resumidamente, podemos dizer que a principal diferença entre eles é que o VB pode criar executáveis independentes, enquanto o VBA lida, principalmente, com a programação em aplicativos do Office, como Word, Excel, Outlook etc.
Apesar de surgirem da mesma origem, os programas desenvolvidos no Visual Basic são considerados rápidos em resposta aos desenvolvidos no VBA. Isso se deve ao fato de o VBA consumir muito realizando chamadas à API do Windows. Podemos, ainda, acrescentar que o VB é uma linguagem compilada, enquanto o VBA apresenta uma parcialmente compilada, e que requer um interpretador. 
Definindo VBA
O VBA é uma ramificação da linguagem Visual Basic, que permite que os programas da Microsoft se comuniquem entre si com base em eventos ou ações que ocorrem nesses programas. 
Como a Microsoft criou essa linguagem para acompanhar seus próprios aplicativos, o código é muito intuitivo para o usuário.
Por exemplo, ao ler uma linha de código no Excel que indique Range("A1:B4").ClearContents, é possível supor que esta diz ao Excel para limpar o conteúdo das células A1 a B4. O que é importante, pois permite que os usuários que não possuem familiaridade com programação de computador possam entender facilmente o funcionamento da linguagem VBA.
Clear: Limpar
Contents: Conteúdo
Range: Intervalo
Definindo VBA
Convenções de nomenclatura e padrões
Para que a leitura do material seja realizada de forma mais fluida, é recomendada a definição de alguns termos que possam auxiliar os estudos. São eles:
 
Pasta de trabalho ou workbook: Trata-se do arquivo proveniente do Excel (Arquivo.xlsx), propriamente dito. Nele, são criadas as planilhas;
Planilha ou worksheet: Um único arquivo ou pasta de trabalho pode conter uma ou mais planilhas. Cada uma delas pode apresentar um conteúdo diferente, e é possível selecioná-las por abas na parte inferior da pasta de trabalho;
Criar um novo projeto VBA: Significa que é preciso criar um novo projeto ou pasta de trabalho do Excel e salvá-lo com o nome que preferir. Em seguida, para abrir o ambiente de desenvolvimento do VBA, pressione em conjunto as teclas ALT + F11. Para retornar ao Excel, faça o mesmo;
Executar um código: Significa que é necessário pressionar a tecla F5 (com o cursos no código da macro) do teclado ou ir no menu “Executar” e, posteriormente, em “Executar Sub/UserForm”. 
Dependendo da quantidade de subprocedimentos, deve aparecer
Uma lista. Selecione a Sub que deseja executar.
Definindo VBA
Habilitando o modo desenvolvedor no Excel
Para que possa utilizar todos os recursos do VBA no Excel, é necessário que seja habilitada a função “Desenvolvedor”. Para tanto, siga as etapas enumeradas abaixo:
Etapa 1 - Primeiro, ative o menu “Desenvolvedor” no Excel 20XX. Assim, clique em “Arquivo” e, então, em “Opções”.
Etapa 2 - Clique na guia “Personalizar Faixa de Opções” e marque a opção “Desenvolvedor”. Clique em “OK”.
Etapa 3 - Assim, a guia “Desenvolvedor” está disponível
Definindo VBA
Na guia pronta, a primeira opção é “Visual Basic”. Ao clicar nela, abre-se o ambiente de desenvolvimento VBA. É possível também acessá-lo pressionando ALT + F11.
Nessa guia, o segundo botão é utilizado para criar macros, o que pode ser feito ao clicar no mesmo (veremos mais adiante como criar macros) ou ao pressionar as teclas ALT + F8.
A guia “Desenvolvedor” apresenta muitas ferramentas para o desenvolvimento de aplicações em VBA. Uma das possibilidades é a criação de um formulário inserindo botões, campos para entrada de texto e outros elementos. Para isto, basta selecionar a opção “Inserir”, experimente!
Componentes do VBA
Veremos as definições de 
Módulo
Procedimento VBA
Procedimento Sub
Procedimento de função.
Componentes do VBA
Módulo
O código VBA é digitado e exibido no editor do VBA nos chamados módulos. Uma coleção de módulos é o que denominamos de projeto VBA. No editor do VBA, um módulo VBA, quando exibido, se assemelha e se comporta como um documento do Word na organização básica e na digitação. Quando visualizado, um módulo aparecerá em sua própria janela no editor. Pense nos módulos como pastas organizacionais para o seu código; adicione módulos VBA, conforme necessário, a um projeto para organizar e executar o código.
Os módulos são compostos de blocos de construção elementares chamados procedimentos, os quais são usados para organizar e executar seu código em um módulo. Considere um parágrafo em um documento do Word; são digitados comandos, variáveis, matrizes, loops, lógicas, funções do Excel, entre outros, nos procedimentos do módulo VBA, e, assim, são executados o procedimento (para controlar o Microsoft Excel) e várias outras tarefas. 
Componentes do VBA
Procedimentos
Um procedimento é definido como um grupo nomeado de instruções que são executadas em unidade; novamente, pense como se fosse um parágrafo em um documento do Word, com um nome no início. Uma declaração é simplesmente uma linha de código completa. 
No Excel VBA, os procedimentos geralmente são chamados de macros, o que é, na verdade, uma gíria, e um retorno aos tempos anteriores ao VBA no Excel quando eram utilizadas folhas de macro para criar código. Os procedimentos VBA são aplicados para executar tarefas (por exemplo, automatizar o ambiente do Excel), comunicar-se com bancos de dados, calcular fórmulas, analisar dados da planilha, criar gráficos, inserir e excluir colunas etc.
Os dois principais tipos de procedimentos são Function (Função) e Sub.
Componentes do VBA
Função
Uma função é um grupo de código reutilizável, que pode ser chamado em qualquer lugar do seu programa. Isso elimina a necessidade de escrever o mesmo código repetidamente, além de ajudar os programadores a dividir um grande programa em várias funções pequenas e gerenciáveis.
 
Além das funções embutidas, o VBA também permite elaborar funções definidas pelo usuário e as instruções são escritas entre Function e End Function.
Componentes do VBA
Subprocedimentos
Os subprocedimentos funcionam de maneira semelhante às funções. Embora não retornem um valor, as funções podem ou não retornar. Os subprocedimentos são sempre incluídos nas instruções Sub e End Sub.
 
Biblioteca de objetos
O papel do VBA é dar suporte e interpretar o conjunto de objetos que compõem a biblioteca do Excel. Por exemplo, a pasta de trabalho é representada pelo objeto workbook; já uma planilha é representada pelo objeto worksheet, e, para selecionar um intervalo de células nesta planilha, invocamos o objeto range.
A programação usando o VBA contacom alguns objetos importantes com os quais o usuário pode lidar:
Objetos de aplicativo;
Objetos da pasta de trabalho;
Objetos de planilha;
Objetos range.
Biblioteca de objetos
Objetos de aplicativo
 
Consistem em:
Configurações e opções para todo o aplicativo; e,
Métodos que retornam objetos de nível superior, como ActiveCell, ActiveSheet, e assim por diante.
Exemplo 1: abrir um arquivo chamado teste.xls que está no diretório D:\
Exemplo 2: deixar a célula selecionada com fonte em negrito
Biblioteca de objetos
Objetos de planilha
 
O objeto Planilha é um membro da coleção Planilhas, e contém todos os objetos do tipo Planilha que compõem uma pasta de trabalho. Deste modo, depois de especificar a pasta de trabalho à qual vai ser direcionado, é preciso avançar para o próximo nível e indicar a guia, ou planilha, para a qual se pretende que o código aponte. O nível da planilha possui algumas opções de referência, tais como:
ActiveSheet: Essa funcionalidade é muito semelhante ao ActiveWorkbook. O ActiveSheet aponta para a guia que está sendo visualizada no momento. É interessante tal aplicação para quando se pretende dar ao código a flexibilidade de executar em uma planilha de sua escolha;
Worksheets("Planilha1"): Nesse caso, é possível especificar o nome da planilha que deseja trabalhar. Como o nome da planilha é considerado texto e não faz parte do idioma do VBA, é preciso garantir que o nome da guia esteja entre aspas. O que permite que o objeto Planilha saiba que está sendo digitado o nome de uma planilha e não de um arquivo, por exemplo. Se o nome não consta entre aspas, o VBA lê que Planilha1 é uma variável criada ao invés de texto;
Worksheets(2): Também é possível realizar uma ação na planilha de acordo com a ordem apresentada entre parênteses. Por exemplo, no caso de Worksheets(2), é praticada uma ação na segunda planilha ou na segunda aba aberta na pasta de trabalho.
Biblioteca de objetos
Objetos de planilha
 
Exemplo 1: fazer a segunda planilha ficar invisível (oculta)
Exemplo 2: proteger a Planilha3 com uma senha (a senha será 123456)
Biblioteca de objetos
Objetos Range
 
Objetos Range representam uma célula (ou uma seleção delas), uma linha ou uma coluna contendo um ou mais blocos contínuos das mesmas.
Primeiro, é preciso indicar a planilha a ser modificada, e, depois, as células. Existem várias maneiras de dizer ao VBA qual intervalo deseja:
Referenciar uma única célula - Range("A4")
É possível fazer referência a uma célula inserindo o nome (do intervalo) entre aspas;
Referenciar uma única célula - Cells(4,1) 
Pode fazer referência a uma célula usando Cells() e, inserindo, respectivamente, o número da linha e o número da coluna (A é 1, B é 2, C é 3, ...); OBS: linhas X colunas
Referenciar várias células - Range("A1:B4")
É semelhante à seleção de uma única célula. Porém, nessa hipótese, insira a primeira coluna superior à esquerda, e a última coluna do intervalo no inferior direito;
Referenciar várias células - Range(Cells(1,1),Cells(2,4))
Ao incorporar duas referências de Células() dentro de uma função Range(), é possibilitada a consulta de várias células. Para este caso apresentado, Cells(1,1) representa o A1, e Cells(2,4) representa o D2. OBS: linhas X colunas
Biblioteca de objetos
Objetos Range
 
Exemplo 1: Inserir valor 5 na célula A8 da Planilha1
Exemplo 2: Inserir o valor 2381 nas células de A1 até B5
Editor VBA
O Visual Basic Editor é o espaço de trabalho para criar o código VBA. O editor pode ser acessado por meio da guia “Desenvolvedor”, ou usando o atalho Alt + F11 no Excel. Ele é exibido em uma nova janela, completamente separada do aplicativo do Office.
Importante saber que cada um dos programas do pacote Office possui seu próprio editor VBA (para que seja viável, por exemplo, ter os editores VBA do Excel e PowerPoint abertos ao mesmo tempo).
Editor VBA
Janela Projeto: Aqui, estão todos os arquivos abertos e que fazem parte do seu projeto. Essa janela usa uma exibição em árvore na qual é possível detalhar cada arquivo que foi aberto, além de tornar possível a visualização das áreas nas quais consegue inserir o código VBA;
Editor VBA
Janela Propriedades: Permite modificar certos aspectos de qualquer objeto, formulário ou módulo destacado;
Editor VBA
Área de escrita de código: É onde deve ser escrito e editado o código VBA. Cada macro deve começar com uma instrução Sub (que é aberta com Sub e fechada com End Sub). De forma a deixar o código mais organizado, o editor organiza em cores diferentes as palavras-chaves. Falando em organização, é importante sempre usar recuos (através da tecla Tab) dentro do código. Isso ajuda (e muito) na leitura do código criado e em uma futura manutenção. Também auxilia caso alguém precise dar assistência no desenvolvimento do código;
Editor VBA
Janela de verificação imediata: Esta área é semelhante a um rascunho, pois permite que sejam feitos todos os tipos de testes enquanto o código é escrito e executado. É bastante útil e usada, no entanto, por padrão, ela fica oculta. Deste modo, use o atalho CTRL+G para visualizá-la;
Editor VBA
Janela de observação/inspeção: Mostra todos os dados armazenados em uma variável. Algumas delas não apresentam muitos dados armazenados. No entanto, se fosse observada uma variável atribuída a uma célula, seriam encontrados diversos dados (como cor da fonte, valor, altura, cor do preenchimento etc.). A utilidade se dá, principalmente, ao tentar depurar o código e entender qual o valor da variável em um determinado momento do código. Para inspecionar uma variável, é preciso destacar o nome dela e clicar no botão “Adicionar Observação” (este é o ícone de óculos, localizado na barra de ferramentas de depuração). Repare se a variável aparece na janela de inspeção. Depois de começar a executar o código e carregar um valor para sua variável, procure uma opção (sinal +) para detalhar ou expandir o conteúdo que está armazenado na variável.
O que são macros?
Podemos definir uma macro (também referenciada como Procedimento ou Sub-rotina) como um agrupamento de código que executa uma série de tarefas ou comandos direcionados em um programa de computador (nesse caso estudado, no Excel).
As macros podem conter código que executa cálculos, copia e cola, altera a formatação de uma tabela e várias outras interações. A maioria dos usuários do Office usa macros para automatizar tarefas rotineiras que demoram muito tempo para serem executadas manualmente (por teclado e mouse).
O que são macros?
Criando a primeira macro
Agora, vamos criar nossa primeira macro, que será bem simples: ao pressionar uma tecla de atalho (CTRL+SHIFT+T), seu nome e a data atual aparecerão em negrito e em letras grandes no Excel. Deste modo, comece abrindo-o e, em seguida, execute linha a linha do algoritmo descrito no Quadro 1 (sim, é um algoritmo!).
O que são macros?
Criando a primeira macro
Se os passos foram seguidos corretamente, você acabou de criar sua primeira macro! Parabéns! 
Vamos, então, testá-la. Para isso, vá para uma célula vazia e, depois, pressione o atalho criado no passo 4 (CTRL + SHIFT + E).
Criando nossa primeira macro utilizando VBA
Uma vez conhecidos os conceitos de objetos de VBA, e também a criação de macros, vamos criar algumas aplicações simples, porém essenciais para o nosso estudo. O primeiro passo, então, é criar um novo projeto VBA. Salve o arquivo com o nome “prog1.xlsx”.
Criando nossa primeira macro utilizando VBA
Veja, na janela de “Projetos”, que há, na primeira linha, o nome do projeto e, na segunda linha, uma pasta com arquivos EstaPasta_De_Trabalho (referente ao Workbook) e Planilha1 (referente ao Worksheet).
Primeiramente, adicione um módulo, clique com o botão direito sobre o diretório “Microsoft Excel Objetos” no painel de projetos. Após, clique em “Inserir” e, então, em “Módulo”.
Criando nossa primeira macro utilizando VBA
Uma vez criado o módulo, abra-o para adicionar o primeiro código. Na área de escrita de código, insira o seguinte...
Esteé o nosso subprocedimento. Veja que ele inicia com Sub, seguido do nome do subprocedimento e encerra com o comando End Sub, ou seja, é o fim dele.
Criando nossa primeira macro utilizando VBA
Observe que foi realizado o mesmo procedimento na linha 12, porém, não usamos o “value”.  Isso ocorre, tendo em vista que, se nenhum outro método for chamado, fica entendido que deve ser colocado um valor na célula.
Criando nossa primeira macro utilizando VBA
Vamos agora criar uma outra macro, que será responsável por formatar as células no intervalo A1:E6. De forma a organizar, crie um novo módulo e, nele, adicione o código a seguir:
Após inserir o código, pressione F5 e, em seguida, volte para o Excel. É criado um efeito muito interessante, conforme Figura 5.
Criando nossa primeira macro utilizando VBA
Apesar de a saída ser muito eficiente (vários valores em uma única execução), o código fonte não se mostra muito atraente. Note que, exceto a primeira e a última linha, todas as demais possuem o mesmo início. Para evitar tal repetição, utilize o comando With.
Veja o código com esse comando e sua estrutura, abrindo o escopo com With e fechando com End With. Para que a diferença possa ser vista, mudemos o valor de 999 para 22. Faça o teste!
Utilizando caixa de mensagem
A função MsgBox exibe uma caixa de mensagem e aguarda o usuário clicar em um botão para, então, executar uma ação com base no botão clicado. Observe a sintaxe deste componente:
MsgBox(prompt[,botões][,titulo][,ajuda,contexto])
Aviso ou Prompt (parâmetro obrigatório): É a mensagem que aparece na caixa de diálogo e seu comprimento máximo é de, aproximadamente, 1024 caracteres.
Utilizando caixa de mensagem
Botões (parâmetro opcional): Expressão numérica que especifica o tipo de botão a ser exibido, o estilo de ícone a ser usado, a identidade do botão padrão e o tipo de caixa de mensagem. Caso seja deixado em branco, os valores padrões para os botões são 0. Este parâmetro pode assumir os seguintes valores:
0 - VbOKOnly - exibe apenas o botão “OK”;
1 - VbOKCancel - exibe os botões “OK” e “Cancelar”;
2 - VbAbortRetryIgnore - exibe os botões “Abortar”, “Repetir” e “Ignorar”;
3 - VbYesNoCancel - exibe os botões “Sim”, “Não” e “Cancelar”;
4 - VbYesNo - exibe os botões “Sim” e “Não”;
5 - VbRetryCancel - exibe os botões “Repetir” e “Cancelar”;
16 - VbCritical - exibe o ícone “Mensagem crítica”;
32 - VbQuestion - exibe o ícone “Consulta de Aviso”;
48 - VbExclamation - exibe o ícone “Mensagem de aviso”;
64 - VbInformation - exibe o ícone “Mensagem informativa”;
Utilizando caixa de mensagem
0 - VbDefaultButton1 - o primeiro botão é o padrão;
256 - VbDefaultButton2 - o segundo botão é o padrão;
512 - VbDefaultButton3 - o terceiro botão é o padrão;
768 - VbDefaultButton4 - o quarto botão é o padrão;
0 - VbApplicationModal Application modal - o aplicativo atual não funcionará até que o usuário responda à “Caixa de mensagem”;
4096 vbSystemModal System modal - todos os aplicativos não funcionarão até que o usuário responda à “Caixa de mensagem”.
Os valores mostrados são divididos em quatro grupos: o primeiro grupo (1 a 6) indica os botões a serem exibidos na caixa de mensagem. O segundo (7 a 10) descreve o estilo do ícone a ser exibido; o terceiro (11 a 14) indica qual botão deve ser o padrão; e o quarto grupo (15 e 16) determina a modalidade da “Caixa de mensagem”.
Utilizando caixa de mensagem
Título (parâmetro opcional): Expressão string exibida na barra de título da “Caixa de diálogo”. Se for deixado em branco, o nome do aplicativo será colocado na barra de título.
Ajuda (parâmetro opcional): Expressão string que identifica o arquivo de “Ajuda” a ser usado para fornecer ajuda sensível ao contexto para a caixa de diálogo.
Contexto (parâmetro opcional): Expressão numérica que identifica o número de contexto da “Ajuda” e a relaciona com o tópico apropriado. Se o contexto for fornecido, o arquivo de “Ajuda” também deverá ser fornecido.
Utilizando caixa de mensagem
Retorno de valores: Ao clicar em um botão na “Caixa de mensagem”, a função MsgBox retorna os seguintes valores, identificando o botão clicado:
 
vbOK - clicado o botão “OK” - retorna 1;
vbCancel - clicado o botão “Cancelar” - retorna 2;
vbAbort - clicado o botão para “Abortar” - retorna 3;
vbRetry - clicado o botão para “Repetir” - retorna 4;
vbIgnore - clicado o botão “Ignorar” - retorna 5;
vbSim - clicado o botão “Sim” - retorna 6;
vbNo - clicado o botão “Não” - retorna 7.
Utilizando caixa de mensagem
Várias interações com o elemento MsgBox e seus botões serão vistas no tópico sobre declaração de variáveis e constantes. Por enquanto, crie um novo módulo e teste este exemplo de código que mostra duas mensagens na tela para o usuário:
Sub terceirocodigo()
 'Mostra mensagem com botão OK E exibe ícone de informação
 MsgBox "Mensagem para te informar alguma coisa", 0 + 64, "Atenção - Mensagem sem retorno"
 
 'Mostra mensagem com sim ou não E exibe ícone de questão
 Resposta = MsgBox("Seu nome é joão?", 4 + 32, "Mensagem com Retorno")
End Sub
Note que, para exibir apenas o botão “Ok” e o “Ícone de Informação”, devem ser colocados seus valores lógicos 0 + 64. O mesmo ocorreu para mostrar os botões “Sim” ou “Não” (valor lógico 4) e o “Ícone de Interrogação” (valor lógico 32) ficando 4 + 32.
Obrigado !!!
image2.png
image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image9.png
image10.png
image11.png
image12.png
image13.png
image14.png
image15.png
image16.png
image17.png
image18.png
image19.png
image20.png
image21.png
image22.png
image1.jpg

Mais conteúdos dessa disciplina