Do Básico ao Avançado
Home  Tutoriais  Artigos  Contato

Macro para salvar e fechar um documento no Word

Neste tutorial usarei como exemplo um Controle Activex (Botão de Comando) e adicionarei a ele através do VBA uma macro para que ao receber um clique o documento ativo seja salvo e em seguida fechado.


Inserir Controle no documento

Clique na Guia Desenvolvedor e no grupo Controles clique em Ferramentas Herdadas, como mostra a imagem abaixo.

Ferramentas Herdadas

Clique no controle Botão de Comando.

Inserir controle botão de comando

Observe o botão inserido no documento.

Botão de Comando

Alterar as propriedades do controle

Selecione o botão de comando e novamente na Guia Desenvolvedor no Grupo Controles clique em Propriedades ou se preferir selecione o controle com o botão direito do mouse e clique em Propriedades, como mostra a imagem abaixo.

Propriedades do Controle

Na Janela de Propriedade vamos definir as seguintes propriedades:

Caption = Salvar
Font = Arial, negrito, tamanho 11

OBS: Você pode alterar outras propriedades se assim desejar, porém, neste exemplo alterarei somente as propriedades acima mencionadas.

Alterar Propriedades do Controle

Observe como ficou agora o nosso controle no documento.

alterar propriedades

Adicionando código ao controle

Selecione o controle e com o botão direito do mouse clique sobre ele e depois clique em Exibir Código ou se preferir clique duas vezes sobre o controle.

Exibir Código do Controle

Agora no evento Click do botão adicione o seguinte código:

Private Sub CommandButton1_Click()
Dim quest As VbMsgBoxResult
quest = MsgBox("Deseja realmente fechar este documento?", vbYesNo, "Fechar documento")
If quest = vbYes Then
With ActiveDocument
.Save
.Close
End With
Else
Exit Sub
End If
End Sub

Deverá ficar como na imagem abaixo:

Código do Controle

Na 2ª linha do código declaramos a variável quest como tipo VbMsgBoxResult para armazenar o resultado da MsgBox.

Na linha 3 usamos a função MsgBox para exibir uma mensagem solicitando uma confirmação de decisão utilizamos o parâmetro vbYesNo para na mensagem seja exibido dois botões (Sim e Não), assim o usuário deverá clicar em uma das opções mostrada para que o retorno seja armazenado na variávelquest.

Em seguida, usamos a estrutura condicional If…Then…Else para verificar o resultado da função.

Se o resultado armazenado na variável quest for igual a constante vbYes (se a confirmação do usuário for sim) então o documento ativo será salvo (.Save) e depois fechado (.Close).

Caso contrário (Else) a macro deve parar sua execução saindo imediatamente do procedimento e para isso usamos a instrução Exit Sub. Neste caso o documento não será salvo e nem fechado. Isso significa que o usuário clicou no botão não (constante vbNo).




Formação Pacote Office



eBook Word 2010 VBA

Política de Privacidade  |   © 2013 Tutoriais Word - Todos os direitos reservados