123

DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

  • Upload
    phamnhu

  • View
    257

  • Download
    6

Embed Size (px)

Citation preview

Page 1: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar
Page 2: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

APRESENTAÇÃO

Atualmente exige-se de muitos profissionais que trabalham com softwares do pacote Office, como Excel, Word, Access e PowerPoint, o conhecimento de programação em VBA (Visual Basic for Applications) devido ao fato dessa poderosa linguagem ajudar a solucionar problemas complexos que, muitas vezes, não poderiam ser resolvidos sem o uso da programação. Encontramos na Internet muitos livros, apostilas, tutoriais e dicas sobre Excel VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar que também no Word, através do VBA, podemos criar inúmeras soluções e automatizar várias tarefas, portanto, este e-book tem como objetivo mostrar ou até mesmo ensinar aos usuários do Microsoft Word a utilizar o VBA para adicionar poderosos recursos ao Word. Nesta obra estarei utilizando uma linguagem simples, sem muitos termos técnicos, pois ela é voltada para usuários leigos, de nível iniciante e/ou intermediário no que se refere a conhecimento em VBA e está organizada em cinco capítulos, sendo que o primeiro é uma breve introdução ao VBA, onde o leitor estará se familiarizando com o ambiente de desenvolvimento (Visual Basic for Applications) que vem embutido no Word, já no segundo capítulo apresentarei também de forma sucinta como criar uma interface amigável para interagir com o usuário, e no terceiro capítulo estarei mostrando, através de alguns exemplos, como criar macros através do VBA, e no quarto, apresentarei também alguns projetos e soluções, onde o leitor poderá acompanhar o desenvolvimento passo a passo de cada um destes projetos, mostrando na prática como usar os principais recursos de programação do Word/VBA, e por fim no último capítulo são disponibilizadas três tabelas (Ascii, Operadores matemáticos e Cores RGB).

Todas as Macros e Aplicações aqui apresentadas foram criadas utilizando o Microsoft Word na sua versão 2010, uma vez que esta é a versão mais utilizada atualmente, contudo, também foram testadas na versão 2007 e não apresentaram nenhum problema. Em se tratando de programação não existe “uma maneira correta de fazer isso”, o ideal é procurar deixar o código mais enxuto possível e fazer com que tudo que funcione de forma prática, portanto, peço ao leitor que encare os projetos aqui apresentados como ponto de partida e/ou sugestões para que através deles o leitor possa ter ideias e criar novos projetos ou adaptá-los às suas necessidades. Acompanhe e aprenda a desenvolver com o Word/VBA.

Page 3: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

AUTOR Ednilson Muniz Mendes, Técnico de Informática: Possui mais de 15 anos de conhecimento e experiência em MS Office, automatização de Documentos, Aplicações e Soluções em VBA (Visual Basic For Applications).

Page 4: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1. - INTRODUÇÃO AO VBA ..................................................................................................................... 7

1.1-ACESSANDO O EDITOR DO VBA .................................................................................................... 8 1.2-APRESENTANDO O EDITOR DO VBA ........................................................................................... 10 1.3-AS CORES DO VBA ....................................................................................................................... 14 1.4-GERANDO CÓDIGOS .................................................................................................................... 15 1.5-DELARAÇÃO DE VARIÁVEL .......................................................................................................... 16

Regras para nomear as variáveis em VBA .................................................................................................... 16 Tipos de Variáveis ......................................................................................................................................... 16 Declarando uma variável. ............................................................................................................................. 17 Variável do Tipo Objeto ................................................................................................................................ 17

Declaração da Variável Objeto ......................................................................................................... 17 Atribuição de uma variável Objeto ................................................................................................... 17

Variáveis - Declaração Opcional e o tipo Variant ........................................................................................ 18 Os Prós e Contras da Utilização do tipo Variants ......................................................................................... 18 Variáveis – Declaração Forçada .................................................................................................................... 18

1.6-TRATAMENTOS DE ERROS .......................................................................................................... 19 Tipos de Erros ............................................................................................................................................... 19 Respostas aos erros ...................................................................................................................................... 19

2-INTERFACE ........................................................................................................................................ 22

2.1-A Função MsgBox ....................................................................................................................... 22 2.2-A Função InputBox ...................................................................................................................... 24 2.3-Criando Formulários ................................................................................................................... 25

3.-O QUE É MACRO? ............................................................................................................................ 28

3.1-Criando uma saudação ao usuário ............................................................................................. 29 3.2-Exibindo uma saudação ao usuário de acordo com o horário .................................................... 34 3.3-Saudação – interagindo com usuário ......................................................................................... 40 3.4-Outro exemplo utilizando a função INPUTBOX ........................................................................... 45

1ª Opção: usando Controle ActiveX ............................................................................................................. 48 2ª Opção: Adicionando na Faixa de Opções ................................................................................................. 52 3ª Opção: Adicionando à Barra de Ferramentas de Acesso Rápido. ............................................................ 59

3.5-Inserindo o conteúdo de uma InputBox no documento. ............................................................. 65 3.6-Exibindo uma mensagem na barra de status ............................................................................. 73 3.7-Visualizar Impressão. .................................................................................................................. 77 3.8-Contando caracteres de um texto ou palavra selecionada. ........................................................ 82 3.9-Colocando borda em todas as imagens do documento. ............................................................. 88 3.10-Colocando borda nas imagens selecionadas. ........................................................................... 94 3.11-Usando a Função StrReverse .................................................................................................. 101

1ª Opção: Exibindo o texto em uma caixa de mensagem .......................................................................... 101 2º Opção: Exibindo o texto no documento ................................................................................................ 104

3.12-Extraindo E-mails de um documento. ..................................................................................... 109 3.13-Exibir em Tela cheia sem a barra de ferramentas. ........................ Erro! Indicador não definido. 3.14-Criando pastas através do VBA ...................................................... Erro! Indicador não definido. 3.15-Remover Links de um documento. ................................................. Erro! Indicador não definido.

4.- PROJETOS ..................................................................................... ERRO! INDICADOR NÃO DEFINIDO.

4.1-PROJETO - 01 ................................................................................... Erro! Indicador não definido. Criador de Mini Banners .................................................................................... Erro! Indicador não definido.

4.2-PROJETO 02...................................................................................... Erro! Indicador não definido. Procura Texto .................................................................................................... Erro! Indicador não definido.

4.3-PROJETO 03...................................................................................... Erro! Indicador não definido. Prazo Exato ........................................................................................................ Erro! Indicador não definido.

3.4-PROJETO 04...................................................................................... Erro! Indicador não definido. Calculadora ........................................................................................................ Erro! Indicador não definido.

4.5-PROJETO 05...................................................................................... Erro! Indicador não definido. Declaração de Matrícula ................................................................................... Erro! Indicador não definido.

4.6-PROJETO 06...................................................................................... Erro! Indicador não definido.

Page 5: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Cálculos Diversos ............................................................................................... Erro! Indicador não definido. 4.7-PROJETO 07...................................................................................... Erro! Indicador não definido.

Nota de Orçamento ........................................................................................... Erro! Indicador não definido. 4.8-PROJETO 08...................................................................................... Erro! Indicador não definido.

Estados Brasileiros e suas Capitais .................................................................... Erro! Indicador não definido. 4.9-PROJETO 09...................................................................................... Erro! Indicador não definido.

Navegador ......................................................................................................... Erro! Indicador não definido. 4.10-PROJETO 10.................................................................................... Erro! Indicador não definido.

Capa Para Trabalhos Acadêmicos ...................................................................... Erro! Indicador não definido.

6-TABELA ASCII COMPLETA ................................................................ ERRO! INDICADOR NÃO DEFINIDO.

7-OPERADORES MATEMÁTICOS E LÓGICOS DO VBA .......................... ERRO! INDICADOR NÃO DEFINIDO.

8-TABELA DE CORES RGB ................................................................... ERRO! INDICADOR NÃO DEFINIDO.

9-DOWNLOAD DOS ARQUIVOS. ......................................................... ERRO! INDICADOR NÃO DEFINIDO.

Page 6: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

6

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

CAPÍTULO - I

CONHECENDO O VBA

Page 7: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

7

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1. - INTRODUÇÃO AO VBA

