Nota
A função, método, objeto ou propriedade descrita neste tópico será desativada se o Serviço Microsoft Jet Expression estiver em execução no modo sandbox, o que impede a avaliação de expressões potencialmente não seguras. Para obter mais informações sobre o modo sandbox, pesquise "modo sandbox" na Ajuda.
Executa um programa executável e devolve uma Variante (Duplo) que representa o ID da tarefa do programa se a tarefa for efetuada com êxito, caso contrário, devolve zero.
Sintaxe
Shell(nome_caminho [, windowstyle ] )
A sintaxe da função Shell tem estes argumentos:
| Argumento | Descrição |
|---|---|
| nome do caminho | Obrigatório.
Variant (String). Nome do programa a executar e quaisquer argumentos necessários ou comutadores de linha de comando; 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 seguinte utiliza a assinatura da Microsoft Word:Shell MacID("MSWD") |
| estilodojanela | Opcional. Variante (Número inteiro) correspondente ao estilo da janela na qual o programa deve ser executado. Se windowstyle for omitido, o programa será iniciado minimizado com o foco. No Macintosh (System 7.0 ou posterior), windowstyle só determina se o aplicativo recebe ou não o foco quando é executado. |
O argumento denominado windowstyle tem os seguintes 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 o seu tamanho e posição originais. |
| vbMinimizedFocus | 2 | A janela é apresentada como um ícone com foco. |
| vbMaximizedFocus | 3 | A janela é maximizada com o foco. |
| vbNormalNoFocus | 4 | A janela é restaurada para o tamanho e posição mais recentes. A janela ativa atualmente permanece ativa. |
| vbMinimizedNoFocus | 6 | A janela é apresentada como um ícone. A janela ativa atualmente permanece ativa. |
Observações
Se a função Shell executar com êxito o arquivo nomeado, ela retornará a ID da tarefa do programa iniciado. O 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 todos o aplicativo em segundo plano.
Nota
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 a execução antes que as instruções que seguem a função do Shell sejam executadas.
Exemplo
Nota
Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza 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 dois pontos em vez de barras invertidas. Da mesma forma, você especificaria 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
' Run Calculator.
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)