Функция Shell

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Примечание

Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".

Запускает исполняемую программу и возвращает значение типа Variant (Double), содержащее код задачи этой программы, если запуск прошел успешно; в противном случае возвращает нуль.

Синтаксис

Shell(pathname [, windowstyle ] )

Функция Shell имеет следующие аргументы:

Аргумент Описание
имя_пути Обязательный аргумент. Variant (String). Имя выполняемой программы и все необходимые аргументы или параметры командной строки; может включать каталог или папку и диск. В Macintosh можно использовать функцию MacID , чтобы указать сигнатуру приложения вместо его имени. В следующем примере используется сигнатура для Microsoft Word:Shell MacID("MSWD")
тип_окна Необязательный аргумент. Значение типа Variant (Integer), определяющее тип окна, в котором будет запущена программа. Если windowstyle опущен, программа запускается с фокусом. В Macintosh (system 7.0 или более поздней версии) windowstyle определяет, получает ли приложение фокус только при запуске.

    

Аргумент windowstyle с именем имеет следующие значения:

Константа Значение Описание
vbHide 0 Окно скрыто, фокус переходит к скрытому окну. Константа vbHide не действует в macOS.
vbNormalFocus 1 Окно получает фокус и восстанавливает свое исходное положение и размер.
vbMinimizedFocus 2 Окно отображается в виде значка и получает фокус.
vbMaximizedFocus 3 Окно разворачивается во весь экран и получает фокус.
vbNormalNoFocus 4 Восстанавливается последнее положение и размер окна. Активное окно остается активным.
vbMinimizedNoFocus 6 Окно отображается в виде значка. Активное окно остается активным.

    

Замечания

Если функция Shell успешно запускает указанный файл, возвращается код задачи запущенной программы. Код задачи — это уникальный номер, идентифицирующий запускаемую программу. Если функция Shell не может запустить указанную программу, возникает ошибка.

В macOS при указании параметра vbNormalFocus, vbMinimizedFocus или vbMaximizedFocus приложение становится активным. При указании параметров vbHide, vbNoFocus или vbMinimizeFocus приложение запускается в фоновом режиме.

Примечание

По умолчанию функция Shell запускает другие программы асинхронно. Это значит, что программа, запущенная с помощью команды Shell, может не завершиться до того, как будут выполнены операторы, следующие за функцией Shell.

Пример

Примечание

В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере функция Shell используется для запуска указанного пользователем приложения. В macOS диск по умолчанию обозначается "HD", а части аргумента "путь" отделяются друг от друга двоеточиями вместо обратной косой черты. Кроме того, в этом случае необходимо указывать папки macOS вместо \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)