Até a versão 7.0 o Word utilizava o WordBasic, mas a partir da versão 8.0 (Word 97) o WordBasic foi substituído pelo VBA (Visual Basic for Applications). O Visual Basic for Applications é uma linguagem de programação interna, ligada a todos os aplicativos do pacote Office, como o Access, Word, Excel, PowerPoint e outros. O Visual Basic for Applications, também chamado de VBA, propicia o desenvolvimento de ferramentas e rotinas que proporcionam ao Office recursos quase ilimitados. Como já foi dito, o Visual Basic For Applications é um ambiente de programação que vem embutido em diversos aplicativos e possui grande parcela dos recursos do Visual Basic (Pacote completo da linguagem vendido como produto independente), porém com uma limitação fundamental, ele não gera aplicativos autônomos (executáveis). Mas embora o VBA não gere nenhum executável, podemos com ele customizar tarefas, produzir soluções complexas e criar verdadeiras aplicações.

Page 8: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

8

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.1-ACESSANDO O EDITOR DO VBA

Para exibir o ambiente de desenvolvimento do VBA clique na guia Desenvolvedor e no bloco Código clique em Visual Basic ou se preferir use as teclas de atalho ALT + F11.

Se a Guia Desenvolvedor não estiver visível

Acione a Guia Arquivo e clique em Opções...

Page 9: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

9

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em seguida clique em Personalizar Faixa de opções... ...e em Guias Principais selecione Desenvolvedor.

Feito isso a guia Desenvolvedor será exibido, como mostra a imagem abaixo:

Page 10: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

10

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.2-APRESENTANDO O EDITOR DO VBA

O ambiente de desenvovimento do VBA, além de uma barra de menu e de uma barra de ferramentas, possui algumas janelas, cuja as principais são: Janela de Proejto ou Project Explorer: Exibe todos os elementos que fazem parte de um ou mais proejtos (Ex: Documentos, banco de Dados, Formulários, módulos e módulas de classe). Com essa janela podemos ver a hierarquia existente em um projeto VBA que está em edição no momento.

Essa janela também possui três ícones que alteram o modo de visualização do objeto selecionado.

Exibir código

Exibir Objeto

Alternar Pastas

Page 11: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

11

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Janela Propriedades: Exibe as definições de propriedades de um objeto selecionado num formulário (Ex: o próprio formulário, caixas de textos, botões de comando, caixa de listagem, etc). Você pode alterar estas propriedades em tempo de criação. Quando você seleciona múltiplos controles, a janela Propriedades contém uma lista das propriedades comuns a todos os controles selecionados.

Janela Verificação Imediata: Verifica o valor de uma variável, executa programas no ambiente VBA ou fora dele.

Janela de Variáveis Locais: Exibe automaticamente todas as variáveis declaradas e seus valores no procedimento atual.

Page 12: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

12

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Janela de Código: Exibe e edita código de Visual Basic. Você pode abrir tantas janelas de código quantas forem os módulos, de modo que possa visualizar facilmente o código em diferentes formulários ou módulos e copiar e colar entre eles. Podemos dizer que módulo é a unidade básica de um código em VBA e todo módulo possui procedimentos, que são as normas para a condução da tarefa.

Janela Pesquisador de Objeto: Exibe as classes, propriedades, métodos, eventos e constantes disponíveis das bibliotecas de objetos do Word e do VBA e os procedimentos no seu projeto. Você pode usá-lo para localizar e usar objetos criados por você e objetos de outros aplicativos.

Objetos Procedimentos

Page 13: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

13

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Inserir Userform : Permite-lhe criar as interfaces ou caixas de diálogo no seu projeto. Você desenha e visualiza controles em um formulário. Quando esta janela está ativa a caixa de ferramentas é automaticamente exibida. Utilize os botões da Caixa de ferramentas para inserir controles no formulário.

Caixa de Ferramentas: Exibe os controles com os quais se desenham os formulários, ou seja, nesta caixa estão os controles que podem ser adicionados aos formulários para criar a interface dos aplicativos.

Page 14: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

14

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.3-AS CORES DO VBA

Na Janela de Edição são programados, armazenados e exibidos os procedimentos VBA criados. Porém, o texto envolvido em cada procedimento é dotado de uma série de cores diferentes, sendo que cada uma tem significado diferente.

Cor Significado

Azul Palavras-Chave da linguagem. Ex: Sub, End Sub, Function, If, Then, Else, While, Loop,…

Vermelho Sempre que escreve na janela uma linha em linguagem VBA, o editor vai verificar a sintaxe da linguagem por forma a indicar se existe ou não algum erro de escrita. Se for detectado um erro a linha fica a vermelho e é exibida uma mensagem de erro, senão todas as palavras são reconhecidas, coloridas da cor da respectiva categoria e alteradas para letras maiúsculas ou minúsculas, conforme esteja pré-definido.

Preto Nome de variáveis, procedimentos, valores, operadores,…

Verde Comentários introduzidos no seio dos procedimentos. Estes comentários servem para o utilizador poder associar algumas explicações aos procedimentos realizados. De referir que as palavras com esta cor são ignoradas no procedimento, i.e., não produzem qualquer efeito na sua execução. Para introduzir comentários bastará que o caractere „ anteceda o texto a introduzir.

Amarelo Um sombreado amarelo poderá aparecer sobre a linha que identifica um procedimento. Esta cor simboliza a ocorrência de um erro na execução do respectivo procedimento e o estado de execução do mesmo, i.e., o procedimento iniciou a execução, durante a qual detectou um erro e agora está parado, mas ainda em execução. Quando isto acontecer não deverá voltar a dar ordem de execução do procedimento, sem antes parar (Stop) a execução mal sucedida.

Page 15: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

15

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.4-GERANDO CÓDIGOS

Antes de começarmos a gerar os primeiros códigos é necessário termos bem definidos alguns conceitos utilizados em linguagem de programação, como: propriedade, instruções, métodos, objetos, declaração de variáveis, tratamento de erros e outros. Propriedades: definem tanto a aparência (tamanho, cor, etc) como também a posição de um objeto. Instruções ou Procedimentos: é um conjunto de códigos dispostos de forma lógica dentro do Editor do VBA, com a finalidade de executar determinada tarefa. No VBA todos os procedimentos devem começar com a instrução SUB ou FUNCTION e terminar com END SUB ou END FUNCTION. Veja um exemplo: Sub exemplo_de_mensagem() MsgBox "Olá seja bem vindo", vbOKOnly, "Mensagem ao Usuário" End Sub

Objetos: é qualquer controle que pode ser manipulado, ou seja, pode ser controlado por meio da linguagem VBA e que é utilizado na execução de tarefas. Exemplo: barras de ferramentas, caixas de texto, caixas de diálogo etc. Declaração de variáveis: uma variável é um valor que fica armazenado na memória do computador enquanto o procedimento está sendo executado, sendo removida da memória assim que o procedimento termina. Porque devemos declarar uma variável? Embora a declaração de uma variável não seja obrigatória no VBA, ela é altamente recomendável para agilizar o sistema informando que determinada informação será armazenada. É importante declarar uma variável principalmente quando se necessita de utilizar um valor especifico inúmeras vezes e também pelo fato de que a execução do código será mais rápido.

Page 16: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

16

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.5-DELARAÇÃO DE VARIÁVEL

Regras para nomear as variáveis em VBA

Ao nomear uma variável devem-se obedecer sempre as seguintes regras:

