Tutoriais Word
Home  |  Tutoriais  |  Artigos  |  VBA  |  Download  |  eBooks Word VBA  |  Dicas e Truques  |  Teclas de Atalho  |  Serviços  |  Contato


Categorias

Básico/Intermediário

  Avançado

  VBA

  Tabelas

  Formulário

  Campo

  Livros

  ABNT

  TCC

Personalizando Formulário

eBook Word 2010 VBA

Tabela do Word como banco de dados

Cálculos com datas em formulário no Word.








Neste tutorial darei um exemplo de como realizar Cálculos com datas em formulário no Word através da execução de macro.


No exemplo deste tutorial vamos Calcular a Diferença em Dias Entre Duas Datas.


Primeiramente vamos criar uma tabela com duas linhas e três colunas (Data Inicial, Data Final e Número de Dias), como o da imagem abaixo:


Tabela


Adicione três Campos de Texto, um em cada coluna, como mostrado na imagem abaixo:


Campos de Texto


O objetivo deste formulário é exibir o número de dias entre a Data Inicial e a Data Final, sendo que a Data Inicial será sempre a data atual, portanto, mais adiante, iremos alterar as propriedades deste controle para que sempre seja exibida a data atual.


O usuário informará apenas a Data Final no Campo de Texto da segunda coluna da tabela e também adicionaremos no evento Saída, deste controle, a macro que ainda iremos criar.


Nosso próximo passo agora é criar a macro que será responsável pela execução do cálculo, portanto, acione a Guia Desenvolvedor e no Grupo Código clique em Visual Basic ou através do atalho ALT + F11.


No ambiente de programação clique no menu Inserir e em seguida clique em Módulo.


Inserir Módulo


Neste novo Módulo criaremos uma macro e daremos a ela o seguinte nome: calculandodata


Na Janela de Código, digite as seguintes linhas de código:


Sub calculandodata()
Dim nData As Date' Declara as variáveis.
Dim Texto3
nData = ActiveDocument.FormFields("Texto2").Result
ActiveDocument.FormFields("Texto3").Result = DateDiff("d", Now, nData)
End Sub



Veja como ficará na Janela de Código:


Janela de Código


Feito isso, feche o Editor do Visual Basic For Applications (VBA) para retornar ao Microsoft Word.


Fechar o Editor do Visual Basic


Agora chegou a hora de alterar as propriedades dos controles, portanto selecione o controle Campo de Texto da primeira coluna da tabela e clique sobre ele com o botão direito do mouse e selecione Propriedades.


Propriedades doc Campo de Texto


Em Opções do campo de formulário texto faça as seguintes alterações:


Tipo: Data atual


Formato da data: dd/MM/yyyy


Opções do campo de formulário texto


Agora selecione o controle Campo de Texto da segunda coluna da tabela e clique sobre ele com o botão direito do mouse e selecione Propriedades.


Propriedades do Campo de texto


Em Opções do campo de formulário texto faça as seguintes alterações:


Tipo: Data


Formato da data: dd/MM/yyyy


Saída: selecione a macro calculandodata


Selecione também a opção Calcular ao sair


Opções do campo de formulário texto


Agora selecione o controle Campo de Texto da terceira coluna da tabela e clique sobre ele com o botão direito do mouse e selecione Propriedades.


Propriedades do Campo de Texto


Em Opções do campo de formulário texto faça as seguintes alterações:


Tipo: Número


Formato do número: 0


Opções do campo de formulário texto


Agora é necessário proteger nosso formulário para que possamos utilizá-lo.


Na Guia Desenvolvedor, no Grupo Proteger clique em Proteger Documento.


Proteger Documento


Clique em Restringir Formatação e Edição


Restringir Formatação e Edição


No lado direito da tela surgirão as opções de restrição. Em Restrições de edição selecione a opção “Permitir apenas este tipo de edição no documento:”, em seguida no menu DropDown selecione “Preenchendo Formulários”. Em seguida clique no botão Sim, Aplicar Proteção. Observe a imagem abaixo:


Restrições de Edição


Digite uma senha para aplicar a proteção.


Aplicar Proteção


OBS: Proteger o formulário ativa os campos e permite que os usuários o completem. As outras áreas do formulário ficam protegidas de alterações, o que impossibilita que o usuário faça qualquer tipo de modificação.


Para desativar a proteção basta somente clicar no botão Parar Proteção e se você optou por colocar uma senha ela será requerida para desproteger.


Com o formulário protegido você deve navegar pelos campos usando a Tecla Tab.


Tab: avançar para o próximo campo


Shift + Tab: retornar ao campo anterior


Vamos fazer um teste:


Informe a Data final e pressione a tecla TAB.


Cálculo com data em formulário no Word


O controle Campo de Texto da terceira coluna é preenchido automaticamente quando a tecla TAB é pressionada.


OBS: Para que um formulário com macros funcione é necessário que a execução de macro esteja habilitada.


Considerações Finais: para evitar que ocorram erros aconselho a adicionar uma rotina de Tratamento de erros ao código. Por exemplo, se o usuário pressionar a tecla TAB sem informar a Data Final gerará um erro em tempo de execução.


Abaixo o código usado neste exemplo com tratamento de erros:


Sub calculandodata()
On Error GoTo Trata-Erro
Dim nData As Date' Declara as variáveis
Dim Texto3
nData = ActiveDocument.FormFields("Texto2").Result
ActiveDocument.FormFields("Texto3").Result = DateDiff("d", Now, nData)
Trata-Erro: ' Em caso de erro o código seguinte é executado
Exit Sub 'Sai do procedimento
End Sub



Neste tutorial mostramos como calcular a diferença em dias entre duas datas, porém, é possível também calcular a diferença em meses ou anos, basta fazer uma pequena alteração no código.


Para calcular a diferença em mês(es):


ActiveDocument.FormFields("Texto3").Result = DateDiff("M", Now, nData)


Para calcular a diferença em ano(s):


ActiveDocument.FormFields("Texto3").Result = DateDiff("yyyy", Now, nData)







Veja Também:


Cálculos com Datas em Formulário no Word 2007 - Parte 2





Conteúdo Correspondente:



      

 Inscreva-se

 E seja informado sempre que um novo tutorial for publicado.

 E mais... Você poderá fazer gratuitamente o download de 02(dois) e-Books:
- Como preencher uma tabela(VBA) - Iniciante;
- Como preencher uma tabela com várias linhas(VBA) - Iniciante.


 Nome* 
 E-mail* 
 *Preenchimento obrigatório.
Prometemos não utilizar suas informações de contato para enviar qualquer tipo de SPAM.

 



eBook Word 2010 VBA




© 2013 Tutoriais Word - Todos os direitos reservados