Como usar a função shell no VBA?

No VBA (Visual Basic for Applications), a função `Shell` é usada para executar um programa externo ou um comando do sistema operacional. A sintaxe básica da função `Shell` é a seguinte:

Shell(pathname, [windowstyle])
  • `pathname`: Este é um argumento obrigatório que especifica o caminho completo e o nome do programa que você deseja executar. Se o programa estiver no PATH do sistema, você pode usar apenas o nome do programa.
  • `windowstyle`: Este é um argumento opcional que especifica o estilo da janela em que o programa será executado. Ele pode assumir os seguintes valores:
    • `vbHide` (0): Oculta a janela e passa o foco para a janela oculta.
    • `vbNormalFocus` (1): Janela com foco e restaurada ao seu tamanho e posição original.
    • `vbMinimizedFocus` (2): Janela minimizada com foco.
    • `vbMaximizedFocus` (3): Janela maximizada com foco.
    • `vbNormalNoFocus` (4): Janela restaurada sem foco.
    • `vbMinimizedNoFocus` (6): Janela minimizada sem foco.

Aqui está um exemplo de como usar a função `Shell` no VBA para abrir o Bloco de Notas do Windows:

Sub AbrirBlocoDeNotas()
    Dim caminhoDoPrograma As String
    caminhoDoPrograma = "notepad.exe"
    
    ' Executa o Bloco de Notas no modo de janela normal com foco.
    Shell caminhoDoPrograma, vbNormalFocus
End Sub

Se você precisar executar um arquivo executável que não esteja no caminho do sistema ou que esteja em um diretório específico, forneça o caminho completo para o arquivo. Por exemplo:

Sub AbrirMeuPrograma()
    Dim caminhoDoPrograma As String
    caminhoDoPrograma = "C:CaminhoParaMeuPrograma.exe"
    
    ' Executa o programa com o caminho completo.
    Shell caminhoDoPrograma, vbNormalFocus
End Sub

Nota: Tenha cuidado ao usar a função `Shell` para executar programas, especialmente aqueles que exigem interação do usuário ou que podem modificar arquivos críticos do sistema. Certifique-se de que os comandos sejam seguros e testados adequadamente.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project