Não utilize pontos, espaços, vírgulas, pontos de exclamação ou símbolos especiais (#, @, $, &, %, etc);

O nome deve ter menos de 255 caracteres;

Não utilize palavras reservadas do sistema, por exemplo no Word, não podemos empregar termos como Document, ThisDocument, Formfields, etc;

Todo nome de variável deve iniciar com uma letra.

Tipos de Variáveis

O tipo de variável está associado ao gênero de informação que esta quer armazenar. Boolean – 2 bytes – Permite armazenar valores Boolenaos – True ou False Byte – 1 Byte – permite armazenar números sem sinal entre 0 e 255

Currency - 8 bytes – permite armazenar moeda

Date – 8 Bytes – permite armazenar datas

Double – 8 bytes – permite armazenar um real desde -1.79769313486232E308 até -4.94065645841247E-324 para valores negativos, e desde 1.79769313486232E308 até 4.94065645841247E-324 para valores positivos.

Single – 4 bytes – permite armazenar um real desde -3.402823E38 até -1.4011298E-45, para valores negativos e desde 3.402823E38 até 1.4011298E-45, para valores positivos

Integer – 2 bytes - permite armazenar números inteiros entre -32.768 e 32767 Long – 4 bytes – permite armazenar números inteiros entre -2 147 483 648 e 2 147 483 648 Object – 4 bytes – utilizado para fazer referência a um objeto do Word String – 1 byte por caractere – permite armazenar conjuntos de caracteres Variant – 16 bytes - permite armazenar qualquer tipo de dados User-Defined – permite armazenar valores de tipos diferentes

Page 17: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

17

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Declarando uma variável.

Dim numer As Integer

Onde: Dim – Palavra chave que indica uma declaração de variáveis (abreviatura de dimensão) numer - nome da variável a utilizar As – palavra chave utilizada para separar o nome da variável do tipo de dados Integer – tipo de dados atribuído à variável É possível na mesma declaração de variáveis declarar variáveis de diversos tipos:

Dim numer_1 As Integer, numer_2 As Date, numer_3 As Double Para declarar diversas variáveis do mesmo tipo:

Dim numer_1, numer_2, numer_3 As Currency

Variável do Tipo Objeto

Uma variável objeto representa uma referência a um objeto. Uma variável de extrema importância que facilita a codificação e melhora a performance da subrotina.

Declaração da Variável Objeto

Dim obj As Object

Atribuição de uma variável Objeto

Set obj = <Objecto>

Onde: Set – palavra chave que indica a assignação de uma variável objecto obj - Variável Objecto = - Operador de assignação <Objecto> - Objeto a ser atribuído à variável

Page 18: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

18

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Variáveis - Declaração Opcional e o tipo Variant

A declaração de variáveis é opcional, se as variáveis não forem declaradas o VBA faz a sua declaração por defeito. Assim sempre que a instrução do Dim é omitida para uma variável, essa assume o tipo Variant.

Os Prós e Contras da Utilização do tipo Variants

Prós

Diminui o número de linhas de código

Não é necessário estar preocupado se a variável está ou não declarada porque o VBA automaticamente o faz

Contras

Aumenta o tempo de execução – o VBA primeiro precisa reconhecer o tipo de dados com os quais está a trabalhar.

Este tipo de dados consome mais memória (uma vez que tem que alocar espaço para qualquer tipo de dados que lhe seja atribuído) – 16 bytes mais um byte por caractere se for String => problemas de performance para subrotinas grandes.

Não é possível saber o tipo de dados que uma determinada variável contém – dificultando a detecção de erros.

Variáveis – Declaração Forçada

Para que o VBA detecte um erro sempre que uma variável não seja declarada deverá fazer: Menu Ferramentas >>Opções... >> na guia Editor selecione Requerer declaração de variável;

Ou então, escrever no início de cada módulo Option Explicit Neste caso sempre que for detectada uma variável que ainda não foi declarada dará uma mensagem de erro - Variable Not Defined

Page 19: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

19

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

1.6-TRATAMENTOS DE ERROS

Embora seja tomado todo cuidado para evitar erros durante a execução dos códigos, acabamos sempre nos deparando com alguns erros. O VBA, assim como outras linguagens de programação, possuem recursos que permitem identificar os erros e controlar o fluxo de execução do código.

Tipos de Erros

No tempo da compilação: caracterizados por falhas na sintaxe (falta de aspas, parênteses, pontos, vírgulas, etc). No tempo da execução: ocasionados pelas tentativas de executar uma operação inválida, por exemplo, uma referência a um arquivo excluído ou inexistente. Erros lógicos: quando resultados incorretos são produzidos pelo aplicativo.

Respostas aos erros

Todo procedimento que provoca um erro inclui uma instrução On Error. A instrução On Error ativa uma rotina de tratamento de erros e especifica o local da rotina dentro de um procedimento; também pode ser usado para desativar uma rotina de tratamento de erros. Em uma rotina, quando o erro ocorrido é identificado, uma mensagem é exibida ao usuário.

Instrução Definição On Error GoTo Linha Em caso de erro, vá para a linha

que ativará a rotina de gerenciamento de erros.

On Error Resume Next Especifica que, quando ocorre um erro de tempo de execução, controle vai para a declaração imediatamente seguinte a instrução em que ocorreu o erro e continua de execução a partir desse ponto.

On Error GoTo 0 Desativa o tratamento de erros ativado no procedimento atual.

Para sair, é preciso dar os comandos Resume ou Exit, sendo que o primeiro retorna o controle do programa para o procedimento principal e o segundo sai do procedimento.

Page 20: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

20

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Eis um exemplo de uma rotina de tratamento de erro. Option Explicit Sub TrataErro( ) On Error GoTo TrataErro Documents.Open FileName:=”Lista de compras.docx” Exit Sub MsgBox “Você está tentando abrir um arquivo que não existe ou não está neste diretório”, vbOKOnly, “Ajuda ao Usuário” End Sub

Veja como fica essa rotina no editor de código.

Essa é a mensagem que será exibida quando ocorrer um erro.

Título (Title)

Mensagem (Prompt)

Somente o botão OK (vbOKOnly)

Page 21: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

21

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

CAPÍTULO - II

INTERFACE COM O USUÁRIO

Page 22: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

22

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

2-INTERFACE A Interface com o Usuário é fundamental em qualquer aplicação, pois, é a parte visível pelo qual ele se comunica com o usuário para realização das suas tarefas. O VBA possui modelos prontos de caixas de mensagens, com as quais podemos usá-las para guiar e ajudar o usuário na solução de problemas.

2.1-A Função MsgBox

Essa função é muito utilizada para exibir uma mensagem ao usuário, sendo que sua sintaxe é: MsgBox “mensagem ao usuário”, tipo de caixa e/ou tipo de botão, “Titulo da caixa”.

O legal do ambiente de programação do VBA é sua ajuda pop-up que surge no momento que estamos escrevendo os códigos. Observe a imagem abaixo:

Veja um exemplo de uma caixa de mensagem usando a função MsgBox, para isso criaremos uma macro chamada exemplomensagem.

Ajuda pop-up durante a digitação

Page 23: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

23

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Quando o código acima é executado exibe a seguinte mensagem:

Para facilitar a comunicação com o usuário, o VBA possui botões prontos para sua caixa de mensagem e cada um desses botões tem um número correspondente, bem como um código VBA. Veja na tabela abaixo:

Botão Valor Código VBA OK 1 vbOK Cancelar 2 vbCancel Anular 3 vbAbort Repetir 4 vbRetry Ignorar 5 vbIgnore Sim 6 vbYes Não 7 vbNo

Veja alguns exemplos:

vbAbortRetryIgnore

vbRetryCancel

vbYesNo

vbOKCancel

Título (Title)

Mensagem (Prompt)

Somente o botão OK (vbOKOnly)

Page 24: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

24

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

2.2-A Função InputBox

É uma caixa de mensagem mais interativa, pois nela o usuário pode inserir dados. Sua sintaxe é: InputBox (“mensagem”, “Titulo”, “Resposta Padrão”, “Posição X”, “Posição Y”)

Exemplo: Sub entradadedados() Dim nom As String nom = InputBox("Digite o seu nome.", "Usuário") MsgBox nom End Sub

Ao executarmos a macro entradadedados será solicitado ao usuário que digite o seu nome e em seguida o mesmo é exibido em uma caixa de mensagem.

Ao clicar no botão OK será exibido o nome em uma caixa de mensagem.

Page 25: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

25

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

2.3-Criando Formulários

Como neste capítulo estamos falando de interface, não poderíamos prosseguir sem comentar sobre a forma mais interessante de se criar interfaces no VBA que é por meio de formulários. Um formulário funciona como caixas de mensagem com controles para coletar dados do usuário, enviar dados, mostrar dados, mostrar opções, etc. Como vimos no Capítulo I, quando inserimos um formulário no ambiente de edição do VBA a caixa de ferramentas é automaticamente exibida. Basta clicar no controle desejado e soltá-lo sobre o formulário para criarmos a interface desejada. Na janela Propriedades podemos alterar o formulário e os controles nele inseridos para deixarmos com o melhor visual possível. Inserindo um Formulário.

Inserir formulário (UserForm)

Formulário (UserForm)

Caixa de ferramentas

Page 26: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

26

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Como foi dito no início desta apostila, o primeiro e o segundo capítulos são apenas uma breve introdução ao VBA. Poderíamos até descrever detalhadamente todas as outras ferramentas do editor, poderíamos nos aprofundar no escopo de variáveis e constantes, nos métodos e propriedades, nas estruturas de programação (estrutura condicional IF, estrutura SELECT CASE, controles de LOOPING, etc), mas acho que é bem mais útil descrever as bases do funcionamento e dar os sedimentos para o leitor ter condições suficientes para seguir sozinho. Além do mais, nos capítulos seguintes apresentarei vários exemplos de macros e soluções que os usuários do Word poderão implementá-los em seu dia a dia e também estarei mostrando passo a passo como criar 10 Projetos utilizando uma linguagem simples, sem os termos técnicos, de maneira que aqueles que são leigos no assunto possam compreender toda lógica envolvida e partir daí se aventurar a criar suas próprias aplicações.

Page 27: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

27

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

CAPÍTULO - III

MACROS

Page 28: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

28

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.-O QUE É MACRO? Uma macro nada mais é que uma sequência de comandos e funções armazenados em um módulo de VBA e que pode ser usada sempre que você precisar executar a tarefa, portanto, macros são excelentes recursos para realizar e automatizar tarefas repetitivas e longas. Muitos tem uma certa "repulsa" ao falarmos em macros, pois envolve a programação VBA (Visual Basic for Applications), porém, o que muita gente não sabe é que o Word possui um gravador de macros para automatizar esta programação, de maneira que não é necessário conhecer a linguagem VBA para criar uma macro no Word, pois, ao utilizar este mecanismo ele grava a sequencia de todas as ações enquanto o gravador estiver ligado. Apesar do gravador de macros ser uma mão na roda para quem quer automatizar tarefas repetitivas, com o tempo torna-se imprescindível aprender e dominar a linguagem VBA para criar macros mais sofisticadas sem a necessidade de gravá-las passo a passo. A edição a partir dos códigos é feita através do próprio Editor do Visual Basic contido no programa e esta ferramenta que utilizaremos para criar as 15 (quinze) macros que apresentaremos neste capítulo. Mas cuidado, preste muita atenção ao nomear uma macro, pois, se você der a uma nova macro o mesmo nome que uma interna do Word, as ações da nova macro substituirão a macro interna. Para exibir uma lista de macros internas, acione a guia Desenvolvedor e no grupo Código clique em Macros. Na lista Macros em, clique em Comandos do Word.

Page 29: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

29

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.1-Criando uma saudação ao usuário

Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic (VBE) através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente do VBA clique duas vezes sobre “ThisDocument” que fica na janela Projeto –Project.

Na Janela de Código selecione o objeto Document:

Clique duas vezes sobre

ThisDocument

Clique na ferramenta Visual Basic Guia Desenvolvedor

Selecione Document

Page 30: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

30

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em procedimento selecione Open:

Veja como deve ficar na imagem abaixo:

Explicando o Código:

Private Sub Document_Open() MsgBox "Olá seja bem vindo", vbOKOnly, "Mensagem ao Usuário" End Sub

Observe que para este exemplo utilizamos o procedimento Open, isso significa que toda vez que o documento for aberto será exibo uma mensagem de Boas vindas ao usuário. Feche o Editor do Visual Basic e salve o documento como Documento Habilitado para Macro do Word.

Selecione Open

Page 31: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

31

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Feche o documento e em seguida abra-o novamente para ver o resultado:

Page 32: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

32

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 33: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

33

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 34: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

34

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.2-Exibindo uma saudação ao usuário de acordo com o horário

Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Digite o código abaixo: Sub saudacao() Dim mHora mHora = Hour(TimeValue(Now)) Select Case mHora Case 1 To 5 MsgBox "Boa Madrugada", vbExclamation, "Saudação" Case 6 To 12 MsgBox "Bom Dia", vbExclamation, "Saudação” Case 13 To 18 MsgBox "Boa Tarde", vbExclamation, "Saudação" Case 19 To 24 MsgBox "Boa Noite", vbExclamation, "Saudação" End Select End Sub

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 35: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

35

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observe a imagem:

Explicando o Código: As linhas de código acima cria uma macro chamada “saudacao” cuja rotina emitirá em uma caixa de mensagem, uma saudação ao usuário, de acordo com o horário. Primeiramente declaramos a varíavel (aqui neste exemplo demos o nome de mHora); Utilizamos a função Hour que retorna como parâmetro uma hora, e a função TimeValue juntamente com a propriedade Now que retorna a hora atual do sistema. A estrutura Select Case testa um valor dentre os vários possíveis e determina qual Grupo de código será chamado:

Se o documento for aberto no horário das 01:00 h às 05:00 h será exibido a mensagem: “Boa Madrugada”.

Se o documento for aberto no horário das 06:00 h às 12:00 h será exibido a mensagem: “Bom Dia”.

Se o documento for aberto no horário das 13:00 h às 18:00 h será exibido a mensagem: “Boa Tarde”.

Se o documento for aberto no horário das 19:00 h às 24:00 h será exibido a mensagem: “Boa Noite”

Page 36: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

36

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Agora clique duas vezes sobre “ThisDocument” que fica na janela Projeto –Project.

Insira o seguinte código: Private Sub Document_Open() saudacao End Sub

Veja a imagem abaixo:

Estas linhas de código fará com que a macro “saudacao” seja executada todas as vezes em que o documento for aberto.

Clique duas vezes sobre ThisDocument

Page 37: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

37

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Feche o Editor do Visual Basic e salve o documento como Documento Habilitado para Macro do Word.

Feche o documento e abra-o novamente. Será exibido uma mensagem ao usuário de acordo com o horário em que o documento está sendo aberto Veja o resuldado:

Page 38: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

38

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 39: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

39

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 40: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

40

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.3-Saudação – interagindo com usuário

Outra forma simples de saudação ao usuário:

Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic (VBE) através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente do VBA clique duas vezes sobre “ThisDocument” que fica na janela Projeto –Project.

Na Janela de Código selecione o objeto Document:

Clique duas vezes sobre

ThisDocument

Clique na ferramenta Visual Basic Guia Desenvolvedor

Selecione Document

Page 41: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

41

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em procedimento selecione Open:

Digite o código abaixo: Private Sub Document_Open() Dim seunome As String 'Declara a variável seunome seunome = InputBox("Digite seu nome") 'exibe a caixa de mensagem para o usuário digitar seu nome.

MsgBox "Olá, " & seunome & " seja bem vindo ao " & Application.ActiveDocument 'exibe uma

mensagem de boas vindas com o nome digitado InputBox exibindo também o nome do documento ativo.

End Sub

Explicando o Código: O valor da variável seunome é igual ao nome que foi digitado na InputBox. Ao clicar no Botão OK será exibida uma caixa de mensagem de boas vindas com o nome do usuário e o nome do Documento ativo. OBS: As frases em verde são apenas comentários que foram inseridos para melhor entender o código. Não deve ser tirado o ' (apóstrofo) porque se for tirado deixará de ser um comentário e o editor entenderá como linha de código o que gerará erros na sua execução.

Selecione Open

Page 42: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

42

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Salve o documento como Documento Habilitado para Macro do Word.

Feche o documento e em seguida abra-o novamente para ver o resultado. Será exibida uma caixa de mensagem para que o usuário insira o seu nome.

Após inserir o nome e clicar no botão OK será exibida outra caixa de mensagem com o nome do usuário e o nome do documento.

Page 43: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

43

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 44: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

44

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 45: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

45

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.4-Outro exemplo utilizando a função INPUTBOX

Outro exemplo utilizando a função INPUTBOX para calcular valores e apresentar o resultado em uma caixa de mensagem. Neste exemplo usaremos duas InputBox, para realizar a soma de valores. Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1) e crie a seguinte macro com o nome calculavalores:

