Função Shell

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

Observação

A função, método, objeto ou propriedade descrita neste tópico está 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 inseguras. Para obter mais informações sobre o modo sandbox, procure "modo sandbox" na Ajuda.

Executa um programa executável e devolve uma Variante (Duplo) que representa o ID da tarefa do programa, caso contrário, devolve zero.

Sintaxe

Shell(pathname [, windowstyle ] )

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

Argumento Descrição
pathname Obrigatório. Variante (Cadeia). Nome do programa a executar e quaisquer argumentos necessários ou parâmetros de linha de comandos; pode incluir diretório ou pasta e unidade. No Macintosh, pode utilizar a função MacID para especificar a assinatura de uma aplicação em vez do respetivo nome. O exemplo seguinte utiliza a assinatura do Microsoft Word:Shell MacID("MSWD")
estilo de janela Opcional. Variante (Número Inteiro) correspondente ao estilo da janela em que o programa vai ser executado. Se o estilo de janela for omitido, o programa é iniciado minimizado com o foco. No Macintosh (Sistema 7.0 ou posterior), o estilo de janela só determina se a aplicação obtém ou não o foco quando é executada.

    

O estilo de janela com o nome argumento tem estes valores:

Constante Valor Descrição
vbHide 0 A janela está oculta e o foco é transmitido para a janela oculta. A constante vbHide não é aplicável nas plataformas Macintosh.
vbNormalFocus 1 A janela tem o foco e é restaurada para o 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 atualmente ativa permanece ativa.
vbMinimizedNoFocus 6 A janela é apresentada como um ícone. A janela atualmente ativa permanece ativa.

    

Comentários

Se a função Shell executar com êxito o ficheiro com nome, devolve o 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 conseguir iniciar o programa com nome, ocorrerá um erro.

No Macintosh, vbNormalFocus, vbMinimizedFocus e vbMaximizedFocus colocam a aplicação em primeiro plano; vbHide, vbNoFocus, vbMinimizeFocus colocam a aplicação em segundo plano.

Observação

Por predefinição, a função Shell executa outros programas de forma assíncrona. Isto significa que um programa iniciado com a Shell pode não terminar a execução antes de as instruções que se seguem à função Shell serem executadas.

Exemplo

Observação

Exemplos que se seguem demonstram a utilização desta função num módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Programador na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função Shell para executar uma aplicação especificada pelo utilizador. No MacIntosh, o nome da unidade predefinida é "HD" e as partes do nome do caminho são separadas por dois pontos em vez de barras invertidas. Da mesma forma, 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)