Observação: A função, método, objeto ou propriedade descrita neste tópico será desabilitada se o Serviço de Expressão de Jato da Microsoft estiver em execução no modo de área restrita, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo de área restrita, procure por "modo de área restrita" na Ajuda.
Executa um programa executável e retorna uma Variant (Double) que representa a ID da tarefa do programa se tiver êxito, caso contrário, ele retornará zero.
Sintaxe
Shell( pathname [, windowstyle ] )
A sintaxe da função Shell tem esses argumentos:
Argumento |
Descrição |
Caminho |
Obrigatório. Variant (String). Nome do programa a ser executado e os argumentos necessários ou linha de comando comutadores; pode incluir diretório ou pasta e unidade. No Macintosh, você pode usar a função MacID para especificar a assinatura de um aplicativo em vez de seu nome. O exemplo a seguir usa a assinatura do Microsoft Word: Shell MacID("MSWD") |
Windowstyle |
Opcional. Variant (Inteiro) correspondente ao estilo da janela na qual o programa deve ser executado. Se o estilo de janela for omitido, o programa será iniciado minimizado com foco. No Macintosh (Sistema 7.0 ou posterior), o estilo de janela determina apenas se o aplicativo obtém ou não o foco quando é executado. |
O argumento de estilo de janela nomeado tem esses valores:
Constante |
Valor |
Descrição |
vbHide |
0 |
A janela está oculta e o foco é passado para a janela oculta. A constante vbHide não é aplicável em plataformas Macintosh. |
vbNormalFocus |
1 |
A janela tem foco e é restaurada para seu 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 atualmente ativa permanece ativa. |
vbMinimizedNoFocus |
6 |
A janela é exibida como um ícone. A janela atualmente ativa permanece ativa. |
Comentários
Se a função Shell executar com êxito o arquivo nomeado, ele retornará a ID da tarefa do programa iniciado. A ID da tarefa é um número exclusivo que identifica o programa em execução. Se a função Shell não puder iniciar o programa nomeado, ocorrerá um erro.
No Macintosh, vbNormalFocus, vbMinimizedFocus e vbMaximizedFocus colocam o aplicativo em primeiro plano; vbHide, vbNoFocus, 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 o Shell pode não terminar de executar antes que as instruções que seguem a função Shell sejam executadas.
Exemplo
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Shell para executar um aplicativo especificado pelo usuário. No MacIntosh, o nome da unidade padrão é "HD" e partes do nome do caminho são separadas por pontos em vez de backslashes. Da mesma forma, você especificaria pastas Macintosh em vez de \Windows.
' Specifying 1 as the second argument
' opens the application in normal size and ' gives it the focus. Dim RetVal ' Run Calculator. RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)