Na janela de Código digite:

Sub calculavalores() Dim a As Integer Dim b As Integer a = InputBox("Digite um valor", "Somando valores") b = InputBox("Digite outro valor", "Somando valores") MsgBox “Resultado= “ & a + b End Sub

Clique na ferramenta Visual Basic Guia Desenvolvedor

Inserir Módulo

Page 46: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

46

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Explicando o Código: Primeiramente declaramos duas variáveis “a” e “b” como tipo Integer. O valor da variável “a” é igual ao valor digitado na primeira InputBox e o valor da variável “b” é igual ao valor digitado na segunda InputBox. Será exibida uma caixa de mensagem com a soma dos valores de “a” e “b”.

Agora feche o Editor do Visual Basic para voltar ao Word. Clique no Menu Arquivo e em seguida em Fechar e voltar para Microsoft Word.

Acione a Guia Desenvolvedor e no Grupo Código clique em Macros ou se preferir use a combinação de teclas (teclas de atalho) Alt + F8.

Page 47: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

47

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione a macro calculavalores e clique em Executar.

Surgirá uma caixa de mensagem para que seja inserido o primeiro valor.

Insira um valor e e clique no botão OK. Surgirá uma nova caixa de mensagem para que seja inserido o segundo valor.

Insira o segundo valor e e clique no botão OK. O resultado da soma será exibida em uma nova caixa de mensagem.

