fechar

Aprender Excel

APRENDER EXCEL

DICAS E NOVIDADES SOBRE EXCEL

VBA para autoexcluir planilha antes ou após uso no Excel

por: Maximiliano Meyer em VBA, no dia 10/08 | 16:32 atualizado em 22/09 | 15:00

Sabe aquele trabalho importante que você não quer que ninguém copie? Então olha que legal essa dica de hoje: Vamos criar uma planilha que é aberta e no momento em que é fechada, se autoexclui do pc. Detalhe: ela não vai nem mesmo para a lixeira.

A planilha tem diversas utilidades e pode ser mesclada, por exemplo, com o código que ensinaremos em breve, onde criaremos um prazo de validade para a planilha. Ou seja, com este código e o código da data de validade, se a planilha for aberta após o vencimento ela se auto excluirá, legal, certo?

Bem, temos 2 códigos: Um no qual a planilha será excluída no momento da abertura, ideal para o prazo de validade, já que assim o usuário nem poderá checar os dados; e um outro código em que a planilha será aberta, irá funcionar perfeitamente e no momento em que ele fechar, ela se autoexcluirá.

Vamos ver os dois:

Planilha é excluída antes de abrir

Pois bem, vamos ao código: Abra a janela de edição (atalho alt + f11) e dê um clique em 'EstaPasta_de_trabalho'. Lá vamos colar o seguinte código:

Private Sub Workbook_Open()
Dim dtexp As Date
  
          'Escolha a data que deverá expirar
     dtexp = ("29/04/2011")

  
     If Date >= #1/11/2010# Then
     If Date >= dtexp Then
  
     ThisWorkbook.Saved = True
  
          'personalize a mensagem na linha abaixo
     MsgBox "Este arquivo está expirado, se autoexcluirá!"         
  
     ThisWorkbook.ChangeFileAccess xlReadOnly
  
     Kill ThisWorkbook.FullName
     ThisWorkbook.Close
          
     End If
     End If
  
End Sub

Veja que no nosso código, na terceira linha, dtexp = ("29/04/2011"), é onde você colocará a data de validade. Coloque algo como ano passado só por garantia. Assim nunca vai dar erro =D

Quer ainda mais segurança? Então olha só essa dica: Como o Excel exibe a tela inicial, você pode colocar os dados em uma segunda planilha. Dessa forma, a caixa de aviso ficará na primeira tela e os seus dados ficarão seguros na tela 2.

Confira como fizemos no exemplo abaixo:

Planilha é excluída após a execução

Repita o mesmo atalho de Alt + f11, dê um duplo clique em 'EstaPasta_de_trabalho' e cole o seguinte código:

Private Sub Workbook_BeforeClose (Cancel As Boolean)
Dim dtexp As Date
  
          'Escolha a data que deverá expirar
     dtexp = ("29/04/2011")

  
     If Date >= #1/11/2010# Then
     If Date >= dtexp Then
  
     ThisWorkbook.Saved = True
  
          'personalize a mensagem na linha abaixo
     MsgBox "Este arquivo está expirado, se autoexcluirá!"         
  
     ThisWorkbook.ChangeFileAccess xlReadOnly
  
     Kill ThisWorkbook.FullName
          
     End If
     End If
  
End Sub

Mesma dica de antes: Veja que no nosso código, na terceira linha, dtexp = ("29/04/2011"), é onde você colocará a data de validade. Coloque algo como ano passado só por garantia. Assim nunca vai dar erro =D E não esqueça de manter uma cópia dos dados, pois após a exclusão a planilha não vai nem mesmo para a lixeira, ok?

Se você quiser mais segurança, aprenda aqui a bloquear a edição das VBAs e também como forçar a execução das mesmas.

Para baixar nosso exemplo e começar a produzir suas planilhas que se autoexcluem, acesse este link.

Até a próxima