+2 votos
79 visitas

Olá,

Precisamos fazer algo para obrigar o cliente executar uma rotina no sistema para o correto funcionamento do mesmo, então nossa idéia inicial foi incluir um evento na macro, mais precisamente no evento OnOpen da aplicação, para que se o cliente ainda não executou a rotina uma mensagem será apresentada informando da necessidade de fazer isso, e se ele optar por executar esta rotina, um formulário seria apresentado para isso, porém se o usuário optar por não executar a rotina a aplicação seria fechada automaticamente, e minha dúvida está em como fechar a aplicação, já tentei utilizar o Close e alguns outros exemplos que achei ser possível, porém nenhum funcionou.

É possível fechar a aplicação através de uma macro?

se for como faço isso?

por (120 pontos) | 79 visitas

2 Respostas

+3 votos
Melhor resposta

Consegui resolver esse problema da seguinte maneira:

Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long

Public Sub Fechar
      Dim Comando As String

      Comando = "taskkill /F /PID " + CStr(GetCurrentProcessId())
      Shell(Comando)
End Sub

 

por (120 pontos)
–1 voto
Matheus,

Tente utilizar o método "RestartSystem".
por (367 pontos)
Não funcionou Gielow, ao executar esse comando o sistema apresenta uma mensagem dizendo que não foi possível reniciar o sistema.

Perguntas relacionadas

+8 votos
1 resposta
perguntado 9 Mai, 2014 por paulo.silva (865 pontos) | 155 visitas
0 votos
1 resposta
0 votos
1 resposta
perguntado 23 Jul, 2015 por Anderson Roberto (30 pontos) | 87 visitas
+5 votos
1 resposta
perguntado 17 Nov, 2014 por thiago.gaidzinski (20 pontos) | 100 visitas
+5 votos
1 resposta
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários