Примечание: Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".
Запускает исполняемую программу и возвращает значение типа Variant (Double), содержащее код задачи этой программы, если запуск прошел успешно; в противном случае возвращает нуль.
Синтаксис
Shell( путь [, тип_окна ] )
Функция Shell имеет следующие аргументы:
Аргумент |
Описание |
путь |
Обязательный аргумент. Variant (String). Имя выполняемой программы и все необходимые аргументы или параметры командная строка; может включать каталог или папку и диск. В Macintosh можно использовать функцию MacID , чтобы указать сигнатуру приложения вместо его имени. В следующем примере используется сигнатура для Microsoft Word: Shell MacID("MSWD") |
тип_окна |
Необязательный аргумент. Значение типа Variant (Integer), определяющее тип окна, в котором будет запущена программа. Если аргумент тип_окна опущен, программа запускается в свернутом окне с фокусом на нем. В Mac OS 7.0 и более поздних версий аргумент тип_окна определяет лишь то, получит ли запускаемое приложение фокус. |
Аргумент тип_окна может принимать следующие значения:
Константа |
Значение |
Описание |
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)