Compartilhar via


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.