Resumo
No Microsoft Excel, você pode criar uma macro do Microsoft Visual Basic for Applications (VBA) que suprime o prompt Salvar Alterações ao fechar uma pasta de trabalho. Isso pode ser feito especificando o estado da propriedade Saved da pasta de trabalho ou suprimindo todos os alertas para a pasta de trabalho.
Mais informações
OBSERVAÇÃO: A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não se limita a, as garantias implícitas de comercialização ou adequação a uma finalidade específica. Este artigo pressupõe 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 procedimento específico. No entanto, eles não modificarão esses exemplos para fornecer funcionalidade adicional ou procedimentos de construção para atender aos seus requisitos específicos.
Para se preparar para implementar um dos exemplos abaixo, execute estas etapas primeiro:-
Inicie o Excel e abra uma nova pasta de trabalho.
-
Pressione ALT+F11 para iniciar o Visual Basic editor.
-
No menu Inserir, clique em Módulo.
-
Digite o código de macro de exemplo na planilha do módulo.
-
Pressione ALT+F11 para retornar ao Excel.
-
No Microsoft Office Excel 2003 e em versões anteriores do Excel, escolha Macro no menu Ferramentas e clique em Macros.
No Microsoft Office Excel 2007, clique em Macros no grupo Código na guia Desenvolvedor. Se a guia Desenvolvedor não estiver disponível, considere fazer isso: um. Clique no Botão do Microsoft Office e clique em Opções do Excel. b. Na categoria Popular, em Principais opções para trabalhar com o Excel, clique para selecionar o Mostrar Guia desenvolvedor na caixa Ribbon marcar e clique em OK. -
Selecione a macro desejada e clique em Executar.
A propriedade Saved retornará o valor False se as alterações tiverem sido feitas em uma pasta de trabalho desde a última salvação.Auto_Close para especificar uma macro que deve ser executada sempre que uma pasta de trabalho estiver fechada. Ao fazer isso, você pode controlar como o documento é tratado quando o usuário fecha os documentos no Excel.
Você pode usar o nome de sub-rotina reservadaExemplo 1: fechar a pasta de trabalho sem salvar alterações
Para forçar o fechamento de uma pasta de trabalho sem salvar alterações, digite o seguinte código em um módulo do Visual Basic dessa pasta de trabalho:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Quando a propriedade Saved é definida como True, o Excel responde como se a pasta de trabalho já tivesse sido salva e nenhuma alteração tenha ocorrido desde a última salvação.
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 alterações e, em seguida, ativa o DisplayAlerts novamente.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Você também pode usar o argumento SaveChanges do método Close.
A macro a seguir fecha a pasta de trabalho sem salvar alterações:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Exemplo 2: feche a pasta de trabalho e salve as alterações
Para forçar uma pasta de trabalho a salvar alterações, digite o seguinte código em um módulo do Visual Basic dessa pasta de trabalho:
Sub Auto_Close()
Se ThisWorkbook.Saved = False, em seguida,
ThisWorkbook.Save End If
End Sub
Essa subprocedure verifica se a propriedade Saved do arquivo foi definida como False. Nesse caso, a pasta de trabalho foi alterada desde a última salvação e essas alterações serão salvas.