참고: 이 항목에 설명된 함수, 메서드, 개체 또는 속성은 Microsoft Jet Expression Service가 샌드박스 모드에서 실행 중이면 사용할 수 없으므로 안전하지 않은 식이 평가되지 않습니다. 샌드박스 모드에 대한 자세한 내용은 도움말에서 "샌드박스 모드"를 검색하세요.
실행 프로그램을 실행하고 성공하면 프로그램의 작업 ID를 나타내는 Variant (Double)를 반환하고, 그렇지 않으면 0을 반환합니다.
구문
Shell( pathname [, windowstyle ] )
Shell 함수 구문에는 다음과 같은 인수가 사용됩니다.
인수 |
설명 |
경로 |
필수 요소입니다. Variant (String). 실행할 프로그램의 이름 및 필요한 인수 또는 명령줄 스위치; 는 디렉터리 또는 폴더 및 드라이브를 포함할 수 있습니다. Macintosh에서 MacID 함수를 사용하여 이름 대신 애플리케이션의 서명을 지정할 수 있습니다. 다음 예제에서는 Microsoft Word 서명을 사용합니다. Shell MacID("MSWD") |
windowstyle |
선택 요소입니다. 프로그램을 실행할 창의 스타일에 해당하는 Variant(정수)입니다. windowstyle을 생략하면 프로그램이 포커스를 사용하여 최소화되기 시작합니다. Macintosh(시스템 7.0 이상)에서 windowstyle 은 애플리케이션이 실행 중일 때 포커스를 가져오는지 여부만 결정합니다. |
windowstyle 명명된 인수에는 다음 값이 있습니다.
상수 |
값 |
설명 |
vbHide |
0 |
창이 숨겨져 있고 포커스가 숨겨진 창으로 전달됩니다. vbHide 상수는 Macintosh 플랫폼에 적용되지 않습니다. |
vbNormalFocus |
1 |
창에는 포커스가 있으며 원래 크기와 위치로 복원됩니다. |
vbMinimizedFocus |
2 |
창이 포커스가 있는 아이콘으로 표시됩니다. |
vbMaximizedFocus |
3 |
포커스가 있는 창이 최대화됩니다. |
vbNormalNoFocus |
4 |
창이 가장 최근의 크기와 위치로 복원됩니다. 현재 활성 창은 활성 상태로 유지됩니다. |
vbMinimizedNoFocus |
6 |
창이 아이콘으로 표시됩니다. 현재 활성 창은 활성 상태로 유지됩니다. |
주의
Shell 함수가 명명된 파일을 성공적으로 실행하면 시작된 프로그램의 작업 ID가 반환됩니다. 작업 ID는 실행 중인 프로그램을 식별하는 고유 번호입니다. Shell 함수가 명명된 프로그램을 시작할 수 없는 경우 오류가 발생합니다.
Macintosh에서 vbNormalFocus, vbMinimizedFocus 및 vbMaximizedFocus 는 모두 애플리케이션을 포그라운드에 배치합니다. vbHide, vbNoFocus, vbMinimizeFocus 는 모두 애플리케이션을 백그라운드에 배치합니다.
참고: 기본적으로 Shell 함수는 다른 프로그램을 비동기적으로 실행합니다. 즉 , Shell 로 시작된 프로그램은 셸 함수 다음의 문이 실행되기 전에 실행을 완료하지 못할 수 있습니다.
예제
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 Shell 함수를 사용하여 사용자가 지정한 애플리케이션을 실행합니다. MacIntosh에서 기본 드라이브 이름은 "HD"이며 경로 이름의 일부는 백슬라이시 대신 콜론으로 구분됩니다. 마찬가지로 \Windows 대신 Macintosh 폴더를 지정합니다.
' 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)