VBA

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

Quer que alguém execute a planilha apenas 1 vez? Quer que ela se exclua após o uso? Então aprenda como fazer com esses códigos VBA.

Por Maximiliano Meyer em 10/08/2015 às 16:32 - atualizado: 11/09/2017 08:40

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

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

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:

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

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

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

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

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

relacionados

Participe
do nosso grupo

recentes

compartilhe este post

  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar