Mensagem
  • Kunena is not installed or the installed Kunena version is not supported. The plug-in has now been disabled. Please install/upgrade Kunena to version 1.7 for the Kunena Discuss Plug-in to function properly.

Reiniciar Pasta de Trabalho

Não sei se alguem já precisou fazer isso, mas eu já e achei a utilidade perfeita.

Uma das situações que requerem que o arquivo seja fechado e reaberto acontece quando no se tem alguma funcionalidade personalzada na ribbon que utiliza a instancia do objeto IRibbonControl.

Esse objeto é instanciado por um callback chamado OnLoad que é executado somente na inicialização do arquivo.

Pois bem, há situações em que, esse objeto perde a sua instancia (Nothing) e todas as referencias que utilizarem esse objeto passará a não funcionar mais até que o arquivo seja reaberto..

Dai a necessidade de se criar método de reiniciar o arquivo a partir do proprio arquivo.

Segue abaixo o código que realiza essa ação

Código VBA

Sub ReiniciarWorkBook() 
    'Programa para executar a rotina 'IniciaRestart' daqui a 1 segundo 
    Application.OnTime Now + CDate("00:00:01"), "IniciaRestart" 
    'Fecha o arquivo, pergunta se deseja salvar antes 
    ThisWorkbook.Close MsgBox("Salvar antes de Reiniciar", vbQuestion + vbYesNo) = vbYes
End Sub


'Essa rotina serve apenas para chama outra.
Sub IniciaRestart() 
    'Executa a rotina 'ArquivoReiniciado' após o arquivo ser finalizado 
    Application.Run "ArquivoReiniciado"
End Sub

 

Sub ArquivoReiniciado() 
    'Será executada após o reinicio 
    MsgBox "O Arquivo foi reiniciado", vbInformation
End Sub

Para testar esse código, crie uma nova pasta de trabalho e cole esse código em um módulo padrão qualquer

 

Adicione um botão em uma planilha.

Associe à macro ‘ReiniciarWorkBook’

Escolha o nome da macro na caixa de dialogo “Macros”

 

Após isso, clique no botão “Reiniciar Arquivo” e aguarde a mensagem

 

 

Mensagem após inicialização

Um forte abraço e até o proximo artigo !

 

Att. Adelson RM Silva