Selecione a macro calculavalores e clique em Executar.

Page 48: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

48

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Podemos ainda associar essa macro a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido. Mostraremos aqui como fazer as três opções.

1ª Opção: usando Controle ActiveX

Acione a Guia Desenvolvedor e no Grupo Controles clique em Ferramentas Herdadas.

Em Controles ActiveX clique em Botão de Comando.

Clique em Ferramentas Herdadas

Clique em Botão de Comando.

Page 49: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

49

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Por padrão o Botão de Comando possui sua Propriedade Caption como CommandButton1 e caso seja inserido um novo botão ele será CommandButton2 e assim sucessivamente. Vamos alterar essa propriedade para “Calcular”.

Selecione o Botão de Comando que acabamos de inserir no documento e no Grupo Controles clique em Propriedades.

Selecione o Botão de comando e clique em Propriedades.

Altere a Propriedade Caption para Calcular.

Page 50: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

50

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Você ainda pode, se quiser, alterar outras propriedades do botão como a sua cor através do propriedade BackColor; a fonte, estilo da fonte e tamanho através da propriedade Font, a cor da fonte através da propriedade ForeColor, etc. Veja como ficou o nosso botão:

Agora é necessário colocar o código por trás do botão que acionará a macro calculavalores. Clique duas vezes sobre o botão para abrir o Editor do Visual Basic ou selecione o botão e clique com o botão direito do mouse e selecione Exibir Código.

Propriedade Caption alterada para Calcular.

Clique com o botão direito do mouse e clique em Exibir Código.

Page 51: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

51

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No evento click do botão digite o nome de sua macro, neste caso é “calculavalores”. Ficará assim: Private Sub CommandButton1_Click() calculavalores End Sub

Feche o Editor do Visual Basic para voltar ao Word. No Word selecione o botão de comando e clique em Modo de Design para desativar o Modo Design.

Tendo feito isso é só clicar no botão Calcular para que sejam exibidas as caixas de mensagens solicitando que sejam inseridos os valores para realizar o cálculo.

Page 52: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

52

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

2ª Opção: Adicionando na Faixa de Opções

Acione a Guia Arquivo e clique em Opções.

Em opções do Word clique em Personalizar Faixa de Opções.

Clique em Opções.

Clique em Personalizar Faixa de Opções.

Page 53: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

53

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No lado direito da tela em “Personalize a Faixa de Opções e os atalhos do teclado”, em “Escolher comando em:”, selecione Macros.

Não é possível adicionar a nossa Macro as Guias Principais, por isso temos que criar uma Nova Guia Personalizada. Para criar uma nova guia clique em Nova Guia.

Page 54: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

54

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Será acrescentado uma Nova Guia (Personalizado). Observe na imagem abaixo:

Clique em Nova Guia

Nova Guia adicionada

Page 55: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

55

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Agora vamos renomear essa Nova Guia. Para isso selecione a nova Guia e clique em Renomear e digite Calcular.

Selecione a Guia Calcular (Personalizado) e clique no sinal de + ao lado esquerdo da guia.

2º- Clique em Renomear

1º- Selecione a Nova Guia

3º- Digite um novo nome e clique em OK.

Clique no sinal de +.

Page 56: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

56

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Note que surgiu um Novo Grupo (Personalizado).

Agora devemos selecionar a macro calculavalores e selecione também Novo Grupo Personalizado e Clique em Adicionar.

Novo Grupo Personalizado.

1º - Selecione a Macro calculavalores.

2º - Selecione Novo Grupo (Personalizado)

3º - Clique em Adicionar.

Page 57: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

57

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione a macro que acabamos de adicionar em Novo Grupo (Personalizado) e clique em Renomear.

Neste exemplo vamos renomear essa nova ferramenta para Soma Valores, podemos também escolher um símbolo, neste exemplo escolhemos o ícone de uma calculadora. Feito isso clique no botão OK.

1º - Selecione a Macro calculavalores adicionada em Novo Grupo.

2º - Clique em Renomear.

Page 58: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

58

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observe que agora surgiu uma Nova Guia chamada Calcular e uma nova Ferramenta chamada Soma Valores.

Clicando na Ferramenta Soma Valores serão exibidas as caixas de mensagens (InputBox) solicitando que sejam inseridos os valores para realizar o cálculo.

Nova Guia Calcular.

Nova Ferramenta Soma Valores.

Page 59: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

59

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3ª Opção: Adicionando à Barra de Ferramentas de Acesso Rápido.

Acione a Guia Arquivo e clique em Opções.

Em opções do Word clique em Personalizar Barra de Ferramentas de Acesso Rápido.

Clique em Opções.

Selecione Barra de Ferramentas de Acesso Rápido.

Page 60: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

60

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No lado direito da tela em “Personalize a Barra de Ferramentas de Acesso Rápido”, e em “Escolher comando em:”, selecione Macros.

Selecione a macro calculavalores e clique em Adicionar.

Selecione Macros.

Selecione a Macro calculavalores

Clique em Adicionar.

Page 61: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

61

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione a Nova Ferramenta de Acesso Rápido (calculavalores) que foi Adicionada e clique em Modificar.

Vamos renomear essa nova ferramenta para Soma Valores, podemos também escolher um símbolo, neste exemplo escolhemos o ícone de uma calculadora. Feito isso clique no botão OK.

1º - Selecione a Nova Ferramenta.

Clique em Modificar.

Page 62: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

62

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observe a Nova Ferramenta na Barra de Ferramentas de Acesso Rápido.

Clicando nesta nova Ferramenta (Soma Valores), serão exibidas as caixas de mensagens (InputBox) solicitando que sejam inseridos os valores para realizar o cálculo. Dica importante: Caso o usuário ao executar essa macro não informar nenhum valor nas InputBox, ocorrerá um erro em tempo de execução.

Para evitar esse inconveniente é necessário fazermos um tratamento de erro. Acrescente as seguintes linhas ao seu código: On Error GoTo TrataErro TrataErro: Exit Sub

Ficaria Assim: Sub calculavalores() Dim a As Integer Dim b As Integer On Error GoTo TrataErro „no caso de erro vá para rotina TrataErro a = InputBox("Digite um valor", "Somando valores") b = InputBox("Digite outro valor", "Somando valores") MsgBox "Resultado: " & a + b TrataErro: „Tratamento de erro Exit Sub „Sai imediatamente do procedimento sub em que está. End Sub

Page 63: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

63

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 64: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

64

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 65: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

65

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.5-Inserindo o conteúdo de uma InputBox no documento.

Neste exemplo queremos que todas as vezes que o documento for aberto seja solicitado o Nome e RG do usuário ou cliente, pra isso devemos primeiro preparar o documento que receberá os valores das variáveis. 1º passo: Abra um documento novo no Word e digite Nome: dê um Enter e digite RG, como mostra a imagem abaixo:

2º passo: Posicione o ponto de iserção após Nome: insira um Indicador (Guia Inserir no Grupo Links clique em Indicador).

Inserir Indicador

Posicione o ponto de inserção após

Nome:

Page 66: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

66

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em seguida, em Nome do Indicador dê a ele o nome de [nome], mantenha selecionado a opção Indicadores ocultos depois clique em Adicionar.

3º passo: Posicione o ponto de inserção após RG: insira um Indicador (Guia Inserir no Grupo Links clique em Indicador).

Nome do indicador Selecione Indicadores Ocultos Clique em Adicionar

Inserir Indicador

