Função Shell

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Observação

A função, o método, o objeto ou a propriedade descrita neste tópico será desabilitada se o Serviço de Expressão do Microsoft Jet 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 sandbox, pesquise "modo sandbox" na Ajuda.

Executa um programa executável e retorna uma Variant (Double) que representa a ID da tarefa do programa se for bem-sucedido, caso contrário, retornará zero.

Sintaxe

Shell(pathname [, windowstyle ] )

A sintaxe da função Shell tem estes argumentos:

Argumento Descrição
nome do caminho Obrigatório. Variant (String). Nome do programa a ser executado e quaisquer argumentos necessários ou opções 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 a seguir usa a assinatura para o Microsoft Word:Shell MacID("MSWD")
estilo da janela Opcional. Variante (Inteiro) correspondente ao estilo da janela na qual o programa deve ser executado. Se windowstyle for omitido, o programa será iniciado minimizado com foco. No Macintosh (System 7.0 ou posterior), o windowstyle só determina se o aplicativo obtém ou não o foco quando é executado.

    

O argumento chamado estilojanela tem estes valores:

Constante Valor Descrição
vbHide 0 A janela fica 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 ao 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 foi restaurada para seu tamanho e posição mais recentes. A janela ativa no momento permanece ativa.
vbMinimizedNoFocus 6 A janela é exibida como um ícone. A janela ativa no momento 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. 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 Shell pode não terminar de ser executado antes que as instruções após a função Shell sejam executadas.

Exemplo

Observação

Os exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). 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 dois-pontos em vez de barras invertidas. 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)