Функция ShellShell function

Запускает исполняемую программу и возвращает значение Variant (Double), представляющее идентификатор задачи программы в случае успешного выполнения и ноль в противном случае.Runs an executable program and returns a Variant (Double) representing the program's task ID if successful; otherwise, it returns zero.

СинтаксисSyntax

Shell(путь, [ тип_окна ])Shell(pathname, [ windowstyle ])


Синтаксис функции Shell использует следующие именованные аргументы:The Shell function syntax has these named arguments:

PartPart ОписаниеDescription
путьpathname Обязательный элемент; Variant (String).Required; Variant (String). Имя программы, которую требуется выполнить, и все требуемые аргументы или параметры командной строки; может включать в себя каталог или папку и диск.Name of the program to execute and any required arguments or command-line switches; may include directory or folder and drive. В macOS можно использовать функцию MacID для указания подписи приложения вместо его имени.On the Macintosh, you can use the MacID function to specify an application's signature instead of its name. В следующем примере используется подпись для Microsoft Word: Shell MacID("MSWD")The following example uses the signature for Microsoft Word: Shell MacID("MSWD")
тип_окнаwindowstyle Необязательный элемент.Optional. Значение типа Variant (Integer), определяющее тип окна, в котором будет запущена программа.Variant (Integer) corresponding to the style of the window in which the program is to be run. Если аргумент тип_окна опущен, программа запускается в свернутом окне с фокусом на нем.If windowstyle is omitted, the program is started minimized with focus. В Mac OS 7.0 и более поздних версиях аргумент тип_окна определяет лишь то, получит ли запускаемое приложение фокус.On the Macintosh (System 7.0 or later), windowstyle only determines whether or not the application gets the focus when it is run.

Аргумент тип_окна может принимать следующие значения:The windowstyle named argument has these values:

КонстантаConstant ЗначениеValue ОписаниеDescription
vbHidevbHide 00 Окно скрыто, фокус переходит к скрытому окну.Window is hidden and focus is passed to the hidden window. Константа vbHide не действует в macOS.The vbHide constant is not applicable on Macintosh platforms.
vbNormalFocusvbNormalFocus 11 Окно получает фокус и восстанавливает свое исходное положение и размер.Window has focus and is restored to its original size and position.
vbMinimizedFocusvbMinimizedFocus 22 Окно отображается в виде значка и получает фокус.Window is displayed as an icon with focus.
vbMaximizedFocusvbMaximizedFocus 33 Окно разворачивается во весь экран и получает фокус.Window is maximized with focus.
vbNormalNoFocusvbNormalNoFocus 44 Восстанавливается последнее положение и размер окна.Window is restored to its most recent size and position. Активное окно остается активным.The currently active window remains active.
vbMinimizedNoFocusvbMinimizedNoFocus 66 Окно отображается в виде значка.Window is displayed as an icon. Активное окно остается активным.The currently active window remains active.

ПримечанияRemarks

Если функция Shell успешно запускает указанный файл, возвращается код задачи запущенной программы.If the Shell function successfully executes the named file, it returns the task ID of the started program. Код задачи — это уникальный номер, идентифицирующий запускаемую программу.The task ID is a unique number that identifies the running program. Если функция Shell не может запустить указанную программу, возникает ошибка.If the Shell function can't start the named program, an error occurs.

В macOS при указании параметра vbNormalFocus, vbMinimizedFocus или vbMaximizedFocus приложение становится активным. При указании параметров vbHide, vbNoFocus или vbMinimizeFocus приложение запускается в фоновом режиме.On the Macintosh, vbNormalFocus, vbMinimizedFocus, and vbMaximizedFocus all place the application in the foreground; vbHide, vbNoFocus, and vbMinimizeFocus all place the application in the background.

Примечание

По умолчанию функция **Shell **запускает другие программы асинхронно.By default, the Shell function runs other programs asynchronously. Это значит, что программа, запущенная с помощью команды Shell, может не завершиться до того, как будут выполнены операторы, следующие за функцией Shell.This means that a program started with Shell might not finish executing before the statements following the Shell function are executed.

ПримерExample

В этом примере функция Shell используется для запуска указанного пользователем приложения.This example uses the Shell function to run an application specified by the user. В macOS диск по умолчанию обозначается "HD", а части аргумента "путь" отделяются друг от друга двоеточиями вместо обратной косой черты.On the MacIntosh, the default drive name is "HD" and portions of the pathname are separated by colons instead of backslashes. Аналогичным образом, следует указывать папки macOS вместо \WINDOWS.Similarly, you would specify Macintosh folders instead of \WINDOWS.

' Specifying 1 as the second argument opens the application in 
' normal size and gives it the focus.
Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)    ' Run Calculator.

См. такжеSee also

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.