Posicione o ponto de inserção após

RG:

Page 67: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

67

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em seguida, em Nome do indicador dê a ele o nome de [rg], mantenha selecionado a opção Indicadores ocultos depois clique em Adicionar.

4º passo: Abra o Editor do Visual Basic (VBA) através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente do VBA clique duas vezes sobre “ThisDocument” que fica na janela Projeto –Project.

Nome do indicador Selecione Indicadores Ocultos Clique em Adicionar

Clique duas vezes sobre

ThisDocument

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 68: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

68

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Na Janela de Código selecione o objeto Document:

Em procedimento selecione New:

Digite o código abaixo: Private Sub Document_New() „Procedimento New ActiveDocument.Bookmarks("nome").Select „ seleciona o indicador chamado “nome” Nome$ = InputBox("Digite o Nome do usuário ou Cliente!") Selection.InsertAfter Nome$ 'Insere o conteúdo do "inputBox" no indicador "nome" ActiveDocument.Bookmarks("rg").Select „ seleciona o indicador chamado “rg” rg$ = InputBox("Digite o RG do usuário ou Cliente!") Selection.InsertAfter rg$ 'Insere o conteúdo do "inputBox" no indicador "rg" End sub

OBS: As frases em verde são apenas comentários que inseri para entender melhor o código. Não deve ser tirado o ' (apóstrofo) porque se for tirado deixará de ser um comentário e o editor entenderá como linha de código e isso acarretará erros na sua execução.

Selecione Document

Selecione New

Page 69: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

69

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

5º passo: Feche o Editor e salve o documento acionando a Guia Arquivo e clicando em Salvar como.

Em Salvar como dê um nome para o arquivo e em Tipo selecione a opção Modelo Habilitado para Macro do Word.

Clique em Salvar Como.

Page 70: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

70

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 71: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

71

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 72: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

72

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Localize e abra o documento que foi salvo como Modelo Habilitado para macro. Veja a mensagem de saudação que surgirá na tela solicitando que seja digitado o nome do usuário. Digite o nome de um OK.

Surgirá outro Inputbox solicitando que seja inserida o RG. Digite o RG e dê OK.

Veja agora o documento preenchido:

Consideração Final: Neste exemplo utilizamos o Procedimento New e não Open e o documento também foi salvo como Modelo Habilitado para macro do Word. Isso é muito importante para que todas às vezes em que o documento for aberto os campos Nome e RG estejam prontos (em branco) para receber os valores digitados nas InputBox.

Digite um Nome e clique em OK.

Digite um RG e clique em OK.

Page 73: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

73

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.6-Exibindo uma mensagem na barra de status

Através do VBA, é possível colocar uma mensagem na barra de status usando a propriedade StatusBar.

Uma das utilidades em usar a propriedade StatusBar é a de poder manter os usuários informados sobre o que a macro está fazendo.

Sintaxe: StatusBar = "Digite sua mensagem aqui."

Será exibido a mensagem que está dentro das aspas na Barra de Status.

Vamos a um exemplo prático:

Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic (VBE) através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente do VBA clique duas vezes sobre “ThisDocument” que fica na janela Projeto –Project.

Clique duas vezes sobre

ThisDocument

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 74: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

74

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Na Janela de Código selecione o objeto Document:

Em procedimento selecione Open:

Em ThisDocument insira as linhas de código abaixo:

Private Sub Document_Open() StatusBar = "Este é um exemplo de mensagem na Barra de Status." End Sub Veja como deve ficar na imagem abaixo:

Selecione Document

Selecione Open

Page 75: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

75

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Esta rotina fará com que toda às vezes em que o documento for aberto seja exibido a mensagem que está entre aspas na Barra de Status.

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Mensagem exibida na Barra de Status.

Clique em Opções

Clique em Central de Confiabilidade

Page 76: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

76

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 77: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

77

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.7-Visualizar Impressão.

Neste exemplo criaremos uma macro para visualizar a impressão do documento ativo. Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1) e crie a seguinte macro com o nome visualizaimpressao.

Na janela de Código digite: Sub visualizaimpressao() ActiveDocument.PrintPreview ActiveWindow.View.Zoom = 100 End Sub

Explicando o Código: Exibe a visualização de impressão do documento ativo com configuração de zoom em 100%.

Clique na ferramenta Visual Basic Guia Desenvolvedor

Inserir Módulo

Page 78: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

78

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Deve ficar como na imagem abaixo:

Feche o Editor do Visual Basic para voltar ao ambiente de trabalho do Word.

No ambiente de trabalho do Word acione a Guia Desenvolvedor e no Grupo Código clique em Macros ou se preferir use a combinação de teclas (teclas de atalho) Alt + F8.

Fechar e Voltar para o Word.

Page 79: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

79

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione a macro visualizaimpressao e clique em Executar.

Surgirá na tela a Visualização de Impressão do Documento ativo.

Para melhorar a eficiência desta macro, sugiro associá-la a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido, seguindo as mesmas orientações mostradas no Exemplo nº 4 (3.4-Outro exemplo utilizando a função INPUTBOX).

Selecione a macro visualizaimpressao e clique em Executar.

Page 80: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

80

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 81: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

81

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 82: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

82

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.8-Contando caracteres de um texto ou palavra selecionada.

Neste exemplo criaremos uma macro que fará a contagem de caracteres do texto ou de qualquer palavra selecionada no texto, chamaremos esta macro de contacaracter. Abra um documento Word existente ou um novo documento. Abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Na janela de Código digite: Sub contacaracter() Dim Titulo As String Dim contacaracteres As Integer Dim Mensag As String Titulo = "Contador de Caracteres" contacaracteres = Len(Selection) Mensag = LTrim(Str(contacaracteres)) + " Caracter" If contacaracteres <> 1 Then Mensag = Mensag + "es" MsgBox Mensag, vbOKOnly, Titulo End Sub

Clique na ferramenta Visual Basic Guia Desenvolvedor

Inserir Módulo

Page 83: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

83

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Explicando o Código: Primeiramente declaramos a variáveis “Titulo” e “Mensag” como tipo String e a variável “contacaracteres” como Integer. Em seguida determinamos que o valor da variável “Titulo” será “Contador de Caracteres”, portanto, esse será o título da Caixa de Mensagem. Usamos a função Len para contar os caracteres do texto selecionado, essa função conta todos os caracteres da seleção, inclusive os espaços em branco, portanto o valor da variável “contacaracteres será sempre igual ao valor retornado pela função Len. A variável “Mensag” é igual ao valor de “contacaracteres” + o texto “Caracter”. A função Ltrim retiras os espaços a esquerda. A condicional If estabelece que se o valor de caracteres for maior que 1 então Mensag terá o texto adicional Caracter no plural. Deverá ficar assim:

Feche o Editor do Visual Basic para voltar ao ambiente de trabalho do Word.

Fechar e Voltar para o Word.

Page 84: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

84

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione uma palavra ou um trecho do texto.

Acione a Guia Desenvolvedor e no Grupo Código clique em Macros ou se preferir use a combinação de teclas (teclas de atalho) Alt + F8.

Selecione a macro contacaracter e clique em Executar.

Selecione a macro contacaracter e clique em Executar.

Page 85: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

85

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Eis o resultado:

Para melhorar a eficiência desta macro, sugiro associá-la a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido, seguindo as mesmas orientações mostradas no Exemplo nº 04 (3.4- Outro exemplo usando a função InputBox). Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Clique em Opções

Page 86: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

86

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Configurações da Central de Confiabilidade...

Clique em Central de Confiabilidade

Clique em Configurações da Central de Confiabilidade...

Page 87: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

87

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 88: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

88

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.9-Colocando borda em todas as imagens do documento.

Neste exemplo criaremos uma macro a qual daremos o nome de bordaspratodasimagens, essa macro irá aplicar uma borda personalizada em todas as imagens no documento ativo. Abra um documento que contenha imagens ou crie um novo documento e insira algumas imagens.

Em seguida abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 89: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

89

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Na janela de Código digite: Sub bordaspratodasimagens() Dim Img As InlineShape 'Declarando a variável chamada Img como a forma de linha. For Each Img In ActiveDocument.InlineShapes 'Loop através de todas as imagens no Documento.

