Como suprimir a solicitação "Salvar alterações" quando você fechar uma pasta de trabalho no Excel


Resumo


No Microsoft Excel, você pode criar um de Visual Basic for Applications do Microsoft macro (VBA) que suprime a solicitação "Salvar alterações" quando você fechar uma pasta de trabalho. Você pode fazer isso especificando o estado da propriedade de salvo da pasta de trabalho ou suprime todos os alertas para a pasta de trabalho.

Informações adicionais


A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um propósito específico. Este artigo presume que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas. Para usar qualquer um dos exemplos a seguir, execute as seguintes etapas:
  1. Inicie o Excel e abra uma nova pasta de trabalho.
  2. Pressione ALT + F11 para iniciar o editor do Visual Basic.
  3. No menu Inserir, clique em Módulo.
  4. Digite o código de macro de exemplo na folha do módulo.
  5. Pressione ALT + F11 para retornar ao Excel.
  6. No Microsoft Office Excel 2003 e em versões anteriores do Excel, aponte para Macro no menu Ferramentas e, em seguida, clique em Macros. No Microsoft Office Excel 2007, clique em Macros no grupo código na guia desenvolvedorObservação se a guia desenvolvedor não estiver disponível, considere as seguintes etapas:
    1. Clique no Botão do Microsoft Office e clique em Opções do Excel.
    2. Na categoria Popular , em Opções principais para trabalhar com o Excel, clique para selecionar a caixa de seleção guia Mostrar desenvolvedor na faixa de opções e, em seguida, clique em Okey.
  7. Selecione a macro que você deseja e, em seguida, clique em Executar.
A propriedade Saved retorna o valor False se foram feitas alterações em uma pasta de trabalho desde que ele foi salvo pela última vez. Você pode usar o nome da sub-rotina reservado "Auto_Close" para especificar uma macro que deverá ser executado sempre que uma pasta de trabalho é fechada. Fazendo isso, você pode controlar como o documento é tratado quando o usuário for concluído e instruiu o Excel para fechar o documento.

Exemplo 1: Fechar a pasta de trabalho sem salvar as alterações

Para forçar uma pasta de trabalho para fechar sem salvar as alterações, digite o seguinte código em um módulo do Visual Basic da pasta de trabalho:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
Como a propriedade Saved é definida como True, o Excel responde como se a pasta de trabalho já tiver sido salvo e nenhuma alteração ocorreu desde a última gravação que. A propriedade DisplayAlerts do programa pode ser usada para a mesma finalidade. Por exemplo, a macro a seguir desativa DisplayAlerts , fecha a pasta de trabalho ativa sem salvar as alterações e, em seguida, ativa DisplayAlerts novamente.
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
Você também pode usar o argumento SaveChanges do método Close . A macro a seguir fecha a pasta de trabalho sem salvar as alterações:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

Exemplo 2: Fechar a pasta de trabalho e salvar as alterações

Para forçar uma pasta de trabalho para salvar as alterações, digite o seguinte código em um módulo do Visual Basic da pasta de trabalho:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
Este subprocedimento verifica se a propriedade do arquivo salvo é definida como False. Nesse caso, a pasta de trabalho foi alterada desde a última gravação, e essas alterações serão salvas.