Esse é meu primeiro post nesse fórum, estou diante de uma situação que eu preciso de uma ajuda.
hoje eu tenho uma macro que executa automaticamente ao abrir, com isso tenho um agendamento de tarefa para realizar a abertura e atualização de madrugada em função do tempo de execução, após a conclusão da atualização o excel fecha e repete a mesma tarefa para outras planilhas.
Porém, durante o dia preciso realizar algumas consultas na planilha, e como está programada para executar a macro ao abrir ela começa a iniciar.
Como alternativa pensei na seguinte solução, ao abrir aparece um MsgBox "deseja Atualizar?" com a validação de sim ou não.
porém se eu fizer isso o agendador de tarefas não vai atualizar automaticamente, pois vai depender dessa validação.
será que é possivel realizar um "AutoSim" no MsgBox depois de alguns segundos? essa acredito que seria a melhor alternativa.
Já tentei fazer uma outra planilha com macro, para chamar a atualização da outra planilha, mas não tive sucesso. E também já tentei fazer uma script para chamar a execução da macro, porém da erro também
Segue abaixo, o código de AutoExec, ele faz a validação para dia de semana, caso positivo chama a macro "AtualizarGeral"
Código: Selecionar todos
Sub auto_Exec()
application.AutomationSecurity = msoAutomationSecurityLow
arquivo = ThisWorkbook.Name
If Weekday(Now()) = 1 Then
Workbooks(arquivo).Close
Exit Sub
Else
If Weekday(Now()) = 7 Then
Workbooks(arquivo).Close
Exit Sub
Else
End If
End If
'==================================================================================
'Onde:
'msoAutomationSecurityLow
'Macros rodam sem verificar o certificado de autenticidade, equivale a segurança Baixa.
'msoAutomationSecurityByUI
'O usuário indica se as macros devem ser habilitadas, equivale a segurança Média.
'msoAutomationSecurityForceDisable
'Desabilita as macros sem certificado de autenticidade, equivale a segurança Alta.
' ==================================================================================
Call AtualizarGeral
End Sub