Img.Line.Weight = 5 'Determina a expressura da borda Img.Line.Style = msoLineSingle 'Determina o estilo de Linha da borda Img.Line.ForeColor.RGB = RGB(191, 219, 255) 'Determina a cor da borda

Next Img 'Avança para próxima imagem

End Sub

OBS: As frases em verde são apenas comentários que foram inseridos para melhor entender o código. Não deve ser tirado o ' (apóstrofo) porque se for tirado deixará de ser um comentário e o editor entenderá como linha de código o que gerará erros na sua execução. Outro detalhe interessante é que foi usado a função RGB para determinar a cor da borda, porque através desta função podemos usar o valor das combinações de cores. Poderíamos usar também as constantes: vbBlack, vbBlue, vbCyan, vbGreen, vbMagenta, vbRed, vbWhite e vbYellow, porém com a função RGB podemos obter outras cores. Veja um exemplo de como ficaria usando constantes: Img.Line.ForeColor = vbBlue

Inserir Módulo

Page 90: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

90

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observe como ficará a macro na janela de Código:

Feche o Editor do Visual Basic para voltar ao ambiente de trabalho do Word.

No ambiente de Trabalho do Word, acione a Guia Desenvolvedor e no Grupo Código clique em Macros ou se preferir use a combinação de teclas (teclas de atalho) Alt + F8.

Selecione a macro bordaspratodasimagens e clique em Executar.

Clique na ferramenta Macros

Guia Desenvolvedor

Page 91: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

91

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Eis o resultado:

Selecione a macro bordaspratodas imagens e clique em Executar.

Observe as bordas que foram inseridas nas imagens.

Page 92: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

92

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Para melhorar a eficiência desta macro, sugiro associá-la a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido, seguindo as mesmas orientações mostradas no Exemplo nº 04 (3.4- Outro exemplo usando a função InputBox).

Salve o Documento como Documento Habilitado para Macro do Word. Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Configurações da Central de Confiabilidade...

Clique em Opções

Clique em Central de Confiabilidade

Page 93: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

93

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 94: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

94

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.10-Colocando borda nas imagens selecionadas.

No exemplo anterior criamos uma macro que colocava bordas personalizadas em todas as imagens do documento, agora neste outro exemplo criaremos uma macro a qual daremos o nome de Bordanaimgselec, e através dessa macro o usuário poderá escolher em qual imagem deseja aplicar uma borda personalizada. Abra um documento que contenha imagens ou crie um novo documento e insira algumas imagens.

Em seguida abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 95: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

95

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Na janela de Código digite: Sub Bordanaimgselec() Dim mImg As InlineShape Dim resp As Integer 'Loop através de todas as imagens do documento For Each mImg In ActiveDocument.InlineShapes 'Seleciona a imagem mImg.Select 'Pergunta ao usuário se deseja adicionar borda a imagem selecionada resp = MsgBox("Deseja adiconar borda na imagem selecionada?", vbYesNo, "Adicionando Bordas") 'Se o usuário responder sim uma borda é adicionada If resp = vbYes Then AddBorder = Dialog 'Expressura da borda mImg.Line.Weight = 5 'Estilo de linha da borda mImg.Line.Style = msoLineSingle 'Determina a cor da borda mImg.Line.ForeColor.RGB = RGB(191, 219, 255) End If Next mImg End Sub

OBS: As frases em verde são apenas comentários que foram inseridos para melhor entender o código. Não deve ser tirado o ' (apóstrofo) porque se for tirado deixará de ser um comentário e o editor entenderá como linha de código o que gerará erros na sua execução. Outro detalhe interessante é que foi usado a função RGB para determinar a cor da borda, porque através desta função podemos usar o valor das combinações de cores.

Inserir Módulo

Page 96: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

96

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Poderíamos usar também as constantes: vbBlack, vbBlue, vbCyan, vbGreen, vbMagenta, vbRed, vbWhite e vbYellow, porém com a função RGB podemos obter outras cores. Veja um exemplo de como ficaria usando constantes: mImg.Line.ForeColor = vbBlue

Deverá ficar como na imagem abaixo:

Feche o Editor do Visual Basic para voltar ao ambiente de trabalho do Word.

No menu Arquivo clique em Fechar e voltar para Microsoft Word.

Page 97: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

97

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No ambiente de trabalho do Word acione a Guia Desenvolvedor e no Grupo Código clique em Macros.

Selecione a macro Bordanaimgselec e clique em Executar.

Será exibida uma caixa de mensagem questionando o usuário se deseja ou não adicionar uma borda na imagem selecionada.

Guia Desenvolvedor.

Clique em Macros.

Selecione a macro. Clique em Executar.

Page 98: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

98

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Se a resposta for sim, uma borda será adicionada na imagem selecionada, em seguida automaticamente será selecionada a próxima imagem e a mesma pergunta será feita ao usuário.

Se a resposta for não, nenhuma borda será adicionada na imagem selecionada e automaticamente será selecionada a próxima imagem e o mesmo questionamento será feito ao usuário. Para melhorar a eficiência desta macro, sugiro associá-la a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido, seguindo as mesmas orientações mostradas no Exemplo nº 04 (3.4- Outro exemplo usando a função InputBox) .

Salve o Documento como Documento Habilitado para Macro do Word.

Page 99: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

99

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 100: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

100

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 101: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

101

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.11-Usando a Função StrReverse

Essa função simplesmente retorna os caracteres especificados numa ordem invertida. Síntaxe: Strreverse (Expressão) Apresento a seguir duas formas de utilizar esta função.

1ª Opção: Exibindo o texto em uma caixa de mensagem

Abra um novo documento. Em seguida abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Clique na ferramenta Visual Basic Guia Desenvolvedor

Inserir Módulo

Page 102: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

102

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Na janela de Código criaremos uma macro que neste exemplo daremos o nome de StrReverseexemplo1 Sub StrReverseexemplo1() MsgBox StrReverse("EXEMPLO USANDO A FUNÇÃO STRREVERSE") End Sub

Observe a figura abaixo:

Nesta 1ª opção a frase dentro do parêntese que está entre aspas será exibida em Caixa de Mensagem numa ordem invertida. Vamos ver como funciona: Feche o Editor do Visual Basic para voltar à área de trabalho do Word.

Menu Arquivo >> Fechar e voltar para Microsoft Word

Page 103: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

103

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No ambiente de trabalho do Word acione a Guia Desenvolvedor e no Grupo Código clique em Macros.

Selecione a macro StrReverseexemplo1 e clique no botão Executar:

Veja o resultado: o texto é exibido em uma Caixa de Mensagem.

Guia Desenvolvedor.

Clique em Macros.

Selecione a Macro.

Clique em Executar.

Page 104: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

104

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

2º Opção: Exibindo o texto no documento

Abra um novo documento. Em seguida abra do Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Na Janela de Código criaremos uma macro e daremos o nome de StrReverseexemplo2. Sub StrReverseexemplo2() Dim palavraaocontrario As String palavraaocontrario = StrReverse("EXEMPLO USANDO A FUNÇÃO STRREVERSE ") ActiveDocument.Content.InsertBefore (palavraaocontrario) End Sub

Clique na ferramenta Visual Basic Guia Desenvolvedor

Inserir Módulo

Page 105: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

105

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Veja como ficará na Janela de Código:

Nesta 2ª opção a frase dentro dos parênteses que está entre aspas será inserida no documento numa ordem invertida. Vamos ver como funciona: Feche o Editor do Visual Basic para voltar à área de trabalho do Word.

No ambiente de trabalho do Word acione a Guia Desenvolvedor e no Grupo Código clique em Macros.

Menu Arquivo >> Fechar e voltar para Microsoft Word.

Guia Desenvolvedor.

Clique em Macros.

Page 106: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

106

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Selecione a macro StrReverseexemplo2 e clique no botão Executar:

Veja o resultado: o texto agora é exibido diretamente na área de trabalho do Word.

Neste exemplo mostramos apenas duas formas de utilizar a função StrReverse, mais é possível também utilizá-la em um formulário (UserForm). Por exemplo: Private Sub CommandButton1_Click() Label1.Caption = StrReverse(TextBox1.Text) End Sub

Selecione a Macro.

Clique em Executar.

Page 107: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

