Table of contents
TOC
Recolher sumário
Expandir sumário

Evento QueryClose

office 365 dev account|Última Atualização: 04/10/2017
|
1 Colaborador

Ocorre antes que um UserForm feche.

Syntax

Private Sub UserForm_QueryClose(cancelAs Integer, closemodeAs Integer)

A sintaxe do evento QueryClose tem estas partes:

ParteDescrição
cancelarUm número inteiro. A configuração desse argumento como qualquer valor diferente de 0 para o evento QueryClose em todos os formulários de usuário carregados e impede que o UserForm e o aplicativo fechem.
closemodeUm valor ou constante que indica a causa do evento QueryClose.

Return Values

O argumento closemode retorna os seguintes valores:

ConstanteValorDescrição
vbFormControlMenu0O usuário escolheu o comando Close do menu Control no UserForm.
vbFormCode1A instrução Unload é invocada do código.
vbAppWindows2A sessão operacional atual do Windows está terminando.
vbAppTaskManager3O Task Manager do Windows está fechando o aplicativo.

Estas constantes estão listadas na biblioteca de objetos do Visual Basic for Applications no Pesquisador de Objetos. Observe que vbFormMDIForm também é especificado no Object Browser, mas ainda não tem suporte.

Remarks

Este evento é tipicamente usado para garantir que não haja tarefas inacabadas nos formulários do usuário incluídas em um aplicativo antes que o aplicativo seja fechado. Por exemplo, se um usuário não tiver salvado dados novos em qualquer UserForm, o aplicativo poderá solicitar que o usuário salve os dados.

Quando um aplicativo fechar, você poderá usar o procedimento de eventos QueryClose para definir a propriedade Cancel como True, parando o processo de fechamento.

Exemplo

O código a seguir força o usuário a clicar na área de cliente do UserForm para fechá-lo. Se o usuário tentar usar a caixa Close na barra de título, o parâmetro Cancel será definido com um valor diferente de zero, impedindo o término. Entretanto, se o usuário tiver clicado na área do cliente, CloseMode terá o valor 1 e Unload Me será executado.

Private Sub UserForm_Activate()
    UserForm1.Caption = "You must Click me to kill me!"
End Sub

Private Sub UserForm_Click()
  Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    'Prevent user from closing with the Close box in the title bar.
    If CloseMode <> 1 Then Cancel = 1
    UserForm1.Caption = "The Close box won't work! Click me!"
End Sub
© 2018 Microsoft