Função Shell
Executa um programa executável e retorna uma Variant (Duplo) que, se bem-sucedida, representa a ID de tarefa do programa. Caso contrário, retorna zero.
Sintaxe
Shell(pathname, [ windowstyle ])
A sintaxe da função Shell tem estes argumentos nomeados:
Sair | Descrição |
---|---|
nomedocaminho | Obrigatório; Variant (Cadeia de caracteres). Nome do programa a ser executado e todas as opções de argumentos ou linhas de comandos. Pode incluir o diretório ou a pasta e a unidade. No Macintosh, você pode usar a função MacID para especificar uma assinatura do aplicativo em vez de seu nome. O exemplo a seguir usa a assinatura para o Microsoft Word: Shell MacID("MSWD") |
windowstyle | Opcional. Variant (Número inteiro) correspondente ao estilo da janela na qual o programa deve ser executado. Se windowstyle for omitido, o programa será iniciado na forma minimizada com foco. No Macintosh (System 7.0 ou posterior), windowstyle determina apenas se o aplicativo obtém ou não o foco quando ele é executado. |
O argumento nomeado windowstyle tem esses valores:
Constant | Valor | Descrição |
---|---|---|
vbHide | 0 | A janela fica oculta e o foco é transmitido para a janela oculta. A constante vbHide não se aplica a plataformas Macintosh. |
vbNormalFocus | 1 | A janela tem foco e é restaurada para o tamanho e posição originais. |
vbMinimizedFocus | 2 | A janela é exibida como um ícone com foco. |
vbMaximizedFocus | 3 | A janela é maximizada com foco. |
vbNormalNoFocus | 4 | A janela é restaurada para seu tamanho e posição mais recentes. A janela ativa atual permanece ativa. |
vbMinimizedNoFocus | 6 | A janela é exibida como um ícone. A janela ativa atual permanece ativa. |
Comentários
Se a função Shell executar o arquivo nomeado com êxito, ela retornará a ID da tarefa do programa iniciado. A ID da tarefa é um número exclusivo que identifica o programa em execução. Um erro ocorrerá se a função Shell não puder iniciar o programa nomeado.
No Macintosh, vbNormalFocus, vbMinimizedFocus e vbMaximizedFocus colocam o aplicativo em primeiro plano. vbHide, vbNoFocus e vbMinimizeFocus colocam o aplicativo em segundo plano.
Observação
Por padrão, a função Shell executa outros programas de forma assíncrona. Isso significa que um programa iniciado com Shell pode não concluir a execução até que as instruções após a função Shell sejam executadas. Para esperar o término de um programa, confira Determinar quando um processo em shell termina.
Exemplo
Este exemplo usa a função Shell para executar um aplicativo especificado pelo usuário. No Macintosh, o nome de unidade padrão é "HD" e partes do nome do caminho são separadas por dois pontos, em vez de barras invertidas. Da mesma forma, você deve especificar pastas do Macintosh em vez de \WINDOWS
.
' Specifying 1 as the second argument opens the application in
' normal size and gives it the focus.
Dim RetVal
RetVal = Shell("C:\WINDOWS\NOTEPAD.EXE", 1) ' Open Notepad.
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.