107

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Para facilitar a utilização desta macro, sugiro associá-la a um botão usando um Controle ActiveX ou adicioná-la a Faixa de Opções ou ainda inseri-la na Barra de Ferramentas de Acesso Rápido, seguindo as mesmas orientações mostradas no Exemplo nº 04 (3.4- Outro exemplo usando a função InputBox). Salve o documento como Documento Habilitado para Macro do Word. Observação importante: Para que uma macro possa ser executada é necessário alterar a configuração de Macro do Word através da Guia Arquivo >> Opções >> Central de Confiabilidade. Como mostra as imagens abaixo:

Na janela de Opções do Word clique em Central de Confiabilidade:

Clique em Opções

Clique em Central de Confiabilidade

Page 108: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

108

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Clique em Configurações da Central de Confiabilidade...

Em Central de Confiabilidade clique em Configurações de Macro e em Configurações de Macro selecione a opção Habilitar todas as macros.

Clique em Configurações da Central de Confiabilidade...

Clique em Configurações de Macro

Selecione Habilitar todas as macros.

Page 109: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

109

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

3.12-Extraindo E-mails de um documento.

Neste exemplo estaremos criando uma macro, cuja função, será extrair os e-mails contidos no documento e listá-los em um novo documento.

Abra um documento Word que contenha um ou mais endereços de e-mail em seu conteúdo, em seguida abra o Editor do Visual Basic através da Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou simplesmente através do atalho Alt + F11.

Para este exemplo usaremos aqui um documento que contém vários e-mails fictícios dentro do texto.

Clique na ferramenta Visual Basic Guia Desenvolvedor

Page 110: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

110

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

No ambiente de programação do VBA clique no menu Inserir >> Módulo para abrir a janela de edição dos códigos (Módulo1).

Na janela de Código digite: Sub ExtrairEmail() Dim oSource As Document, oTarget As Document Dim strPath As String Dim oHLink As Hyperlink Dim oPara As Paragraph 'Verifica se existe um documento If Documents.Count = 0 Then MsgBox "Abra um documento que contenha e-mails para extraí-los!", vbCritical, "Extrair E-mail" Exit Sub End If Set oSource = ActiveDocument oSource.Save 'Guarda o nome do documento e caminho strPath = oSource.FullName 'Cria um novo documento para os e-mails extraídos Set oTarget = Documents.Add 'Formata o documento original para definir os Hiperlinks With Options .AutoFormatReplaceHyperlinks = True oSource.Range.AutoFormat End With 'Verifica quais são os hiperlinks para os endereços de e-mail For Each oHLink In oSource.Range.Hyperlinks If InStr(1, oHLink.Address, "mailto:") > 0 Then 'copia os e-mails para o novo documento e insere um em cada linha With oTarget.Range .InsertAfter oHLink.Address .InsertAfter vbCr End With End If Next oHLink 'Remove os textos indesejados de hiperlinks oTarget.Range = Replace(oTarget.Range, "mailto:", "") 'Classifica a lista em ordem alfabética oTarget.Range.SortAscending 'Remove as linhas em branco For Each oPara In oTarget.Range.Paragraphs If Len(oPara.Range) = 1 Then oPara.Range.Delete Next oPara 'Formata os parágrafos para remover os espaços indesejados oTarget.Range.ParagraphFormat.SpaceAfter = 0 oTarget.Range.ParagraphFormat.SpaceBefore = 0

Inserir Módulo

Page 111: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

111

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

FIM DA VERSÃO DEMONSTRATIVA

VEJA ABAIXO OS PROJETOS QUE SERÃO DESENVOLVIDOS

PASSO A PASSO NA VERSÃO COMPLETA DO EBOOK WORD

2010 VBA.

Page 112: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

112

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 01- Criador de Mini Banners

Este projeto consiste na criação de uma aplicação que permitirá ao usuário inserir mini banners em um documento Word.

O leitor acompanhará a construção passo a passo da interface e do código que dará funcionalidade a esta aplicação.

Page 113: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

113

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 02 - Procura Texto

Esta aplicação procura uma palavra ou textos com até 100 caracteres e contas quantas vezes ela ocorre dentro do documento e marca a(s) palavra(s) encontrada(s) com a cor que o usuário selecionar, que podem ser: amarela, verde ou cinza.

Page 114: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

114

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 03 - Prazo Exato

Nesta aplicação o usuário informa uma data inicial e o programa calcula qual será a data futura de acordo com o número de dias, mês ou ano informado.

Page 115: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

115

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 04 - Calculadora

Neste projeto o leitor acompanhará passo a passo a criação de uma Calculadora. Com essa calculadora será possível realizar cálculos com as quatro operações fundamentais (somar, subtrair, multiplicar e dividir) e também cálculos de porcentagem. O interessante desta calculadora é que ela tem a opção de inserir o resultado do cálculo no corpo do documento, no local onde estiver posicionado o ponto de inserção.

Page 116: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

116

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 05 - Declaraça o de Matrí cula

Neste projeto a intenção é mostrar ao leitor como preencher um documento através de um formulário (UserForm). Este pequeno aplicativo tem a seguinte finalidade: preencher uma Declaração de Matrícula. É um Projeto simples, mas a partir desta aprendizagem você poderá criar outras aplicações e/ou adequá-los a quaisquer outros documentos, conforme suas necessidades.

O leitor aprenderá também como preparar o texto inserindo indicadores pra marcar o lugar que deverão receber os valores dos campos do formulário.

Page 117: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

117

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 06 - Ca lculos Diversos

Page 118: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

118

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Esta Aplicação tem a finalidade de realizar cálculos de Porcentagem, Potenciação, Raiz Quadrada e a Tabuada de qualquer número informado, com a possibilidade de transportar para o documento.

Neste Projeto, serão criados cinco formulários, sendo que um deles apresentará um Menu Principal que dará acesso aos demais formulários que realizarão os cálculos acima descritos.

Page 119: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

119

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto O7 - Nota de Orçamento

Neste projeto o leitor acompanhará passo a passo a criação uma aplicação que irá preencher um orçamento através de um formulário (UserForm). O objetivo principal deste projeto é mostrar ao leitor como preencher uma tabela do Word através do VBA.

Mas a partir desta aprendizagem o leitor poderá criar outras aplicações e adequá-los a quaisquer outros documentos, conforme suas necessidades.

Page 120: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

120

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 08 - Estados Brasileiros e suas Capitais

Esta aplicação permite ao usuário pesquisar a capital de qualquer Estado brasileiro. São três tipos de pesquisa: por Estado, por Região e a Exibição de todos os Estados e suas respectivas Capitais.

A parte interessante deste Projeto é a possibilidade do usuário gerar um relatório da pesquisa realizada, portanto, na elaboração desta aplicação o leitor aprenderá como criar uma tabela via código VBA com o número de colunas e linhas exatas, de acordo com a pesquisa realizada.

Observe que neste formulário o Botão “Transportar para o Documento” está incialmente desabilitado e somente ficará habilitado quando o usuário executar alguma pesquisa clicando no botão OK.

Page 121: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

121

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 09 - Navegador Web

Neste Projeto o leitor acompanhará passo a passo a criação de um navegador de páginas da Internet. O objetivo deste Proejto é mostrar ao leitor como utilizar a ferramenta WebBrowser que será usada para a criação do Navegador e a parte interessante desta Aplicação é a possibilidade que o usuário terá de selecionar algum trecho de uma página da Internet e com apenas um click copiá-lo para um novo documento que será criado e formatado automaticamente.

Page 122: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

122

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

Projeto 10 - Criador de Capa para Trabalho Acade mico

Esta Aplicação tem a finalidade de ajudar a criar capas para trabalhos acadêmicos de acordo as normas ABNT. Embora esta aplicação siga os padrões da ABNT para criação das Capas, pode ser que ela não se ajuste às orientações específicas de algumas instituições, porém, com algumas modificações no formulário e/ou em seu código pode ser adaptado a quaisquer exigências de formatação.

Page 123: DESVENDANDO OS PODEROSOS RECURSOS DO WORD · VBA e Access VBA, mas quando se refere ao VBA do Word o material é bastante escasso, por esse motivo resolvi criar este e-book para mostrar

123

DESVENDANDO OS PODEROSOS RECURSOS DO WORD

ADQUIRA AGORA A VERSÃO COMPLETA E TENHA ACESSO A

TODO CONTEÚDO DO EBOOK WORD 2010 VBA.

http://www.tutoriaisword.com/programacao-vba.htm