Примечание
Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений 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)