VBScript 언어 참조

Microsoft® Visual Basic® Scripting Edition
VBScript 언어 참조 		VBScript 자습서
버전 정보

기능 정보

키워드 목록(사전순)

상수

이벤트

함수

메서드

개체

연산자

속성

문

VBScript 언어 참조입니다.

이 요약된 내용에는 Visual Basic Scripting 언어의 여러 구성 요소들이 설명되어 있습니다.

키워드 목록(사전순)에서 사전순으로 나열된 VBScript 언어의 모든 부분을 찾을 수 있습니다. 개체처럼 개별 항목만 살펴보면 각 범주마다 더 세부적인 단원들이 들어 있습니다.

왼쪽의 머리글 중 하나를 누르면 해당 범주에 속하는 항목의 목록을 볼 수 있습니다. 이 목록에서 볼 항목을 선택합니다. 항목을 열면 연관된 다른 절에 쉽게 링크할 수 있습니다.

링크된 곳으로 이동해서 몇 가지 문을 공부하고, 메서드나 몇몇 기능을 살펴 보십시오. VBScript 언어가 얼마나 다양하게 쓰일 수 있는지를 볼 수 있습니다.

기능 | 설명
VBScript 기능 | VBScript에 있는 현재 기능 목록
VBScript에 없는 VBA 기능 | Visual Basic에 있는 현재 기능 목록: VBScript에 없는 Applications Edition
VBA에 없는 VBScript 기능 | Visual Basic에 없는 VBScript 기능 목록: Applications Edition
Microsoft Scripting 런타임 기능 | VBScript에 있는 현재 scripting 런타임 기능 목록
언어 구성 요소 | 설명
Abs 함수 | 수의 절대값을 반환합니다.
+ 연산자 | 두 숫자를 더합니다.
And 연산자 | 두 식의 논리적인 결합을 평가합니다.
Array 함수 | 배열을 가지고 있는 Variant를 반환합니다.
Asc 함수 | 문자열에서 첫 글자에 해당하는 ANSI 문자 코드를 반환합니다.
= 연산자 | 값을 변수나 속성에 지정합니다.
Atn 함수 | 수의 아크 탄젠트를 반환합니다.
Call문 | Sub 프로시저 또는 Fun 프로시저에 제어를 전송합니다.
CBool 함수 | Boolean 하위 형식의 Variant로 변환된 식을 반환합니다.
CByte 함수 | Byte 하위 형식의 Variant로 변환된 식을 반환합니다.
CCur 함수 | Currency 하위 형식의 Variant로 변환된 식을 반환합니다.
CDate 함수 | Date 하위 형식의 Variant로 변환된 식을 반환합니다.
CDbl 함수 | Double 하위 형식의 Variant로 변환된 식을 반환합니다.
Chr 함수 | 지정한 ANSI 문자 코드와 연관된 문자를 반환합니다.
CInt 함수 | Integer하위 형식의 Variant로 변환된 식을 반환합니다.
Class 개체 | 작성된 클래스의 이벤트에 액세스를 제공합니다.
Class문 | 클래스 이름을 선언합니다.
Clear 메서드 | Err 개체의 모든 속성 정보를 지웁니다.
CLng 함수 | Long 하위 형식의 Variant로 변환된 식을 반환합니다.
색 상수 | 색 상수 목록
비교 상수 | 비교 연산에 사용된 상수 목록
&(문자열 연결) 연산자 | 두 식의 문자열을 연결하는 데 사용합니다.
Const 문 | 리터럴 값을 대신할 상수를 선언합니다.
Cos 함수 | 각의 코사인 값을 반환합니다.
CreateObject 함수 | 자동화 개체에 대한 참조를 만들어 반환합니다.
CSng 함수 | Single 하위 형식의 Variant로 변환된 식을 반환합니다.
CStr 함수 | String 하위 형식의 Variant로 변환된 식을 반환합니다.
날짜/시간 상수 | 주일을 정의하는 상수 목록과 날짜/시간 연산에서 사용한 기타 상수
날짜 형식 상수 | 날짜와 시간 형식에 사용된 상수 목록
Date 함수 | 현재 시스템의 날짜를 반환합니다.
DateAdd 함수 | 지정된 시간 간격을 추가한 날짜를 반환합니다.
DateDiff 함수 | 두 날짜 사이의 간격 수를 반환합니다.
DatePart 함수 | 주어진 날짜의 지정된 부분을 반환합니다.
DateSerial 함수 | 지정된 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
DateValue 함수 | Date 하위 형식의 Variant를 반환합니다.
Day 함수 | 날짜를 나타내는 1에서 31까지의 정수를 반환합니다.
Description 속성 | 오류에 관해 설명하는 문자열을 설정하거나 반환합니다.
Dictionary 개체 | 데이터 키, 항목을 저장하는 개체
Dim 문 | 변수를 선언하고 저장 공간을 할당합니다.
/ 연산자 | 두 숫자를 나눈 다음 부동 소수점 숫자로 된 결과를 반환하는 데 사용합니다.
Do...Loop 문 | 조건문이 True이거나 True가 될 때까지 블록문을 반복하여 실행합니다.
Empty | 초기화되지 않는 변수 값을 나타냅니다.
Eqv 연산자 | 두 식의 논리적 동등성을 평가하는 데 사용합니다.
Erase문 | 고정 크기 배열의 요소를 다시 초기화하여 동적 배열 저장 공간을 반납합니다.
Err 개체 | 런타임 오류에 관한 정보를 가지고 있습니다.
Eval 함수 | 식을 평가하고 결과를 반환합니다.
Execute 메서드 | 지정된 문자열에 대하여 정규식 검색을 실행합니다.
Execute 문 | 하나 이상의 지정된 문을 실행합니다.
Exit 문 | Do...Loop, For...Next, Function 또는 Sub 코드의 블록을 빠져 나갑니다.
Exp 함수 | 승수로 거듭 제곱하는 자연 로그의 밑인 e를 반환합니다.
^(지수) 연산자 | 숫자를 지수로 거듭제곱하는 데 사용합니다.
False | False 키워드는 0과 동등한 값입니다.
FileSystemObject 개체 | 컴퓨터 파일 시스템에 대한 액세스를 제공합니다.
Filter 함수 | 지정한 필터 기준에 따라 문자열 배열의 부분 집합을 가지고 있는 0 기준 배열을 반환합니다.
FirstIndex 속성 | 일치하는 검색 문자열에서 위치를 반환합니다.
Fix 함수 | 숫자의 정수 부분을 반환합니다.
For...Next 문 | 지정한 횟수만큼 문 그룹을 반복하여 실행합니다.
For Each...Next 문 | 배열이나 컬렉션에 있는 각 요소의 문 그룹을 반복하여 실행합니다.
FormatCurrency 함수 | 컴퓨터의 [제어판]에 정의된 통화 기호를 사용하는 통화 값으로 형식화된 식을 반환합니다.
FormatDateTime 함수 | 날짜 또는 시간으로 형식화된 식을 반환합니다.
FormatNumber 함수 | 숫자로 형식화된 식을 반환합니다.
FormatPercent 함수 | 끝에 % 문자가 있고 100으로 곱해진 백분율로 형식이 지정된 식을 반환합니다.
Function 문 | Function 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
GetObject 함수 | 파일에서 자동화 개체에 대한 참조를 반환합니다.
GetRef 함수 | 이벤트를 발생시키는 프로시저에 대한 참조를 반환합니다.
Global 속성 | 부울 값을 설정하거나 반환합니다.
Hex 함수 | 숫자의 16진수 값을 나타내는 문자열을 반환합니다.
HelpContext 속성 | 도움말 파일에 있는 항목의 컨텍스트 ID를 설정하거나 반환합니다.
HelpFile 속성 | 도움말 파일에 대한 완전하게 수식된 경로를 설정하거나 반환합니다.
Hour 함수 | 하루의 시간을 나타내는 0에서 23까지의 정수를 반환합니다.
If...Then...Else 문 | 식의 값에 따라 일단의 문을 조건부로 실행합니다.
IgnoreCase 속성 | 패턴 검색의 대/소문자 구별 여부를 나타내는 부울 값을 설정하거나 반환합니다.
Imp 연산자 | 두 식의 논리적 함축성을 평가하는 데 사용합니다.
Initialize 이벤트 | 연관된 클래스의 인스턴스를 만들 때 발생합니다.
InputBox 함수 | 대화 상자에 프롬프트를 표시하거나, 텍스트 입력이나 단추 누르기를 기다리거나, 입력란의 내용을 반환합니다.
InStr 함수 | 한 문자열이 다른 문자열에서 처음 나타나는 위치를 반환합니다.
InStrRev 함수 | 한 문자열이 다른 문자열에 나타나는 위치를 문자열 끝에서 반환합니다.
Int 함수 | 숫자의 정수 부분을 반환합니다.
\(정수 나눗셈) 연산자 | 두 숫자를 나누어 정수 결과를 반환하는 데 사용합니다.
Is 연산자 | 두 개의 개체 참조 변수를 비교하는 데 사용합니다.
IsArray 함수 | 변수가 배열인지 여부를 나타내는 부울 값을 반환합니다.
IsDate 함수 | 한 식이 날짜로 변환될 수 있는지 여부를 나타내는 부울 값을 반환합니다.
IsEmpty 함수 | 변수가 초기화되었는지 여부를 나타내는 부울 값을 반환합니다.
IsNull 함수 | Null식에 유효한 데이터가 없는지, 즉 Null인지 여부를 나타내는 부울 값을 반환합니다.
IsNumeric 함수 | 식이 숫자로 평가될 수 있는지 여부를 나타내는 부울 값을 반환합니다.
IsObject 함수 | 식이 유효한 자동화 개체를 참조하는지 여부를 나타내는 부울 값을 반환합니다.
Join 함수 | 배열에 포함되어 있는 여러 하위 문자열을 결합하여 만든 문자열을 반환합니다.
LBound 함수 | 지정한 배열 차원에 사용할 수 있는 가장 작은 첨자를 반환합니다.
LCase 함수 | 소문자로 변환된 문자열을 반환합니다.
Left 함수 | 문자열의 왼쪽부터 지정한 수만큼의 문자를 반환합니다.
Len 함수 | 문자열에 있는 문자수 또는 변수를 저장하는 데 필요한 바이트 수를 반환합니다.
Length 속성 | 검색 문자열에서 발견되는 일치하는 길이를 반환합니다.
LoadPicture 함수 | 그림 개체를 반환하며 32비트 플랫폼에서만 사용할 수 있습니다.
Log 함수 | 수의 자연 로그를 반환합니다.
LTrim 함수 | 선행 공백이 없는 문자열 사본을 반환합니다.
Match 개체 | 일치하는 정규식의 읽기 전용 속성에 대한 액세스를 제공합니다.
Matches 컬렉션 | 정규식 Match 개체의 컬렉션
Mid 함수 | 문자열에서 지정한 개수의 문자를 반환합니다.
Minute 함수 | 시간의 분을 나타내는 0에서 59까지의 정수를 반환합니다.
기타 상수 | 다른 모든 범주에 맞지 않는 상수 목록
Mod 연산자 | 두 숫자를 나누어 그 나머지를 반환합니다.
Month 함수 | 년의 월을 나타내는 1에서 12까지의 정수를 반환합니다.
MonthName 함수 | 지정한 월을 나타내는 문자열을 반환합니다.
메시지 상자 상수 | MsgBox 함수와 함께 사용된 상수 목록
MsgBox 함수 | 대화 상자에 메시지를 표시하거나 단추 누르기를 기다리거나, 사용자가 누른 단추를 가리키는 값을 반환합니다.
* 연산자 | 두 숫자를 곱하는 데 사용합니다.
-(부정) 연산자 | 수식의 음수 값을 나타내는 데 사용합니다.
Not 연산자 | 식의 논리적 부정을 평가하는 데 사용합니다.
Now 함수 | 컴퓨터의 시스템 날짜와 시간에 따른 현재 날짜와 시간을 반환합니다.
Nothing | 한 개체 변수를 모든 실제 개체에서 분리합니다.
Null | 변수에 유효한 데이터가 없음을 나타냅니다.
Number 속성 | 오류를 나타내는 숫자 값을 설정하거나 반환합니다.
Oct 함수 | 숫자의 8진수 값을 반환합니다.
On Error 문 | 오류 처리기를 사용할 수 있게 합니다.
Operator 우선 순위 | VBScript에서 사용된 여러 가지 연산자의 우선 순위 순서를 보여주는 목록
Option Explicit문 | 스크립트 수준에서 사용하여 강제적으로 해당 스크립트에 있는 모든 변수를 명시적으로 선언합니다.
Or 연산자 | 두 식의 논리적인 분리를 평가하는 데 사용합니다.
Pattern 속성 | 검색하는 정규식 패턴을 설정하거나 반환합니다.
Private 문 | private 변수를 선언하고 저장 공간을 할당합니다.
PropertyGet 문 | 속성값을 반환하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
PropertyLet 문 | 속성값을 할당하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
PropertySet 문 | 개체에 대한 참조를 설정하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
Public 문 | public 변수를 선언하고 저장 공간을 할당합니다.
Raise 메서드 | 런타임 오류를 발생시킵니다.
Randomize 문 | 난수 발생기를 초기화합니다.
ReDim 문 | 프로시저 수준에서 사용하여 동적 배열 변수를 선언하고 저장 공간을 할당하거나 다시 할당합니다.
RegExp 개체 | 간단한 정규식을 제공합니다.
Rem 문 | 프로그램에서 설명을 제공하는 주석을 포함시키는 데 사용합니다.
Replace 함수 | 지정한 하위 문자열을 지정한 횟수만큼 다른 하위 문자열로 바꾼 문자열을 반환합니다.
Replace 메서드 | 정규식 검색에서 발견되는 텍스트를 바꿉니다.
RGB 함수 | RGB 색상 값을 나타내는 정수를 반환합니다.
Right 함수 | 문자열의 오른쪽부터 정해진 수 만큼의 문자를 반환합니다.
Rnd 함수 | 난수를 반환합니다.
Round 함수 | 지정한 소수점 자리에서 반올림한 수를 반환합니다.
RTrim 함수 | 후미 공백이 없는 문자열 사본을 반환합니다.
ScriptEngine 함수 | 사용 중인 스크립트 언어를 나타내는 문자열을 반환합니다.
ScriptEngineBuildVersion 함수 | 사용 중인 스크립트 엔진의 구성 버전 번호를 반환합니다.
ScriptEngineMajorVersion 함수 | 사용 중인 스크립트 엔진의 주 버전 번호를 반환합니다.
ScriptEngineMinorVersion 함수 | 사용 중인 엔진 스크립트의 보조 버전 번호를 반환합니다.
Second 함수 | 분의 초를 나타내는 0에서 59까지의 정수를 반환합니다.
Select Case 문 | 식의 값에 따라 문의 여러 그룹 중 한 그룹을 실행합니다.
Set 문 | 개체 참조를 변수나 속성으로 지정합니다.
Sgn 함수 | 수의 부호를 나타내는 정수를 반환합니다.
Sin 함수 | 각도의 싸인 값을 반환합니다.
Source 속성 | 오류가 처음 발생한 개체나 응용 프로그램의 이름을 설정하거나 반환합니다.
Space 함수 | 지정된 수 만큼의 공백이 들어있는 문자열을 반환합니다.
Split 함수 | 지정한 개수의 하위 문자열을 포함하는 0 기준 1차원 배열을 반환합니다.
Sqr 함수 | 숫자의 제곱근을 반환합니다.
StrComp 함수 | 문자열 비교의 결과를 나타내는 값을 반환합니다.
문자열 상수 | 문자열 상수 목록
문자열 함수 | 지정한 길이의 반복되는 문자열을 반환합니다.
StrReverse 함수 | 지정한 문자열의 순서가 거꾸로 된 문자열을 반환합니다.
Sub 문 | Sub 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
- 연산자 | 두 숫자 사이의 차이를 구하거나 수식의 음수 값을 나타내는 데 사용합니다.
Tan 함수 | 각도의 탄젠트 값을 반환합니다.
Terminate 이벤트 | 연관된 클래스의 인스턴스를 종료할 때 발생합니다.
Test 메서드 | 지정된 문자열에 대하여 정규식 검색을 실행합니다.
Time 함수 | 현재 시스템 시간을 나타내는 Date 하위 형식의 Variant를 반환합니다.
Timer 함수 | 자정이후 경과된 초 수를 반환합니다.
TimeSerial 함수 | 지정한 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
TimeValue 함수 | 시간을 포함하는 Date 하위 형식의 Variant를 반환합니다.
Trim 함수 | 선행 공백이나 후미 공백이 없는 문자열 사본을 반환합니다.
Tristate 상수 | 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.
True | True 키워드는 -1과 동등한 값입니다.
TypeName 함수 | 변수에 관한 Variant 하위 형식 정보를 제공하는 문자열을 반환합니다.
UBound 함수 | 지정한 배열 차원에 사용할 수 있는 가장 큰 첨자를 반환합니다.
UCase 함수 | 대문자로 변환된 문자열을 반환합니다.
Value 속성 | 검색 문자열에서 발견되는 일치하는 값이나 텍스트를 반환합니다.
VarType 상수 | Variant 하위 형식을 정의하는 상수 목록
VarType 함수 | 변수의 하위 형식을 나타내는 값을 반환합니다.
VBScript 상수 | VBScript에 제공된 상수의 여러 범주
Weekday 함수 | 요일을 나타내는 정수를 반환합니다.
WeekdayName 함수 | 지정된 요일을 나타내는 문자열을 반환합니다.
While...Wend 문 | 주어진 조건문이 True로 있는 동안에만 일련의 문을 실행합니다.
With 문 | 하나의 개체에 일련의 문을 실행합니다.
Xor 연산자 | 두 식의 배타적 논리 연산을 수행하는 데 사용합니다.
Year 함수 | 연도를 나타내는 정수를 반환합니다.
언어 구성 요소 | 설명
색 상수 | 색 상수 목록
비교 상수 | 비교 연산에 사용된 상수 목록
날짜/시간 상수 | 주일을 정의하는 상수 목록과 날짜/시간 연산에서 사용한 기타 상수
날짜 형식 상수 | 날짜와 시간 형식에 사용된 상수 목록
기타 상수 | 다른 모든 범주에 맞지 않는 상수 목록.
메시지 상자 상수 | MsgBox 함수와 함께 사용된 상수 목록
문자열 상수 | 문자열 상수 목록
Tristate 상수 | 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.
VarType 상수 | Variant 하위 형식을 정의하는 상수 목록
VBScript 상수 | VBScript에 제공된 상수의 여러 범주
언어 구성 요소 | 설명
Initialize 이벤트 | 연관된 클래스의 인스턴스를 만들 때 발생합니다.
Terminate 이벤트 | 연관된 클래스의 인스턴스를 종료할 때 발생합니다.
언어 구성 요소 | 설명
Abs 함수 | 수의 절대값을 반환합니다.
Array 함수 | 배열을 가지고 있는 Variant를 반환합니다.
Asc 함수 | 문자열에서 첫 글자에 해당하는 ANSI 문자 코드를 반환합니다.
Atn 함수 | 수의 아크 탄젠트를 반환합니다.
CBool 함수 | Boolean 하위 형식의 Variant로 변환된 식을 반환합니다.
CByte 함수 | Byte 하위 형식의 Variant로 변환된 식을 반환합니다.
CCur 함수 | Currency 하위 형식의 Variant로 변환된 식을 반환합니다.
CDate 함수 | Date 하위 형식의 Variant로 변환된 식을 반환합니다.
CDbl 함수 | Double 하위 형식의 Variant로 변환된 식을 반환합니다.
Chr 함수 | 지정한 ANSI 문자 코드와 연관된 문자를 반환합니다.
CInt 함수 | Integer하위 형식의 Variant로 변환된 식을 반환합니다.
CLng 함수 | Long 하위 형식의 Variant로 변환된 식을 반환합니다.
Cos 함수 | 각의 코사인 값을 반환합니다.
CreateObject 함수 | 자동화 개체에 대한 참조를 만들어 반환합니다.
CSng 함수 | Single 하위 형식의 Variant로 변환된 식을 반환합니다.
CStr 함수 | String 하위 형식의 Variant로 변환된 식을 반환합니다.
Date 함수 | 현재 시스템의 날짜를 반환합니다.
DateAdd 함수 | 지정된 시간 간격을 추가한 날짜를 반환합니다.
DateDiff 함수 | 두 날짜 사이의 간격 수를 반환합니다.
DatePart 함수 | 주어진 날짜의 지정된 부분을 반환합니다.
DateSerial 함수 | 지정된 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
DateValue 함수 | Date 하위 형식의 Variant를 반환합니다.
Day 함수 | 날짜를 나타내는 1에서 31까지의 정수를 반환합니다.
Eval 함수 | 식을 평가하고 결과를 반환합니다.
Exp 함수 | 승수로 거듭 제곱하는 자연 로그의 밑인 e를 반환합니다.
Filter 함수 | 지정한 필터 기준에 따라 문자열 배열의 부분 집합을 가지고 있는 0 기준 배열을 반환합니다.
Fix 함수 | 숫자의 정수 부분을 반환합니다.
FormatCurrency 함수 | 컴퓨터의 [제어판]에 정의된 통화 기호를 사용하는 통화 값으로 형식화된 식을 반환합니다.
FormatDateTime 함수 | 날짜 또는 시간으로 형식화된 식을 반환합니다.
FormatNumber 함수 | 숫자로 형식화된 식을 반환합니다.
FormatPercent 함수 | 끝에 % 문자가 있고 100으로 곱해진 백분율로 형식이 지정된 식을 반환합니다.
GetObject 함수 | 파일에서 자동화 개체에 대한 참조를 반환합니다.
GetRef 함수 | 이벤트를 발생시키는 프로시저에 대한 참조를 반환합니다.
Hex 함수 | 숫자의 16진수 값을 나타내는 문자열을 반환합니다.
Hour 함수 | 하루의 시간을 나타내는 0에서 23까지의 정수를 반환합니다.
InputBox 함수 | 대화 상자에 프롬프트를 표시하거나, 텍스트 입력이나 단추 누르기를 기다리거나, 입력란의 내용을 반환합니다.
InStr 함수 | 한 문자열이 다른 문자열에서 처음 나타나는 위치를 반환합니다.
InStrRev 함수 | 한 문자열이 다른 문자열에 나타나는 위치를 문자열 끝에서 반환합니다.
Int 함수 | 숫자의 정수 부분을 반환합니다.
IsArray 함수 | 변수가 배열인지 여부를 나타내는 부울 값을 반환합니다.
IsDate 함수 | 한 식이 날짜로 변환될 수 있는지 여부를 나타내는 부울 값을 반환합니다.
IsEmpty 함수 | 변수가 초기화되었는지 여부를 나타내는 부울 값을 반환합니다.
IsNull 함수 | Null식에 유효한 데이터가 없는지, 즉 Null인지 여부를 나타내는 부울 값을 반환합니다.
IsNumeric 함수 | 식이 숫자로 평가될 수 있는지 여부를 나타내는 부울 값을 반환합니다.
IsObject 함수 | 식이 유효한 자동화 개체를 참조하는지 여부를 나타내는 부울 값을 반환합니다.
Join 함수 | 배열에 포함되어 있는 여러 하위 문자열을 결합하여 만든 문자열을 반환합니다.
LBound 함수 | 지정한 배열 차원에 사용할 수 있는 가장 작은 첨자를 반환합니다.
LCase 함수 | 소문자로 변환된 문자열을 반환합니다.
Left 함수 | 문자열의 왼쪽부터 지정한 수만큼의 문자를 반환합니다.
Len 함수 | 문자열에 있는 문자수 또는 변수를 저장하는 데 필요한 바이트 수를 반환합니다.
LoadPicture 함수 | 그림 개체를 반환하며 32비트 플랫폼에서만 사용할 수 있습니다.
Log 함수 | 수의 자연 로그를 반환합니다.
LTrim 함수 | 선행 공백이 없는 문자열 사본을 반환합니다.
Mid 함수 | 문자열에서 지정한 개수의 문자를 반환합니다.
Minute 함수 | 시간의 분을 나타내는 0에서 59까지의 정수를 반환합니다.
Month 함수 | 년의 월을 나타내는 1에서 12까지의 정수를 반환합니다.
MonthName 함수 | 지정한 월을 나타내는 문자열을 반환합니다.
MsgBox 함수 | 대화 상자에 메시지를 표시하거나 단추 누르기를 기다리거나, 사용자가 누른 단추를 가리키는 값을 반환합니다.
Now 함수 | 컴퓨터의 시스템 날짜와 시간에 따른 현재 날짜와 시간을 반환합니다.
Oct 함수 | 숫자의 8진수 값을 반환합니다.
Replace 함수 | 지정한 하위 문자열을 지정한 횟수만큼 다른 하위 문자열로 바꾼 문자열을 반환합니다.
RGB 함수 | RGB 색상 값을 나타내는 정수를 반환합니다.
Right 함수 | 문자열의 오른쪽부터 정해진 수 만큼의 문자를 반환합니다.
Rnd 함수 | 난수를 반환합니다.
Round 함수 | 지정한 소수점 자리에서 반올림한 수를 반환합니다.
RTrim 함수 | 후미 공백이 없는 문자열 사본을 반환합니다.
ScriptEngine 함수 | 사용 중인 스크립트 언어를 나타내는 문자열을 반환합니다.
ScriptEngineBuildVersion 함수 | 사용 중인 스크립트 엔진의 구성 버전 번호를 반환합니다.
ScriptEngineMajorVersion 함수 | 사용 중인 스크립트 엔진의 주 버전 번호를 반환합니다.
ScriptEngineMinorVersion 함수 | 사용 중인 엔진 스크립트의 보조 버전 번호를 반환합니다.
Second 함수 | 분의 초를 나타내는 0에서 59까지의 정수를 반환합니다.
Sgn 함수 | 수의 부호를 나타내는 정수를 반환합니다.
Sin 함수 | 각도의 싸인 값을 반환합니다.
Space 함수 | 지정된 수 만큼의 공백이 들어있는 문자열을 반환합니다.
Split 함수 | 지정한 개수의 하위 문자열을 포함하는 0 기준 1차원 배열을 반환합니다.
Sqr 함수 | 숫자의 제곱근을 반환합니다.
StrComp 함수 | 문자열 비교의 결과를 나타내는 값을 반환합니다.
문자열 함수 | 지정한 길이의 반복되는 문자열을 반환합니다.
StrReverse 함수 | 지정한 문자열의 순서가 거꾸로 된 문자열을 반환합니다.
Tan 함수 | 각도의 탄젠트 값을 반환합니다.
Time 함수 | 현재 시스템 시간을 나타내는 Date 하위 형식의 Variant를 반환합니다.
Timer 함수 | 자정이후 경과된 초 수를 반환합니다.
TimeSerial 함수 | 지정한 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
TimeValue 함수 | 시간을 포함하는 Date 하위 형식의 Variant를 반환합니다.
Trim 함수 | 선행 공백이나 후미 공백이 없는 문자열 사본을 반환합니다.
TypeName 함수 | 변수에 관한 Variant 하위 형식 정보를 제공하는 문자열을 반환합니다.
UBound 함수 | 지정한 배열 차원에 사용할 수 있는 가장 큰 첨자를 반환합니다.
UCase 함수 | 대문자로 변환된 문자열을 반환합니다.
VarType 함수 | 변수의 하위 형식을 나타내는 값을 반환합니다.
Weekday 함수 | 요일을 나타내는 정수를 반환합니다.
WeekdayName 함수 | 지정된 요일을 나타내는 문자열을 반환합니다.
Year 함수 | 연도를 나타내는 정수를 반환합니다.
언어 구성 요소 | 설명
Clear 메서드 | Err 개체의 모든 속성 정보를 지웁니다.
Execute 메서드 | 지정된 문자열에 대하여 정규식 검색을 실행합니다.
Raise 메서드 | 런타임 오류를 발생시킵니다.
Replace 메서드 | 정규식 검색에서 발견되는 텍스트를 바꿉니다.
Test 메서드 | 지정된 문자열에 대하여 정규식 검색을 실행합니다.
언어 구성 요소 | 설명
Class 개체 | 작성된 클래스의 이벤트에 액세스를 제공합니다.
Dictionary 개체 | 데이터 키, 항목을 저장하는 개체
Err 개체 | 런타임 오류에 관한 정보를 가지고 있습니다.
FileSystemObject 개체 | 컴퓨터 파일 시스템에 대한 액세스를 제공합니다.
Match 개체 | 일치하는 정규식의 읽기 전용 속성에 대한 액세스를 제공합니다.
Matches 컬렉션 | 정규식 Match 개체의 컬렉션
RegExp 개체 | 간단한 정규식을 제공합니다.
언어 구성 요소 | 설명
+ 연산자 | 두 숫자를 더합니다.
And 연산자 | 두 식의 논리적인 결합을 평가합니다.
= 연산자 | 값을 변수나 속성에 지정합니다.
&(문자열 연결) 연산자 | 두 식의 문자열을 연결하는 데 사용합니다.
/ 연산자 | 두 숫자를 나눈 다음 부동 소수점 숫자로 된 결과를 반환하는 데 사용합니다.
Eqv 연산자 | 두 식의 논리적 동등성을 평가하는 데 사용합니다.
^(지수) 연산자 | 숫자를 지수로 거듭제곱하는 데 사용합니다.
Imp 연산자 | 두 식의 논리적 함축성을 평가하는 데 사용합니다.
\(정수 나눗셈) 연산자 | 두 숫자를 나누어 정수 결과를 반환하는 데 사용합니다.
Is 연산자 | 두 개의 개체 참조 변수를 비교하는 데 사용합니다.
Mod 연산자 | 두 숫자를 나누어 그 나머지를 반환합니다.
* 연산자 | 두 숫자를 곱하는 데 사용합니다.
-(부정) 연산자 | 수식의 음수 값을 나타내는 데 사용합니다.
Not 연산자 | 식의 논리적 부정을 평가하는 데 사용합니다.
Operator 우선 순위 | VBScript에서 사용된 여러 가지 연산자의 우선 순위 순서를 보여주는 목록
Or 연산자 | 두 식의 논리적인 분리를 평가하는 데 사용합니다.
- 연산자 | 두 숫자 사이의 차이를 구하거나 수식의 음수 값을 나타내는 데 사용합니다.
Xor 연산자 | 두 식의 배타적 논리 연산을 수행하는 데 사용합니다.
언어 구성 요소 | 설명
Description 속성 | 오류에 관해 설명하는 문자열을 설정하거나 반환합니다.
FirstIndex 속성 | 일치하는 검색 문자열에서 위치를 반환합니다.
Global 속성 | 부울 값을 설정하거나 반환합니다.
HelpContext 속성 | 도움말 파일에 있는 항목의 문맥 ID를 설정하거나 반환합니다.
HelpFile 속성 | 도움말 파일에 대한 완전하게 수식된 경로를 설정하거나 반환합니다.
IgnoreCase 속성 | 패턴 검색의 대/소문자 구별 여부를 나타내는 부울 값을 설정하거나 반환합니다.
Length 속성 | 검색 문자열에서 발견되는 일치하는 길이를 반환합니다.
Number 속성 | 오류를 나타내는 숫자 값을 설정하거나 반환합니다.
Pattern 속성 | 검색하는 정규식 패턴을 설정하거나 반환합니다.
Source 속성 | 오류가 처음 발생한 개체나 응용 프로그램의 이름을 설정하거나 반환합니다.
Value 속성 | 검색 문자열에서 발견되는 일치하는 값이나 텍스트를 반환합니다.
언어 구성 요소 | 설명
Call 문 | Sub 프로시저 또는 Fun 프로시저에 제어를 전송합니다.
Class 문 | 클래스 이름을 선언합니다.
Const 문 | 리터럴 값을 대신할 상수를 선언합니다.
Dim 문 | 변수를 선언하고 저장 공간을 할당합니다.
Do...Loop 문 | 조건문이 True이거나 True가 될 때까지 블록문을 반복하여 실행합니다.
Erase 문 | 고정 크기 배열의 요소를 다시 초기화하여 동적 배열 저장 공간을 반납합니다.
Execute 문 | 하나 이상의 지정된 문을 실행합니다.
Exit 문 | Do...Loop, For...Next, Function 또는 Sub 코드의 블록을 빠져 나갑니다.
For...Next 문 | 지정한 횟수만큼 문 그룹을 반복하여 실행합니다.
For Each...Next 문 | 배열이나 컬렉션에 있는 각 요소의 문 그룹을 반복하여 실행합니다.
Function 문 | Function 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
If...Then...Else 문 | 식의 값에 따라 일단의 문을 조건부로 실행합니다.
On Error 문 | 오류 처리기를 사용할 수 있게 합니다.
Option Explicit 문 | 스크립트 수준에서 사용하여 강제적으로 해당 스크립트에 있는 모든 변수를 명시적으로 선언합니다.
Private 문 | private 변수를 선언하고 저장 공간을 할당합니다.
PropertyGet 문 | 속성값을 반환하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
PropertyLet 문 | 속성값을 할당하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
PropertySet 문 | 개체에 대한 참조를 설정하는 Property 프로시저의 본문을 형성하는 이름, 인수, 코드를 선언합니다.
Public 문 | public 변수를 선언하고 저장 공간을 할당합니다.
Randomize 문 | 난수 발생기를 초기화합니다.
ReDim 문 | 프로시저 수준에서 사용하여 동적 배열 변수를 선언하고 저장 공간을 할당하거나 다시 할당합니다.
Rem 문 | 프로그램에서 설명을 제공하는 주석을 포함시키는 데 사용합니다.
Select Case 문 | 식의 값에 따라 문의 여러 그룹 중 한 그룹을 실행합니다.
Set 문 | 개체 참조를 변수나 속성으로 지정합니다.
Sub 문 | Sub 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
While...Wend 문 | 주어진 조건문이 True로 있는 동안에만 일련의 문을 실행합니다.
With 문 | 하나의 개체에 일련의 문을 실행합니다.

ⓒ 1998 Microsoft Corporation. All rights reserved.


개체

개체 		VBScript 언어 참조
버전 정보

Class 개체
Dictionary 개체
Err 개체
FileSystemObject 개체
Match 개체
Matches 컬렉션
RegExp 개체


기능 정보

기능 정보 		VBScript 언어 참조
버전 정보

VBScript 기능
VBScript에 없는 VBA 기능
VBA에 없는 VBScript 기능
Microsoft Scripting 런타임 기능


메서드

메서드 		VBScript 언어 참조
버전 정보

Clear 메서드
Execute 메서드
Raise 메서드
Replace 메서드
Test 메서드


문

문 		VBScript 언어 참조
버전 정보

Call 문
Class 문
Const 문
Dim 문
Do...Loop 문
Erase 문
Execute 문
Exit 문
For...Next 문
For Each...Next 문
Function 문
If...Then...Else 문
On Error 문
Option Explicit 문
Private 문
Property Get 문
Property Let 문
Property Set 문
Public 문
Randomize 문
ReDim 문
Rem 문
Select Case 문
Set 문
Sub 문
While...Wend 문
With 문


상수

상수 		VBScript 언어 참조
버전 정보

Tristate 상수
Variant 형식 상수
VBScript 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수


속성

속성 		VBScript 언어 참조
버전 정보

Description 속성
FirstIndex 속성
Global 속성
HelpContext 속성
HelpFile 속성
IgnoreCase 속성
Length 속성
Number 속성
Pattern 속성
Source 속성
Value 속성


연산자

연산자 		VBScript 언어 참조
버전 정보

+ 연산자
- 연산자
= 연산자
* 연산자
/ 연산자
&(문자열 연결) 연산자
^(지수) 연산자
\(정수 나눗셈) 연산자
연산자 우선 순위
And 연산자
Eqv 연산자
Imp 연산자
Is 연산자
Mod(나머지) 연산자
Not 연산자
Or 연산자
XOr 연산자


메서드

이벤트 		VBScript 언어 참조
버전 정보

Initialize 이벤트
Terminate 이벤트


함수

함수 		VBScript 언어 참조
버전 정보

Abs 함수
Array 함수
Asc 함수
Atn 함수
CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
Chr 함수
CInt 함수
CLng 함수
Cos 함수
CreateObject 함수
CSng 함수
CStr 함수
Date 함수
DateAdd 함수
DateDiff 함수
DatePart 함수
DateSerial 함수
DateValue 함수
Day 함수
Eval 함수
Exp 함수
Filter 함수
Fix 함수
FormatCurrency 함수
FormatDateTime 함수
FormatNumber 함수
FormatPercent 함수
GetObject 함수
GetRef 함수
Hex 함수
Hour 함수
InputBox 함수
InStr 함수
InStrRev 함수
Int 함수
IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
Join 함수
LBound 함수
LCase 함수
Left 함수
Len 함수
LoadPicture 함수
Log 함수
LTrim 함수
Mid 함수
Minute 함수
Month 함수
MonthName 함수
MsgBox 함수
Now 함수
Oct 함수
Replace 함수
RGB 함수
Right 함수
Rnd 함수
Round 함수
RTrim 함수
ScriptEngine 함수
ScriptEngineBuildVersion 함수
ScriptEngineMajorVersion 함수
ScriptEngineMinorVersion 함수
Second 함수
Sgn 함수
Sin 함수
Space 함수
Split 함수
Sqr 함수
StrComp 함수
String 함수
StrReverse 함수
Tan 함수
Time 함수
Timer 함수
TimeSerial 함수
TimeValue 함수
Trim 함수
TypeName 함수
UBound 함수
UCase 함수
VarType 함수
WeekDay 함수
WeekdayName 함수
Year 함수


키워드 목록(사전순)

키워드 목록(사전순) 		VBScript 언어 참조
버전 정보

+ 연산자
- 연산자
= 연산자
* 연산자
/ 연산자
&(문자열 연결) 연산자
^(지수) 연산자
\(정수 나눗셈) 연산자
Abs 함수
And 연산자
Array 함수
Asc 함수
Atn 함수
Call 문
CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
Chr 함수
CInt 함수
Class 개체
Class 문
Clear 메서드
CLng 함수
Comparison 상수
Const 문
Cos 함수
CreateObject 함수
CSng 함수
CStr 함수
Date 함수
DateAdd 함수
DateDiff 함수
DatePart 함수
DateSerial 함수
DateValue 함수
Day 함수
Description 속성
Dictionary 개체
Dim 문
Do...Loop 문
Empty
Eqv 연산자
Erase 문
Err 개체
Eval 함수
Execute 메서드
Execute 문
Exit 문
Exp 함수
False
FileSystemObject 개체
Filter 함수
FirstIndex 속성
Fix 함수
For...Next 문
For Each...Next 문
FormatCurrency 함수
FormatDateTime 함수
FormatNumber 함수
FormatPercent 함수
Function 문
GetObject 함수
GetRef 함수
Global 속성
Hex 함수
HelpContext 속성
HelpFile 속성
Hour 함수
If...Then...Else 문
IgnoreCase 속성
Imp 연산자
Initialize 이벤트
InputBox 함수
InStr 함수
InStrRev 함수
Int 함수
Is 연산자
IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
Join 함수
LBound 함수
LCase 함수
Left 함수
Len 함수
Length 속성
LoadPicture 함수
Log 함수
LTrim 함수
Match 개체
Matches 컬렉션
Mid 함수
Minute 함수
Mod(나머지) 연산자
Month 함수
MonthName 함수
MsgBox 상수
MsgBox 함수
Not 연산자
Now 함수
Nothing
Null
Number 속성
Oct 함수
On Error 문
Option Explicit 문
Or 연산자
Pattern 속성
Private 문
PropertyGet 문
PropertyLet 문
PropertySet 문
Public 문
Raise 메서드
Randomize 문
ReDim 문
RegExp 개체
Rem 문
Replace 함수
Replace 메서드
RGB 함수
Right 함수
Rnd 함수
Round 함수
RTrim 함수
ScriptEngine 함수
ScriptEngineBuildVersion 함수
ScriptEngineMajorVersion 함수
ScriptEngineMinorVersion 함수
Second 함수
Select Case 문
Set 문
Sgn 함수
Sin 함수
Source 속성
Space 함수
Split 함수
Sqr 함수
StrComp 함수
String 상수
String 함수
StrReverse 함수
Sub 문
Tan 함수
Terminate 이벤트
Test 메서드
Time 함수
Timer 함수
TimeSerial 함수
TimeValue 함수
Trim 함수
Tristate 상수
True
TypeName 함수
UBound 함수
UCase 함수
Value 속성
VarType 상수
VarType 함수
VBScript 상수
WeekDay 함수
WeekdayName 함수
While...Wend 문
With 문
XOr 연산자
Year 함수
기타 상수
날짜 형식 상수
날짜/시간 상수
색 상수
연산자 우선 순위


VBScript 자습서

VBScript 자습서 		VBScript 언어 참조

VBScript 정보
HTML 페이지에 VBScript 코드 추가

VBScript 기초 학습

VBScript 데이터 형식
VBScript 변수
VBScript 상수
VBScript 연산자
VBScript 프로시저
VBScript 코딩 규칙
조건문 사용
코드에 의한 루프 처리

Internet Explorer에서 VBScript 사용

간단한 VBScript 페이지
VBScript와 폼
개체와 함께 VBScript 사용


HTML 페이지에 VBScript 코드 추가

Microsoft Visual® Basic® Scripting Edition
HTML 페이지에 VBScript 코드 추가 		VBScript 자습서
이전 페이지
다음 페이지

SCRIPT 요소를 사용하여 VBScript 코드를 HTML 페이지에 추가합니다.
<SCRIPT> 태그
VBScript 코드는 <SCRIPT> 태그 쌍 안에 작성됩니다. 예를 들어, 전달 날짜를 검사하는 프로시저는 아래와 같이 나타날 수도 있습니다.

<SCRIPT LANGUAGE="VBScript">
<!--
   Function CanDeliver(Dt)
      CanDeliver = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>
<SCRIPT>의 시작 태그와 끝 태그로 코드를 묶습니다. LANGUAGE 속성은 스크립트 언어를 나타냅니다. 브라우저에 따라 다른 스크립트 언어를 사용할 수 있으므로 해당 언어를 반드시 지정해야 합니다. CanDeliver 함수가 <!--와 -->로 이루어지는 주석 태그 안에 들어있음에 주의하십시오. 이러한 주석 태그를 사용하면 <SCRIPT> 태그를 인식하지 않는 브라우저에서 그 코드를 표시하지 않도록 합니다.

아래 예제는 특정 폼 컨트롤에 결합되지 않은 일반 함수이므로 해당 페이지의 HEAD 구역에 포함시킬 수 있습니다.

<HTML>
<HEAD>
<TITLE>주문</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
   Function CanDeliver(Dt)
      CanDeliver = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>
</HEAD>
<BODY>
...
SCRIPT 블록은 HTML 페이지의 아무 위치에서 사용할 수 있으며, BODY 구역과 HEAD 구역에 모두 넣을 수 있습니다. 그러나 범용 스크립트 코드를 모두 HEAD 구역에 놓아 두고서 모든 코드를 통합적으로 유지할 수도 있습니다. 즉, HEAD 구역에 코드를 놓아 두면 BODY 구역 안에서 호출하여 요구하기 전에 모든 코드를 읽어 디코딩합니다.

이 규칙의 주목할 만한 예외는 인라인 스크립트 코드를 폼 안에 제공하여 폼에 있는 개체의 이벤트에 응답하도록 하는 것입니다. 예를 들어, 아래와 같이 폼의 단추 누르기에 응답할 스크립트 코드를 폼 안에 포함시킬 수 있습니다.

<HTML>
<HEAD>
<TITLE>단추 이벤트 테스트</TITLE>
</HEAD>
<BODY>
<FORM NAME="Form1">
   <INPUT TYPE="Button" NAME="Button1" VALUE="누르기">
   <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript">
      MsgBox "단추를 눌렀습니다!"   </SCRIPT>
</FORM>
</BODY>
</HTML>
대부분의 코드의 Sub 또는 Function 프로시저에 나타나며, 작성한 코드는 그 프로시저를 실행하도록 할 때 호출됩니다. 그러나 VBScript 코드를 프로시저 밖에 작성할 수 있지만 SCRIPT 블록 안에 있어야 합니다. 이 코드는 HTML 페이지를 로드할 때 한번만 실행됩니다. 이는 웹 페이지를 로드할 때 데이터를 초기화하거나 웹 페이지의 모양을 동적으로 바꿀 수 있도록 합니다.


VBScript 정보

VBScript 정보 		VBScript 자습서
다음 페이지

Visual Basic 계열 프로그래밍 언어의 최신 구성요소인 Microsoft Visual Basic Scripting Edition은 Microsoft Internet Explorer용 웹 클라이언트 스크립트와 Microsoft Internet Information Server용 웹 서버 스크립트를 포함하여 다양한 환경에 맞는 실제적인 스크립트를 제공합니다.
쉬운 학습과 사용
Visual Basic이나 Visual Basic for Applications을 이미 알고 있으면 VBScript도 매우 친숙하게 접근할 수 있습니다. Visual Basic을 모르지만 일단 VBScript를 배우면 모든 Visual Basic 계열 언어로 프로그램할 수 있습니다. 이와 관련하여 제공되는 몇몇의 웹 페이지로 VBScript를 배울 수는 있지만 프로그램하는 방법은 알려주지 않습니다. 프로그램을 시작하려면 Microsoft Press에서 제공하는 Step by Step을 참조하십시오.
ActiveX Scripting
VBScript는 ActiveX® Scripting을 사용하여 대화식으로 응용 프로그램을 실행시킵니다. ActiveX Scripting을 사용할 경우 브라우저와 다른 호스트 응용 프로그램에서는 각 스크립트 구성 요소에 대한 특별한 통합 코드가 필요하지 않습니다. ActiveX Scripting을 통해 호스트에서 스크립트를 컴파일하거나, 입력점을 가져와서 호출하거나, 개발자가 사용할 수 있는 이름 공간(namespace)을 관리할 수 있습니다. 언어 공급 업자는 ActiveX Scripting으로 스크립트용 표준 언어 런타임을 만들 수 있습니다. Microsoft는 VBScript에서는 VBScript에 런타임 지원 기능을 제공할 것이며, 여러 인터넷 그룹과의 협력으로 ActiveX Scripting 표준을 정의하여 스크립트 엔진이 서로 호환될 수 있도록 노력하고 있습니다. ActiveX Scripting은 Microsoft® Internet Explorer와 Microsoft® Internet Information Server에서 사용되고 있습니다.
다른 응용 프로그램과 브라우저에서의 VBScript 사용
개발자는 VBScript 원본 구현의 사용권을 무료로 얻어 자신의 제품에 사용할 수 있습니다. Microsoft에서는 32비트용 Windows® API, 16비트용 Windows API 및 Macintosh®를 위한 VBScript 이진 구현을 제공합니다. VBScript는 WWW 브라우저와 통합됩니다. VBScript와 ActiveX Scripting은 다른 응용 프로그램의 범용 스크립트 언어로 사용할 수 있습니다.


VBScript 데이터 형식

VBScript 데이터 형식 		VBScript 자습서
이전 페이지
다음 페이지

VBScript의 데이터 형식이란?
VBScript에는 Variant라는 데이터 형식만이 있습니다. Variant는 특수한 데이터 형식으로 사용 방법에 따라 다른 종류의 정보를 가질 수 있습니다. Variant는 VBScript의 유일한 데이터 형식이므로 VBScript의 모든 함수에서 반환하는 데이터 형식이 됩니다.

아주 간단히 설명하면, Variant에는 숫자나 문자열 정보가 있습니다. Variant는 숫자 문맥에서 사용할 경우 숫자로, 문자열 문맥에서 사용할 경우 문자열로 작용합니다. 즉, 숫자처럼 보이는 데이터로 작업하면 VBScript는 Variant를 숫자로 취급하여 그 숫자에 가장 적절한 동작을 수행합니다. 이와 비슷하게 문자열 데이터일 뿐인 데이터로 작업하면, VBScript는 Variant를 문자열 데이터로 취급합니다. 또한 언제든지 숫자를 인용 부호(" ")로 묶어 문자열로 작용하도록 만들 수 있습니다.

Variant 하위 형식
Variant는 단순한 숫자나 문자열 구분 외에도 숫자 정보의 특정 유형을 더 자세히 분류할 수 있습니다. 예를 들어, 날짜 또는 시간을 나타내는 숫자 정보가 있을 수 있습니다. 다른 날짜 또는 시간 데이터와 함께 사용할 경우 그 결과는 언제나 어떤 날짜 또는 시간으로 나타납니다. 또한 부울 값에서 매우 큰 부동 소수점 숫자까지에 이르는 매우 다양한 숫자 정보도 있습니다. Variant에 포함될 수 있는 정보의 다양한 유형을 하위 형식이라고 합니다. 대개는 원하는 데이터를 Variant에 넣기만 하면, 해당 Variant는 포함하고 있는 데이터에 가장 적절한 방식으로 작용합니다.

다음 표는 Variant에 포함될 수 있는 데이터의 하위 형식을 보여줍니다.

하위 형식 | 설명
Empty | Variant가 초기화되지 않습니다. 그 값은 숫자 변수의 경우 0, 문자열 변수의 경우 길이가 0인 문자열("")입니다.
Null | Variant는 의도적으로 유효한 데이터를 포함하지 않습니다.
Boolean | True 또는 False를 포함합니다.
Byte | 0에서 255까지의 정수를 포함합니다.
Integer | -32,768에서 32,767까지의 정수를 포함합니다.
Currency | -922,337,203,685,477.5808에서 922,337,203,685,477.5807까지를 포함합니다.
Long | -2,147,483,648에서 2,147,483,647까지의 정수를 포함합니다.
Single | -3.402823E38에서 -1.401298E-45까지의 음수 및 1.401298E-45에서 3.402823E38까지의 양수인 단정밀도 부동 소수점 숫자를 포함합니다.
Double | -1.79769313486232E308에서 -4.94065645841247E-324까지의 음수 및 4.94065645841247E-324에서 1.79769313486232E308까지의 양수인 배정밀도 부동 소수점 숫자를 포함합니다.
Date (Time) | 100년 1월 1일에서 9999년 12월 31까지의 날짜를 나타내는 숫자를 포함합니다.
String | 길이가 약 20억 문자까지에 이르는 가변 길이 문자열을 포함합니다.
Object | 개체를 포함합니다.
Error | 오류 번호를 포함합니다.

변환 함수를 사용하면 한 하위 형식에서 다른 하위 형식으로 데이터를 변환할 수 있습니다. 또한 VarType 함수는 데이터를 Variant에 저장하는 방법에 관한 정보를 반환합니다.


VBScript 변수

VBScript 변수 		VBScript 자습서
이전 페이지
다음 페이지

변수란?
변수는 스크립트가 실행되는 동안 바뀌는 프로그램 정보를 저장할 수 있는 컴퓨터 메모리 위치를 참조하는 편리한 자리 표시자입니다. 예를 들어, ClickCount라는 변수를 만들어 사용자가 특정 웹 페이지의 개체를 누른 횟수를 저장할 수도 있습니다. 변수가 컴퓨터 메모리에 저장되는 위치는 중요하지 않습니다. 그러나 사용자가 변수의 값을 알아 보거나 바꾸기 위해 변수를 이름만으로만 참조해야 한다는 것이 중요합니다. VBScript에서 변수는 언제나 유일한 기본 데이터 형식인 Variant로 작성됩니다.
변수 선언
스크립트에서는 Dim 문, Public 문 및 Private 문을 사용하여 변수를 명시적으로 선언합니다. 사용 예는 아래와 같습니다.
 Dim DegreesFahrenheit
각 변수 이름을 쉼표로 구분하여 여러 개의 변수를 선언합니다. 사용 예는 아래와 같습니다.
 Dim Top, Bottom, Left, Right
스크립트 안에서 그냥 변수 이름만을 사용하여 변수를 암시적으로 선언할 수 있습니다. 그러나 스크립트의 여러 곳에서 변수 이름을 잘못 입력하여 스크립트를 실행할 때 예기치 않은 오류를 일으킬 수 있으므로 이런 방법은 좋지 않습니다. 이런 이유로 모든 변수를 명시적으로 선언해야 할 경우 Option Explicit 문을 사용할 수 있습니다. Option Explicit 문은 스크립트의 첫째 명령문이어야 합니다.
변수 명명 규칙
변수 이름은 아래와 같이 VBScript 일반 명명 규칙을 따릅니다.
  • 알파벳 문자로 시작해야 합니다.
  • 마침표(.)를 포함할 수 없습니다.
  • 255자를 초과할 수 없습니다.
  • 선언된 범위 안에서는 유일해야 합니다.
변수의 범위와 수명
선언된 위치에 따라 변수의 범위가 결정됩니다. 프로시저 안에서 변수를 선언하면 해당 프로시저에 있는 코드만이 그 변수의 값을 액세스하고 바꿀 수 있습니다. 이 변수는 지역 범위를 가지며 프로시저 수준 변수라고 합니다. 그러나 프로시저 밖에서 변수를 선언하면 그 변수는 스크립트의 모든 프로시저에서 인식됩니다. 이 변수는 스크립트 수준 변수가 되며, 스크립트 수준의 범위를 가집니다.

변수가 존재하는 기간을 그 변수의 수명이라고 합니다. 스크립트 수준 변수의 수명은 변수가 선언된 시점에서 스크립트 실행이 완료된 시점까지입니다. 그러나 프로시저 수준 변수는 프로시저 안에 있는 동안에만 존재하고 그 프로시저를 마치면 없어집니다. 지역 변수는 프로시저를 실행하는 동안에는 이상적인 임시 저장 공간이 됩니다. 지역 변수는 각각 선언된 프로시저 안에서만 인식되므로 여러 개의 다른 프로시저에서 같은 이름의 지역 변수를 사용할 수 있습니다.

변수의 값 할당
아래와 같이 식을 만들어 값을 변수에 할당합니다. 변수는 식의 왼쪽에, 변수에 할당할 값은 식의 오른쪽에 나옵니다.
 B = 200
스칼라 변수와 배열 변수
대개의 경우 선언한 변수 하나에 하나의 값을 할당합니다. 하나의 값을 가지는 변수는 스칼라 변수입니다. 그러나 어떤 경우에는 연관된 둘 이상의 값을 변수 하나에 할당하는 것이 편리합니다. 그런 경우 일련의 값들을 가지는 변수를 만들 수 있습니다. 이를 배열 변수라고 합니다. 배열 변수와 스칼라 변수는 동일한 방법으로 선언되지만, 배열 변수는 변수 이름 뒤에 괄호( )를 붙여 선언합니다. 아래 예제에서는 11개 요소를 포함하는 1차원 배열을 선언하고 있습니다.
 Dim A(10)
괄호 안의 숫자는 10이지만, VBScript의 모든 배열은 0을 기준으로 하므로 실제로 11개 요소를 가지게 됩니다. 0 기준 배열에서 배열 요소의 개수는 언제나 괄호 속의 숫자에 하나를 더한 숫자입니다. 이런 종류의 배열을 고정 크기 배열이라고 합니다.

배열에 인덱스를 사용하여 데이터를 배열의 각 요소에 할당할 수 있습니다. 아래 예제에서는 0에서 10까지의 인덱스를 사용한 각 배열 요소에 데이터를 할당합니다.

 A(0) = 256
 A(1) = 324
 A(2) = 100
 . . .
 A(10) = 55
이와 비슷하게 원하는 특정 배열 요소에 인덱스를 사용하여 요소를 검색할 수 있습니다. 사용 예는 아래와 같습니다.

 . . .
 SomeVariable = A(8)
 . . .
배열은 1차원으로 한정되지 않습니다. 대부분의 사람들은 3차원이나 4차원 이상의 차원을 이해하기 어렵지만 60개까지의 차원을 지정할 수 있습니다. 다중 차원은 괄호 안에서 배열 크기의 수를 쉼표로 구분하여 선언됩니다. 아래 예제에서 MyTable 변수는 6개의 행과 11개의 열을 가지는 배열 변수입니다.
 Dim MyTable(5, 10)
2차원 배열에서 첫째 숫자는 항상 행의 개수이며, 둘째 번호는 열의 개수입니다.

또한 스크립트가 실행되는 동안 크기가 변하는 배열도 선언할 수 있으며, 이를 동적 배열이라고 합니다. 동적 배열은 Dim 문이나 ReDim 문을 사용하여 프로시저의 맨 앞에 선언됩니다. 그러나 동적 배열에서는 차원의 크기나 개수를 괄호 안에 두지 않습니다. 사용 예는 아래와 같습니다.

 Dim MyArray()
 ReDim AnotherArray()
동적 배열을 사용하려면 앞에 나온 Redim 문에 뒤이어 나오는 ReDim 문을 사용하여 차원의 개수와 각 차원의 크기를 결정해야 합니다. 아래 예제에서 앞의 ReDim 문은 동적 배열의 처음 크기를 25로 지정합니다. 뒤이어 나오는 ReDim 문은 배열 크기를 30으로 바꾸는 한편 Preserve 키워드에 의해 크기를 바꾸면서 그 배열의 내용도 보존합니다.
 ReDim MyArray(25)
 . . .
 ReDim Preserve MyArray(30)
횟수에 상관없이 동적 배열의 크기를 바꿀 수 있지만, 이전의 배열 크기보다 작게 만들면 제거되는 요소의 데이터를 잃게 됩니다.


VBScript 상수

VBScript 상수 		VBScript 자습서
이전 페이지
다음 페이지

상수란?
상수는 숫자나 문자열을 대신하여 사용되는 의미있는 이름이며 결코 변하지 않습니다. VBScript에서는 여러 가지의 내부 상수를 정의하고 있습니다. VBScript 언어 참조에서 내부 상수에 관한 정보를 얻을 수 있습니다.
상수 만들기
VBScript에서는 Const 문을 사용하여 사용자 정의 상수를 만듭니다. Const 문을 사용하면 의미있는 이름을 가진 숫자 상수나 문자열 상수를 만들어 리터럴 값을 할당할 수 있습니다. 사용 예는 아래와 같습니다.
Const MyString = "문자열입니다."
Const MyAge = 49
문자열 리터럴은 인용 부호(" ")로 묶어야 합니다. 인용 부호에 의해 문자열 값과 숫자 값을 명확하게 구별합니다. 날짜 리터럴과 시간 리터럴은 번호 기호(#)로 묶어서 나타냅니다. 사용 예는 아래와 같습니다.
Const CutoffDate = #6-1-97#
상수 명명 규칙을 도입하여 상수와 변수를 구별할 수도 있습니다. 이는 스크립트가 실행되는 동안 상수 값을 다시 할당하지 않도록 합니다. 예를 들어, 상수 이름에 "vb" 또는 "con" 접두사를 사용하거나 상수 이름을 모두 대문자로 만들 수도 있습니다. 상수와 변수를 구별하면 더욱 복잡한 스크립트를 개발할 때의 혼란을 방지할 수 있습니다.


VBScript 연산자

VBScript 연산자 		VBScript 자습서
이전 페이지
다음 페이지

VBScript에는 산술 연산자, 비교 연산자, 연결 연산자 및 논리 연산자를 포함하는 전 범위의 연산자가 있습니다.
연산자 우선 순위

한 식에서 여러 개의 연산을 수행할 경우 연산자 우선 순위라고 하는 미리 정해진 순서에 따라 식의 각 부분을 해석하여 분해합니다. 괄호를 사용하면 연산에 대한 우선 순위를 바꾸거나 다른 부분을 계산하기 전에 식의 한 부분을 먼저 계산할 수 있습니다. 괄호 안의 연산은 언제나 괄호 밖의 연산보다 먼저 수행되지만, 괄호 안에서는 일반적인 연산자 우선 순위를 따릅니다.

둘 이상의 유형에 속하는 연산자를 가진 식에서는 산술 연산자, 비교 연산자, 논리 연산자 순으로 계산합니다. 모든 비교 연산자는 동등한 우선 순위, 즉 비교 연산자의 위치에 따라 왼쪽에서 오른쪽으로 계산됩니다. 산술 연산자와 논리 연산자의 우선 순위는 아래와 같습니다.

산술 연산자 | 비교 연산자 | 논리 연산자
설명 | 기호 | 설명 | 기호 | 설명 | 기호
지수 ^ 같다 = 논리적 부정 Not
단항 부정 - 같지 않다 <> 논리적 결합 And
곱셈 * 보다 작다 < 논리적 분리 Or
나눗셈 / 보다 크다 > 논리적 배타 Xor
정수 나눗셈 \ 보다 작거나 같다 <= 논리적 동등성 Eqv
나머지 연산 Mod 보다 크거나 같다 >= 논리적 함축성 Imp
덧셈 + 개체 동등성 Is
뺄셈 -
문자열 연결 &

한 식에서 곱셈과 나눗셈을 모두 수행할 경우 그 위치에 따라 왼쪽에서 오른쪽으로 각 연산을 수행합니다. 또한 한 식에서 덧셈과 뺄셈을 모두 수행할 경우에도 마찬가지입니다.

문자열 연결(&) 연산자는 산술 연산자가 아니지만 그 우선 순위는 모든 산술 연산자 뒤와 모든 비교 연산자 앞에 나옵니다. Is 연산자는 개체 참조 비교 연산자이며, 개체 또는 그 값을 비교하는 것이 아니라 두 개체 참조가 동일한 개체를 참조하는지를 확인하는 데에만 사용됩니다.


VBScript 프로시저

VBScript 프로시저 		VBScript 자습서
이전 페이지
다음 페이지

프로시저의 종류
VBScript 프로시저에는 두 종류, 즉 Sub 프로시저와 Function 프로시저가 있습니다.
Sub 프로시저
Sub 프로시저는 Sub 문과 End Sub 문으로 묶어진 일련의 VBScript 명령문으로 동작을 수행하지만 그 값을 반환하지는 않습니다. Sub 프로시저에서는 호출하는 프로시저가 전달하는 상수, 변수 또는 식으로 된 인수를 사용할 수 있습니다. Sub 프로시저에서 인수가 없으면 해당 Sub 문에 빈 괄호()가 있어야 합니다.

아래 Sub 프로시저는 내부(기본적으로 제공되는) VBScript 함수 두 개, 즉 MsgBox와 InputBox를 사용하여 사용자에게 정보를 알려줍니다. 그런 다음 해당 정보에 따른 계산 결과를 표시합니다. VBScript를 사용하여 만든 Function 프로시저에서 계산이 수행됩니다. Function 프로시저에 대해서는 뒤에서 설명됩니다.

 Sub ConvertTemp()
    temp = InputBox("화씨 온도를 입력하십시오.", 1)
    MsgBox "섭씨 " & Celsius(temp) & "도입니다."
 End Sub
Function 프로시저
Function 프로시저는 Function 문과 End Function 문으로 묶어진 일련의 VBScript 명령문입니다. Function 프로시저는 Sub 프로시저와 비슷하지만 값을 반환하는 점이 다릅니다. Function 프로시저에서는 호출하는 프로시저가 전달하는 상수, 변수 또는 식으로 된 인수를 사용할 수 있습니다. Function 프로시저에서 인수가 없으면 해당 Function 문에 빈 괄호가 있어야 합니다. Function 문은 해당 프로시저에 있는 하나 이상의 명령문에서 그 이름에 값을 지정하는 방법으로 값을 반환합니다. Function 문의 반환 데이터 형식은 언제나 Variant입니다.

아래 예제에서 Celsius 함수는 화씨 온도를 섭씨 온도로 계산합니다. ConvertTemp Sub 프로시저의 함수를 호출하면 인수 값을 가지고 있는 변수를 그 함수에 전달하고, 호출한 프로시저에 계산 결과를 반환하여 메시지 상자에 표시합니다.

 Sub ConvertTemp()
     temp = InputBox("화씨 온도를 입력하십시오.", 1)
     MsgBox "섭씨" & Celsius(temp) & "도입니다."
 End Sub

 Function Celsius(fDegrees)
     Celsius = (fDegrees - 32) * 5 / 9
 End Function
프로시저 안팎으로 데이터 전달
각 데이터는 인수를 사용하는 프로시저에 전달됩니다. 인수는 프로시저에 전달할 데이터의 자리 표시자 역할을 합니다. 변수 이름으로 유효한 것이면 모두 인수로 사용할 수 있습니다. Sub 문이나 Function 문을 사용하여 프로시저를 작성하면 프로시저 이름 뒤에 괄호가 있어야 합니다. 모든 인수는 괄호 안에 쉼표로 구분하여 둡니다. 예를 들어, 아래 예제에서 fDegrees는 온도를 변환하는 Celsius 함수에 전달할 값의 자리 표시자입니다.
 Function Celsius(fDegrees)
    Celsius = (fDegrees - 32) * 5 / 9
 End Function
데이터를 프로시저 밖으로 가져오려면 Function 문을 사용해야 합니다. Function 프로시저는 값을 반환할 수 있지만 Sub 프로시저는 값을 반환할 수 없습니다.
코드에서의 Sub 프로시저와 Function 프로시저 사용
코드에 있는 Function 프로시저는 언제나 변수 지정이나 식의 오른쪽에 사용해야 합니다. 사용 예는 아래와 같습니다.

 Temp = Celsius(fDegrees)
또는
 MsgBox "섭씨 " & Celsius(fDegrees) & "도입니다."
다른 프로시저의 Sub 프로시저를 호출하려면 각각 쉼표로 구분된 필요한 인수들의 값과 함께 프로시저 이름만 입력하면 됩니다. Call 문은 사용할 필요가 없지만, 이를 사용할 경우 인수를 괄호로 묶어야 합니다.

아래 예제에서는 MyProc 프로시저를 두 번 호출합니다. 한 번은 코드 안의 Call 문을 사용하는 대신 다른 한 번은 사용하지 않습니다. 그러나 두 호출 모두 똑같은 작업을 수행합니다.

 Call MyProc(firstarg, secondarg)
 MyProc firstarg, secondarg
Call 문을 사용하지 않을 경우에는 괄호를 생략한다는 점에 유의하십시오.


코딩 규칙

VBScript 코딩 규칙 		VBScript 자습서
이전 페이지
 다음 페이지

코딩 규칙이란?
Microsoft Visual Basic Scripting Edition을 사용하여 코드를 작성하는 데 도움을 주는 제안 사항들입니다. 여기에는 아래 규칙을 포함하고 있습니다.
  • 개체, 변수 및 프로시저의 명명 규칙
  • 주석 작성 규칙
  • 텍스트 서식 및 들여쓰기 지침
일관성있는 코딩 규칙 집합을 사용하는 주된 이유는 스크립트의 구조와 코딩 양식을 표준화하여 모든 사람들이 코드를 쉽게 읽고 이해할 수 있게 하는 것입니다. 코딩 규칙을 사용하면 정확하고 읽기 쉬우며 애매하지 않은, 즉 다른 언어 규칙과 조화를 이루면서 되도록이면 직관적인 원본 코드를 작성할 수 있습니다.
상수 명명 규칙
VBScript의 초기 버전에는 사용자 정의 상수를 만들 수 있는 메커니즘이 없습니다. 그래서 상수를 사용할 경우에는 상수를 변수로 구현하고 모두 대문자만 사용하여 다른 변수와 구별했습니다. 또 밑줄(_)을 사용하여 여러 개의 구성 단어들을 구분했습니다. 사용 예는 아래와 같습니다.
 USER_LIST_MAX
 NEW_LINE
지금도 이 방법을 사용하여 상수를 식별할 수 있지만, 이제는 Const 문을 사용하여 진정한 상수를 만들 수 있으므로 명명 규칙을 택일하여 사용할 수 있습니다. 이 규칙에서는 상수 이름 앞에 "con"이라는 접두사를 붙여서 대/소문자 혼합 형식을 사용합니다. 사용 예는 아래와 같습니다.
 conYourOwnConstant
변수 명명 규칙
읽기 쉽고 일관성있는 변수를 만들려면 VBScript 코드의 설명적인 변수 이름 앞에 아래와 같은 접두사를 사용합니다.

하위 형식 | 접두사 | 예제
Boolean | bln | blnFound
Byte | byt | bytRasterData
Date(Time) | dtm | dtmStart
Double | dbl | dblTolerance
Error | err | errOrderNum
Integer | int | intQuantity
Long | lng | lngDistance
Object | obj | objCurrent
Single | sng | sngAverage
String | str | strFirstName

변수 범위
변수는 언제나 유효한 가장 작은 범위로 정의해야 합니다. VBScript 변수의 범위는 아래와 같습니다.

범위 | 변수 선언 위치 | 가시성
프로시저 수준 | Event, Function 또는 Sub 프로시저 | 변수를 선언한 프로시저 안에서만 볼 수 있습니다.
스크립트 수준 | 프로시저 밖에 있는 HTML 페이지의 HEAD 구역 | 스크립트의 모든 프로시저에서 볼 수 있습니다.

변수 범위 접두사
스크립트의 크기가 커지면 변수의 범위를 빨리 구별할 수 있는 값도 커집니다. 형식 접두사 앞에 단일 문자 범위 접두사를 붙이면 변수 이름을 부당하게 늘리지 않고도 이 효과를 얻을 수 있습니다.

범위 | 접두사 | 예제
프로시저 수준 | 없음 | dblVelocity
스크립트 수준 | s | sblnCalcInProgress

설명적인 변수와 프로시저 이름
변수 이름이나 프로시저 이름의 본체는 대/소문자를 섞어서 사용하며, 그 목적을 설명하는 데 필요한 만큼 완전해야 합니다. 또한 프로시저 이름은 InitNameArray 또는 CloseDialogIn처럼 동사로 시작해야 합니다.

자주 사용하거나 긴 용어는 표준 약어를 사용하여 적당한 길이의 이름을 유지하는 것이 좋습니다. 대개 변수 이름이 32자를 넘으면 읽기가 어렵습니다. 약어를 사용할 경우 전체 스크립트에 걸쳐서 그 일관성을 유지해야 합니다. 예를 들어, 스크립트 안이나 Cnt와 Count를 무작정 사용하면 혼란을 초래할 수 있습니다.

개체 명명 규칙
아래 표는 VBScript를 프로그램하는 동안 만날 수 있는 개체에 대해 권장되는 규칙을 보여줍니다.

개체 형식 | 접두사 | 예제
3D 패널 | pnl | pnlGroup
애니메이션 단추 | ani | aniMailBox
확인란 | chk | chkReadOnly
콤보 상자, 드롭다운 목록 상자 | cbo | cboEnglish
명령 단추 | cmd | cmdExit
일반 대화 상자 | dlg | dlgFileOpen
프레임 | fra | fraLanguage
가로 스크롤 막대 | hsb | hsbVolume
이미지 | img | imgIcon
레이블 | lbl | lblHelpMessage
선 | lin | linVertical
목록 상자 | lst | lstPolicyCodes
스핀 | spn | spnPages
텍스트 상자 | txt | txtLastName
세로 스크롤 막대 | vsb | vsbRate
슬라이더 | sld | sldScale

코드 주석 작성 규칙
모든 프로시저는 수행 작업을 간략히 설명하는 주석으로 시작합니다. 이 설명은 시간이 경과하면서 그 내용이 자주 바뀌어 불필요한 주석 관리 작업이나 더 바람직하지 않은 잘못된 주석을 가져오기 때문에 작업 방법인 구현 관련 세부 사항을 서술하지 않습니다. 코드 자체와 필요한 인라인 주석만으로 그 구현을 설명합니다.

목적이 분명하지 않고 프로시저에서 특정 범위에 놓이는 인수를 요구하면 프로시저에 전달되는 인수를 설명해야 합니다. 특히 참조 인수를 사용하여 프로시저에 의해 바뀐 함수나 변수의 결과 값도 각 프로시저의 시작 부분에서 설명해야 합니다.

프로시저 머리말 주석에는 아래와 같이 구역별 머리글이 필요합니다. 뒤에 나오는 "코드 서식화" 부분을 참조하십시오.

구역 머리글 | 주석 내용
목적 | 프로시저 수행 작업(수행 방법이 아님)
가정 | 그 상태가 해당 프로시저에 영향을 주는 외부 변수, 컨트롤 또는 기타 요소의 목록
결과 | 외부 변수, 컨트롤 또는 기타 요소에서의 프로시저 결과의 목록
입력 | 명확하지 않은 개별 인수에 관한 설명. 각 인수는 인라인 주석과 함께 별도의 줄에 있어야 합니다.
결과 값 | 반환되는 값에 관한 설명

중요 사항

  • 중요한 각 변수의 선언문에는 선언되는 변수의 용도를 설명하는 인라인 주석이 있어야 합니다.
  • 복잡한 구현 세부 사항에만 인라인 주석이 필요하도록 변수, 컨트롤 및 프로시저의 이름을 명확하게 지정해야 합니다.
  • 스크립트 시작 부분에 스크립트, 열거 개체, 프로시저, 알고리즘, 대화 상자 및 기타 시스템 종속성을 설명하는 개요를 포함시킵니다. 때로는 알고리즘을 설명하는 의사 코드도 유용할 수 있습니다.
코드 서식화
코드 서식화에서 논리 구조와 중첩을 끊임없이 반영할 수 있도록 되도록이면 화면 공간을 많이 확보해야 합니다. 여기에는 아래와 같이 몇 가지 지침이 있습니다.
  • 표준 중첩 블록은 4칸을 들여 씁니다.
  • 프로시저의 개요 주석은 1칸을 들여 씁니다.
  • 개요 주석 뒤에 나오는 가장 높은 수준의 명령문은 4칸을 들여 쓰고, 중첩되는 각 블록문은 4칸을 추가로 들여 씁니다. 사용 예는 아래와 같습니다.

 '*********************************************************
 ' 목적:  UserList 배열에서 지정된 사용자가
 '           맨 처음 나타나는 곳을 찾습니다.
 ' 입력:  strUserList():   검색되는 사용자 목록입니다.
 '           strTargetUser:   검색할 사용자 이름입니다.
 ' 결과:  strUserList 배열에서
 '           처음 나타난 strTargetUser에 대한 인덱스입니다.
 '           대상 사용자가 없으면 -1을 반환합니다.
 '*********************************************************

 Function intFindUser (strUserList(), strTargetUser)
     Dim i                     ' 루프 카운터입니다.
     Dim blnFound	       ' 플래그를 찾는 대상입니다.
     intFindUser = -1
     i = 0                     ' 루프 카운터를 초기화합니다.
     Do While i <= Ubound(strUserList) and Not blnFound
         If strUserList(i) = strTargetUser Then
             blnFound = True   ' 플래그를 True로 지정합니다.
             intFindUser = i   ' 결과 값을 루프 횟수로 지정합니다.
         End If
         i = i + 1             ' 루프 카운터를 증가시킵니다.
     Loop
 End Function


조건문 사용

조건문 사용 		VBScript 자습서
이전 페이지
다음 페이지

프로그램 실행 제어
조건문과 루프 처리문으로 스크립트의 흐름을 제어할 수 있습니다. 또한 조건문을 사용하면 동작을 결정하여 반복하는 VBScript 코드를 작성할 수도 있습니다. VBScript에서는 아래 조건문을 사용할 수 있습니다.
  • If...Then...Else 문
  • Select Case 문
If...Then...Else 문에 의한 결정
If...Then...Else 문은 조건문이 True 또는 False인지를 평가하고 그 결과에 따라 둘 이상의 명령문을 실행합니다. 대개 조건문은 비교 연산자를 사용하여 값이나 변수를 서로 비교하는 식입니다. 비교 연산자에 관한 정보는 비교 연산자를 참조하십시오. If...Then...Else 문은 필요한 만큼 중첩할 수 있습니다.

조건문이 True인 경우 명령문 실행
조건문이 True일 때 하나의 명령문만 실행하려면 If...Then...Else 문의 단일 줄 구문을 사용합니다. 아래 예제에서는 단일 줄 구문을 보여주지만 Else 키워드를 생략하고 있음에 유의하십시오.
 Sub FixDate()
     Dim myDate
     myDate = #2/13/95#
     If myDate < Now Then myDate = Now
 End Sub
두 줄 이상의 코드를 실행하려면 여러 줄(또는 블록) 구문을 사용해야 합니다. 이 구문은 아래 예제에서처럼 End If 문을 포함합니다.
 Sub AlertUser(value)
     If value = 0 Then
         AlertLabel.ForeColor = vbRed
         AlertLabel.Font.Bold = True
         AlertLabel.Font.Italic = True
     End If
 End Sub
조건문이 True인 경우와 False인 경우에 서로 다른 명령문 실행
If...Then...Else 문을 사용하면 실행할 수 있는 2개의 블록문을 정의할 수 있습니다. 즉 조건문이 True일 때 한 블록문을, False일 때 다른 블록문을 실행합니다.
 Sub AlertUser(value)
     If value = 0 Then
         AlertLabel.ForeColor = vbRed
         AlertLabel.Font.Bold = True
         AlertLabel.Font.Italic = True
     Else
         AlertLabel.Forecolor = vbBlack
         AlertLabel.Font.Bold = False
         AlertLabel.Font.Italic = False
     End If
 End Sub
여러 대안 중에서 결정
If...Then...Else 문을 변형하면 여러 대안 중에서 선택할 수 있습니다. ElseIf절을 추가하면 If...Then...Else 문의 기능을 확장하여 여러 가지 다른 가능성(확률)을 기준으로 프로그램 흐름을 제어할 수 있습니다. 사용 예는 아래와 같습니다.
 Sub ReportValue(value)
     If value = 0 Then
         MsgBox value
     ElseIf value = 1 Then
         MsgBox value
     ElseIf value = 2 then
         Msgbox value
     Else
         Msgbox "허용 범위를 벗어난 값입니다!"
     End If
선택적인 대안을 제공할 필요가 있는 만큼 ElseIf 절을 추가할 수 있습니다. ElseIf절을 너무 많이 사용하면 가끔 작업이 번거로워집니다. 여러 대안에서 선택할 경우에는 Select Case 문을 사용하는 것이 가장 좋습니다.
Select Case 문에 의한 결정
Select Case 구조는 여러 블록문에서 선택적으로 하나를 실행하는 If...Then...ElseIf 문에 대한 대안을 제공합니다. Select Case 문은 If...Then...Else 문과 비슷한 기능을 제공하지만, 더 효율적이고 읽기 쉬운 코드를 작성합니다.

Select Case 구조는 해당 구조의 맨 앞에서 한 번만 평가되는 테스트 식 하나로 작동합니다. 그런 다음 그 식의 결과 값과 구조에 있는 각 Case의 값을 비교합니다. 서로 일치하면 해당 Case와 연관된 블록문을 실행합니다.

 Select Case Document.Form1.CardType.Options(SelectedIndex).Text
    Case "MasterCard"
        DisplayMCLogo
        ValidateMCAccount
    Case "Visa"
        DisplayVisaLogo
        ValidateVisaAccount
    Case "American Express"
        DisplayAMEXCOLogo
        ValidateAMEXCOAccount
    Case Else
        DisplayUnknownImage
        PromptAgain
End Select
Select Case 구조는 구조의 맨 앞에 있는 식을 한 번만 평가하지만, If...Then...ElseIf 구조는 각 ElseIf 문에 대한 서로 다른 식을 평가합니다. 각각의 ElseIf 문이 동일한 식을 평가할 경우에만 If...Then...ElseIf 구조를 Select Case 구조로 대체할 수 있습니다.


코드에 의한 루프 처리

코드에 의한 루프 처리 		VBScript 자습서
이전 페이지
다음 페이지

루프를 사용한 코드 반복 실행
루프를 사용하면 일단의 문들을 반복하여 실행할 수 있습니다. 루프에 따라서 조건문이 False가 될 때까지 또는 True가 될 때까지 문을 반복하여 실행합니다. 또 문을 특정 횟수만큼 반복하여 실행하는 루프도 있습니다.

VBScript에서 사용할 수 있는 루프문은 아래와 같습니다.

  • Do...Loop: 조건문이 True가 될 때까지 또는 True인 동안 반복 실행합니다.
  • While...Wend: 조건문이 True인 동안 반복 실행합니다.
  • For...Next: 카운터를 사용하여 지정한 횟수만큼 문을 반복 실행합니다.
  • For Each...Next: 컬렉션의 각 항목이나 배열의 각 요소에 따라서 일단의 문을 반복 실행합니다.
Do Loop 문 사용
Do...Loop 문을 사용하면 한 블록의 문을 무한하게 실행할 수 있습니다. 조건문이 True인 동안 또는 True가 될 때까지 문을 반복합니다.
조건문이 True인 동안 문을 반복 실행
While 키워드를 사용하여 Do...Loop 문의 조건을 검사합니다. 아래 ChkFirstWhile 예제처럼 루프로 들어 가기 전에 또는 ChkLastWhile 예제처럼 루프를 적어도 한 번 실행한 후에 조건을 검사할 수 있습니다. ChkFirstWhile 프로시저에서는 myNum을 20 대신에 9로 지정하면 루프 안에 있는 문은 결코 실행되지 않지만, ChkLastWhile 프로시저에서는 해당 조건이 이미 False이므로 루프 안에 있는 문이 한 번만 실행됩니다.
 Sub ChkFirstWhile()
     Dim counter, myNum
     counter = 0
     myNum = 20
     Do While myNum > 10
         myNum = myNum - 1
         counter = counter + 1
     Loop
     MsgBox "루프를 " & counter & "번 반복하였습니다."
 End Sub

 Sub ChkLastWhile()
     Dim counter, myNum
     counter = 0
     myNum = 9
     Do
         myNum = myNum - 1
         counter = counter + 1
     Loop While myNum > 10
     MsgBox "루프를 " & counter & "번 반복하였습니다."
 End Sub
조건이 True가 될 때까지 문을 반복 실행
두 가지 방식으로 Until 키워드를 사용하여 Do...Loop 문의 조건을 검사합니다. 아래 ChkFirstUntil 예제처럼 루프로 들어 가기 전에 또는 ChkLastUntil 예제처럼 루프를 적어도 한 번 실행한 다음 조건을 검사할 수 있습니다. 조건이 False인 동안 반복 실행됩니다.
 Sub ChkFirstUntil()
     Dim counter, myNum
     counter = 0
     myNum = 20
     Do Until myNum = 10
         myNum = myNum - 1
         counter = counter + 1
     Loop
     MsgBox "루프를 " & counter & "번 반복하였습니다."
 End Sub

 Sub ChkLastUntil()
     Dim counter, myNum
     counter = 0
     myNum = 1
     Do
         myNum = myNum + 1
         counter = counter + 1
     Loop Until myNum = 10
     MsgBox "루프를 " & counter & "번 반복하였습니다."
 End Sub
루프 안에서 Do...Loop 문 끝내기
Exit Do 문을 사용하여 Do...Loop 문을 빠져 나갈 수 있습니다. 무한 루프를 피하는 것처럼 대개 어떤 상황에서만 빠져 나가려고 하므로 Exit Do 문은 If...Then...Else 문의 True 블록문에서 사용해야 합니다. 조건문이 False인 동안에는 루프를 변함없이 실행합니다.

아래 예제에서 myNum은 무한 루프를 만드는 값으로 지정되었습니다. If...Then...Else 문은 이 조건을 검사하여 무한하게 반복하여 실행하지 않도록 합니다.

 Sub ExitExample()
     Dim counter, myNum
     counter = 0
     myNum = 9
     Do Until myNum = 10
         myNum = myNum - 1
         counter = counter + 1
         If myNum < 10 Then Exit Do
     Loop
     MsgBox "루프는 " & counter & "번 반복하였습니다."
 End Sub
While...Wend 문 사용
VBScript에서는 그 사용에 익숙한 사용자를 위해 While...Wend 문을 제공하고 있습니다. 그러나 While...Wend 문은 유연성이 부족하므로 그 대신 Do...Loop 문을 사용하는 것이 좋습니다.
For...Next 문 사용
For...Next 문을 사용하면 특정 횟수만큼 한 블록의 문을 실행할 수 있습니다. For 루프는 루프를 반복할 때마다 그 값이 증감하는 카운터 변수를 사용합니다.

예를 들어, 아래 프로시저는 MyProc 프로시저를 50회 반복하도록 합니다. For 문에서 카운터 변수 x와 그 시작과 끝 값을 지정합니다. Next 문에서는 카운터 변수의 값을 하나씩 증가시킵니다.

 Sub DoMyProc50Times()
     Dim x
     For x = 1 To 50
         MyProc
     Next
 End Sub
Step 키워드를 사용하면 카운터 변수 값을 지정한 값만큼씩 증감시킬 수 있습니다. 아래 예제에서 루프를 한 번씩 반복할 때마다 카운터 변수 j는 2만큼씩 증가합니다. 루프를 마쳤을 때 total의 값은 2, 4, 6, 8, 10의 합이 됩니다.
 Sub TwosTotal()
     Dim j, total
     For j = 2 To 10 Step 2
         total = total + j
     Next
     MsgBox "총 " & total & "입니다."
 End Sub
카운터 변수의 값을 감소시키려면 음수인 Step 값을 사용합니다. 끝 값을 시작 값보다 작게 지정해야 합니다. 아래 예제에서 루프를 한 번씩 반복할 때마다 카운터 변수 myNum은 2만큼씩 감소합니다. 루프를 마쳤을 때 total의 값은 16, 14, 12, 10, 8, 6, 4 , 2의 합이 됩니다.

 Sub NewTotal()
     Dim myNum, total
     For myNum = 16 To 2 Step -2
         total = total + myNum
     Next
     MsgBox "총 " & total & "입니다."
 End Sub
Exit For 문을 사용하면 카운터 변수가 끝 값에 도달하기 전에 For...Next 문을 빠져 나갈 수 있습니다. 대개 오류가 발생하는 것처럼 어떤 특정 상황에서 루프를 빠져 나가려고 하므로 Exit For 문은 If...Then...Else 문의 True 블록문에서 사용해야 합니다. 조건문이 False인 동안에는 루프를 변함없이 실행합니다.

For Each...Next 문 사용
For Each...Next 루프는 For...Next 루프와 비슷합니다. 지정한 횟수만큼 문을 반복 실행하는 대신 For Each...Next 루프는 컬렉션의 각 항목이나 배열의 각 요소에 따라서 문을 반복하여 실행합니다. 컬렉션의 요소 개수를 알 수 없는 경우에 특히 유용합니다.

아래 HTML 코드 예제에서는 Dictionary 개체의 내용이 여러 개의 입력란의 텍스트를 채우는 데 사용됩니다.

 <HTML>
 <HEAD><TITLE>폼과 요소</TITLE></HEAD>
 <SCRIPT LANGUAGE="VBScript">
 <!--
 Sub cmdChange_OnClick
    Dim d                   '변수를 작성합니다.
    Set d = CreateObject("Scripting.Dictionary")
    d.Add "0", "Athens"     '키와 항목을 추가합니다.
    d.Add "1", "Belgrade"
    d.Add "2", "Cairo"

    For Each I in d
        Document.frmForm.Elements(I).Value = D.Item(I)
    Next
 End Sub
 -->
 </SCRIPT>
 <BODY>
 <CENTER>
 <FORM NAME="frmForm"

 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Button" NAME="cmdChange" VALUE="여기를 누르십시오."><p>
 </FORM>
 </CENTER>
 </BODY>
 </HTML>


VBScript와 폼

VBScript와 폼 		VBScript 자습서
이전 페이지
다음 페이지

간단한 입력값 확인
Visual Basic Scripting을 사용하면 서버에서 일상적으로 수행해야 하는 많은 폼 처리 작업을 수행할 수 있는 한편 서버에서는 수행될 수 없는 작업도 처리할 수 있습니다.

클라이언트 쪽의 간단한 확인 예제를 아래에서 보여줍니다. 텍스트 상자와 단추에 대한 HTML 코드입니다. Microsoft® Internet Explorer를 통해 아래 코드로 작성한 페이지를 보면 조그만 텍스트 상자와 그 옆에 있는 단추를 볼 수 있습니다.

<HTML>
<HEAD><TITLE>간단한 입력값 확인</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Submit_OnClick
  Dim TheForm
  Set TheForm = Document.ValidForm
  If IsNumeric(TheForm.Text1.Value) Then
    If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
      MsgBox "1부터 10사이의 값을 하나 입력하십시오."
    Else
      MsgBox "감사합니다."
    End If
  Else
    MsgBox "숫자 값을 입력하십시오."
  End If
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>간단한 입력값 확인</H3><HR>
<FORM NAME="ValidForm">
1부터 10사이의 값 입력:
<INPUT NAME="Text1" TYPE="TEXT" SIZE="2">
<INPUT NAME="Submit" TYPE="BUTTON" VALUE="제출">
</FORM>
</BODY>
</HTML>
이 텍스트 상자와 간단한 VBScript 페이지의 예제 사이의 차이점은 텍스트 상자의 Value 속성이 입력된 값을 확인하는 데 사용된다는 점입니다. Value 속성을 갖게 하려면 해당 코드에서 텍스트 상자 이름에 대한 참조를 규정해야 합니다.

언제나 완전한 참조를 Document.ValidForm.Text1로 작성할 수 있습니다. 그러나 폼 컨트롤에 대해 복수 참조를 하는 경우 위의 방법을 여기서도 사용할 수 있습니다. 다시 말하자면 먼저 변수를 선언한 다음, Set 문을 사용하여 폼을 TheForm 변수로 지정합니다. Dim 문과 같은 일반적인 지정 명령문은 사용할 수 없습니다. 대신 Set 문을 사용하여 개체에 대한 참조를 보존해야 합니다.

숫자 값 사용
아래 예제는 숫자에 대한 값을 직접 검사합니다. 즉, IsNumeric 함수를 사용하여 텍스트 상자의 문자열이 숫자인지 확인합니다. VBScript에서 문자열과 숫자를 자동으로 변환하지만, 항상 사용자가 입력한 값의 데이터 하위 형식을 검사하고 필요한 경우 변환 함수를 사용하는 것이 좋습니다. 덧셈 기호(+) 연산자는 덧셈과 문자열 연결의 양쪽에서 사용할 수 있으므로 텍스트 상자에서 덧셈을 수행할 경우 값을 숫자로 명시적으로 변환해야 합니다. 예를 들어, Text1에 "1"이 있고 Text2에 "2"가 있으면 그 결과는 아래와 같습니다.
A = Text1.Value + Text2.Value		' A는 "12"입니다.
A = CDbl(Text1.Value) + Text2.Value	' A는 3입니다.
데이터 확인 및 서버로 전달
위의 간단한 확인 예제에서는 일반 단추 컨트롤을 사용합니다. Submit 컨트롤을 사용했으면 이 예제는 데이터를 확인하지 않고 서버로 모든 데이터를 즉시 전달합니다. Submit 컨트롤을 사용하지 않으면 데이터를 확인할 수는 있지만 데이터를 서버로 보내지 않습니다. 데이터를 서버로 보내려면 아래 코드와 같은 줄이 추가로 필요합니다.
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Submit_OnClick
  Dim TheForm
  Set TheForm = Document.ValidForm
  If IsNumeric(TheForm.Text1.Value) Then
    If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
      MsgBox "1부터 10사이의 값을 하나 입력하십시오."
    Else
      MsgBox "감사합니다."
      TheForm.Submit	' 유효한 데이터이며, 서버로 보냅니다.
    End If
  Else
    MsgBox "숫자 값을 입력하십시오."
  End If
End Sub
-->
</SCRIPT>
데이터가 유효하면 데이터를 서버로 보내기 위해 코드가 폼 개체에 대해 Submit 메서드를 호출합니다. 이미 데이터의 유효성이 입증된 상태에서 서버로 보내진다는 점을 제외하고는 다른 것과 마찬가지로 서버가 데이터를 처리합니다. Submit 메서드와 기타 메서드에 관한 자세한 정보는 Internet Explorer Scripting Object Model 설명서를 참조하십시오. Microsoft® 웹 사이트(http://www.microsoft.com)에서 찾을 수 있습니다.

지금까지는 일반적인 HTML <FORM> 개체만 살펴 보았습니다. 그러나 Internet Explorer에서는 이전에 OLE 컨트롤이라고 한 ActiveX™ 컨트롤과 Java™ 개체를 만족스럽게 활용할 수 있습니다.


간단한 VBScript 페이지

간단한 VBScript 페이지 		VBScript 자습서
이전 페이지
다음 페이지

간단한 페이지
Microsoft® Internet Explorer를 통해 아래 HTML 코드로 작성한 페이지를 볼 수 있습니다. 이 페이지의 단추를 누르면 VBScript가 작동합니다.
<HTML>
<HEAD><TITLE>초보 단계의 간단한 페이지</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Button1_OnClick
        MsgBox "참으로 놀라운 경치입니다!"
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>초보 단계의 간단한 페이지</H3><HR>
<FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="여기를 누르십시오."></FORM>
</BODY>
</HTML>
대화 상자에서 "참으로 놀라운 경치입니다!"라는 문구가 나타나서 약간 실망스럽겠지만 여기에는 상당한 작업이 진행되고 있습니다.

Internet Explorer에서 이 페이지를 읽어들일 때 <SCRIPT> 태그를 찾아서 VBScript 코드임을 인식한 다음 이를 저장합니다. 단추를 누르면 Internet Explorer에서는 단추와 코드 사이를 연결하여 해당 프로시저를 실행합니다.

<SCRIPT> 태그에 들어 있는 Sub 프로시저는 이벤트 프로시저입니다. 프로시저 이름은 두 부분, 즉 <INPUT> 태그의 NAME 속성에서 도입한 단추 이름 Button1과 이벤트 이름 OnClick으로 구성됩니다 . 이 두 이름은 밑줄(_)로 연결되어 있습니다. 이 단추를 누를 때마다 언제든지 Internet Explorer에서는 해당 이벤트 프로시저인 Button1_OnClick을 찾아 실행합니다.

Internet Explorer에서는 Internet Explorer Scripting Object Model 설명서의 폼 컨트롤에 사용할 수 있는 이벤트를 정의하고 있습니다. Microsoft® 웹 사이트(http://www.microsoft.com)에서 찾을 수 있습니다.

컨트롤과 프로시저의 조합도 페이지에 사용할 수 있습니다. VBScript와 폼 페이지에서 컨트롤 간의 간단한 상호 작용을 보여줍니다.

코드를 이벤트에 덧붙이는 기타 방법
앞에서 설명한 방법이 가장 쉽고 일반적이지만, 아래 두 방법을 사용하여 VBScript 코드를 이벤트에 덧붙일 수 있습니다. Internet Explorer를 통해 컨트롤을 정의하는 태그에 인라인 코드의 짧은 구역을 추가할 수 있습니다. 예를 들어, 단추를 누를 때 아래 <INPUT> 태그는 앞에서 설명한 코드와 동일한 동작을 수행합니다.
<INPUT NAME="Button1" TYPE="BUTTON"
       VALUE="여기를 누르십시오." OnClick='MsgBox "참으로 놀라운 경치입니다!"'>
함수 호출 자체는 단일 인용 부호(')로 묶고, MsgBox 함수의 문자열은 인용 부호(")로 묶습니다. 콜론(:)으로 명령문을 구분하면 여러 개의 명령문을 사용할 수 있습니다.

또한 <SCRIPT> 태그를 작성하여 아래와 같이 특정 컨트롤의 개별적인 이벤트에만 적용할 수 있습니다.

<SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="Button1">
<!--
    MsgBox "참으로 놀라운 경치입니다!."
-->
</SCRIPT>
이미 <SCRIPT> 태그에서 이벤트와 컨트롤을 지정하였으므로 Sub와 End Sub 문을 사용하지 않습니다.


개체와 함께 VBScript 사용

개체와 함께 VBScript 사용 		VBScript 자습서
이전 페이지

개체 사용
이전에 OLE 컨트롤이라고 한 ActiveX® 컨트롤을 사용하든지 또는 Java™ 개체를 사용하든지 간에 Microsoft Visual Basic Scripting Edition과 Microsoft® Internet Explorer에서는 개체를 동일한 방법으로 처리합니다. 현재 Internet Explorer를 사용하고 있고 Label 컨트롤을 시스템에 설치한 경우, 아래 코드로 작성한 페이지를 볼 수 있습니다.

<OBJECT> 태그를 사용하여 개체를 포함시킨 다음 <PARAM> 태그를 사용하여 개체의 초기 속성 값을 지정합니다. Visual Basic 프로그래머라면 <PARAM> 태그 사용이 폼 컨트롤의 초기 속성 지정과 같다는 사실을 알 수 있습니다. 예를 들어, 아래 <OBJECT>와 <PARAM> 태그의 집합에서는 ActiveX Label 컨트롤을 페이지에 추가하고 있습니다.

<OBJECT
    classid="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2"
    id=lblActiveLbl
    width=250
    height=250
    align=left
    hspace=20
    vspace=0
>
<PARAM NAME="Angle" VALUE="90">
<PARAM NAME="Alignment" VALUE="4">
<PARAM NAME="BackStyle" VALUE="0">
<PARAM NAME="Caption" VALUE="종잡을 수 없는 레이블">
<PARAM NAME="FontName" VALUE="굴림">
<PARAM NAME="FontSize" VALUE="20">
<PARAM NAME="FontBold" VALUE="1">
<PARAM NAME="FrColor" VALUE="0">
</OBJECT>
폼 컨트롤을 사용하는 경우와 마찬가지로 속성을 가져오거나 지정하며 메서드를 호출할 수 있습니다. 예를 들어, 아래 코드에서는 Label 컨트롤의 두 속성을 조작하는 데 사용할 수 있는 <FORM> 컨트롤을 포함하고 있습니다.
<FORM NAME="LabelControls">
<INPUT TYPE="TEXT" NAME="txtNewText" SIZE=25>
<INPUT TYPE="BUTTON" NAME="cmdChangeIt" VALUE="텍스트 바꾸기">
<INPUT TYPE="BUTTON" NAME="cmdRotate" VALUE="레이블 회전">
</FORM>
정의한 폼을 사용하여 cmdChangeIt 단추의 이벤트 프로시저는 레이블 텍스트를 바꿉니다.
<SCRIPT LANGUAGE="VBScript">
<!--
Sub cmdChangeIt_onClick
    Dim TheForm
    Set TheForm = Document.LabelControls
    lblActiveLbl.Caption = TheForm.txtNewText.Value
End Sub
-->
</SCRIPT>
이 코드는 간단한 입력값 확인 예제에서처럼 폼 안에 들어 있는 컨트롤과 값에 대한 참조를 규정합니다.

Internet Explorer를 통해 사용되는 여러 ActiveX 컨트롤들을 사용할 수 있습니다. Microsoft® 웹 사이트(http://www.microsoft.com)에서는 컨트롤의 클래스 식별자(CLSID)뿐만 아니라 속성, 메서드 및 이벤트에 관한 자세한 정보를 볼 수 있으며 Internet Explorer 4.0 Author's Guide and HTML Reference 페이지에서는 <OBJECT> 태그에 관한 자세한 정보를 볼 수 있습니다.

메모 Internet Explorer의 초기 버전은 classid 속성을 중괄호({})로 묶어야 했으며 W3C 규정을 준수하지 않았습니다. 현재 릴리즈에서 중괄호를 사용하면 "이 페이지는 이전 버전의 <OBJECT> 태그를 사용하고 있습니다."라는 메시지를 표시합니다.


VBScript 런타임 라이브러리 참조

Scripting 런타임 라이브러리 참조 		언어 참조
버전 정보

개체

메서드

상수

속성

주요 기능

키워드 목록(사전순)

Scripting 런타임 라이브러리 참조 시작하기

이 요약된 내용에는 Scripting 런타임 라이브러리의 여러 구성 요소들이 설명되어 있습니다.

키워드 목록(사전순)에서 알파벳순으로 나열된 Scripting 런타임 라이브러리의 모든 구성 요소를 찾을 수 있습니다. 개체처럼 개별 항목만 살펴보면 각 범주마다 더 세부적인 단원들이 들어 있습니다.

왼쪽의 머리글 중 하나를 누르면 해당 범주에 속하는 항목의 목록을 볼 수 있습니다. 이 목록에서 볼 항목을 선택합니다. 항목을 열면 연관된 다른 절에 쉽게 링크할 수 있습니다.

링크된 곳으로 이동해서 몇 가지 문을 공부하고, 메서드나 몇몇 기능을 살펴 보십시오. Scripting 런타임 라이브러리가 얼마나 다양하게 쓰일 수 있는지를 볼 수 있습니다.

기능 | 설명
Microsoft Scripting 런타임 기능 | 현재 Microsoft Scripting 런타임 라이브러리에서 사용할 수 있는 기능 목록
언어 요소 | 설명
Add 메서드(Dictionary) | Dictionary 개체에 키와 항목 쌍을 추가합니다.
Add 메서드(Folders) | Folders 컬렉션에 새 Folder를 추가합니다.
AtEndOfLine 속성 | TextStream파일에서 EOL 표식 바로 앞에 파일 포인터가 나오면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
AtEndOfStream 속성 | 파일 포인터가 TextStream 파일의 마지막에 도달하면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
Attributes 속성 | 파일 또는 폴더의 속성을 설정하거나 반환합니다.
AvailableSpace 속성 | 지정된 드라이브나 공유 네트워크에서 사용자가 쓸 수 있는 공간의 크기를 반환합니다.
BuildPath 메서드 | 기존 경로에 이름을 추가합니다.
Close 메서드 | 열려 있는 TextStream 파일을 닫습니다.
Column 속성 | TextStream 파일에서 현재 문자 위치의 열 번호를 반환합니다.
CompareMode 속성 | Dictionary 개체의 비교 문자열 키에 대한 비교 모드를 설정하고 반환합니다.
Copy 메서드 | 지정된 파일이나 폴더를 한 장소에서 다른 장소로 복사합니다.
CopyFile 메서드 | 하나 이상의 파일을 한 장소에서 다른 장소로 복사합니다.
CopyFolder 메서드 | 하위 폴더를 포함하여 폴더를 한 장소에서 다른 장소로 복사합니다.
Count 속성 | 컬렉션이나 Dictionary 개체에 있는 항목의 개수를 반환합니다.
CreateFolder 메서드 | 폴더를 만듭니다.
CreateTextFile 메서드 | 지정된 파일 이름을 만들고 파일에 읽고 쓸 수 있는 TextStream 개체를 반환합니다.
DateCreated 속성 | 지정된 파일이나 폴더가 만들어진 날짜 및 시간을 반환합니다.
DateLastAccessed 속성 | 지정된 파일이나 폴더가 마지막으로 액세스된 날짜와 시간을 반환합니다.
DateLastModified 속성 | 지정된 파일이나 폴더가 마지막으로 수정된 날짜와 시간을 반환합니다.
Delete 메서드 | 지정된 파일이나 폴더를 삭제합니다.
DeleteFile 메서드 | 지정된 파일을 삭제합니다.
DeleteFolder 메서드 | 지정된 폴더와 내용을 삭제합니다.
Dictionary 개체 | 데이터 키와 항목 쌍을 저장하는 개체입니다.
Drive 개체 | 특정 디스크 드라이브나 공유 네트워크의 속성을 액세스합니다.
Drive 속성 | 지정된 파일이나 폴더가 있는 드라이브 문자를 반환합니다.
DriveExists 메서드 | 지정된 드라이브가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
DriveLetter 속성 | 물리적 로컬 드라이브나 공유 네트워크의 드라이브 문자를 반환합니다.
Drives 컬렉션 | 사용 가능한 모든 드라이브의 읽기 전용 컬렉션입니다.
Drives 속성 | 로컬 시스템에서 사용 가능한 모든 Drive 개체를 구성하는 Drives 컬렉션을 반환합니다.
드라이브 형식 상수 | 고정 드라이브, 이동식 드라이브, CD-ROM 등과 같이 호스트 컴퓨터에서 사용할 수 있는 여러 드라이브 형식을 정의합니다.
DriveType 속성 | 지정된 드라이브의 종류를 나타내는 값을 반환합니다.
Exists 메서드 | 지정된 키가 Dictionary 개체에 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
파일 특성 상수 | 숨김, 읽기 전용과 같은 여러 파일 특성을 정의합니다.
파일 입/출력 상수 | 파일 입/출력에 사용되는 상수를 정의합니다.
FileExists 메서드 | 지정된 파일이 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
File 개체 | 파일의 모든 속성을 액세스합니다.
Files 컬렉션 | 폴더 안의 모든 File 개체에 대한 컬렉션입니다.
Files 속성 | 숨김 및 시스템 파일 특성 집합을 포함하여 지정된 폴더에 있는 모든 File 개체를 구성하는 Files 컬렉션을 반환합니다.
FileSystemObject 개체 | 컴퓨터 파일 시스템을 액세스합니다.
FileSystemObject 상수 | File System Automation 개체에 대한 상수 목록입니다.
FileSystem 속성 | 지정된 드라이브에서 사용 중인 파일 시스템의 종류를 반환합니다.
Folder 개체 | 폴더의 모든 속성을 액세스합니다.
Folders 컬렉션 | Folder 개체에 있는 모든 Folder 개체의 컬렉션입니다.
FolderExists 메서드 | 지정된 폴더가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
FreeSpace 속성 | 지정된 드라이브나 공유 네트워크에서 사용자가 사용할 수 있는 여유 공간의 크기를 반환합니다.
GetAbsolutePathName 메서드 | 지정된 경로에서 완전하고 명확한 경로를 반환합니다.
GetBaseName 메서드 | 지정된 경로에서 확장명이 없이 파일의 기본 이름만을 포함하는 문자열이나 폴더를 반환합니다.
GetDrive 메서드 | 지정된 경로에 있는 드라이브에 해당하는 Drive 개체를 반환합니다.
GetDriveName 메서드 | 지정된 경로의 드라이브 이름을 포함하는 문자열을 반환합니다.
GetExtensionName 메서드 | 경로의 마지막 구성 요소에 대한 확장명을 포함하는 문자열을 반환합니다.
GetFile 메서드 | 지정된 경로의 파일에 해당하는 File 개체를 반환합니다.
GetFileName 메서드 | 지정된 드라이브의 일부가 아닌 지정된 경로의 마지막 파일 이름이나 폴더를 반환합니다.
GetFolder 메서드 | 지정된 경로에 있는 폴더에 해당하는 Folder 개체를 반환합니다.
GetParentFolderName 메서드 | 지정된 경로에 있는 마지막 파일이나 폴더의 상위 폴더의 이름을 포함하는 문자열을 반환합니다.
GetSpecialFolder 메서드 | 지정된 특정 폴더를 반환합니다.
GetTempName 메서드 | 임의로 생성된 임시 파일이나 폴더 이름을 반환합니다.
IsReady 속성 | 지정된 드라이브가 준비 되었으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
IsRootFolder 속성 | 지정된 폴더가 루트 폴더이면 True를 반환하고 그렇지 않으면 False를 반환합니다.
Item 속성 | Dictionary 개체에 지정된 key에 대한 item을 설정하거나 반환합니다.
Items 메서드 | Dictionary 개체의 모든 항목을 포함하는 배열을 반환합니다.
Key 속성 | Dictionary 개체의 key를 설정합니다.
Keys 메서드 | Dictionary 개체에 존재하는 모든 key를 포함하는 배열을 반환합니다.
Line 속성 | TextStream 파일의 현재 줄 번호를 반환합니다.
Move 메서드 | 지정된 파일이나 폴더를 한 장소에서 다른 장소로 옮깁니다.
MoveFile 메서드 | 하나 이상의 파일을 한 장소에서 다른 장소로 옮깁니다.
MoveFolder 메서드 | 하나 이상의 폴더를 한 장소에서 다른 장소로 옮깁니다.
Name 속성 | 지정된 파일이나 폴더의 이름을 설정하거나 반환합니다.
OpenAsTextStream 메서드 | 지정된 파일을 열고 파일에 읽고 쓰거나 추가할 수 있는 TextStream 개체를 반환합니다.
OpenTextFile 메서드 | 지정된 파일을 열고 파일에 읽고 쓰거나 추가할 수 있는 TextStream 개체를 반환합니다.
ParentFolder 속성 | 지정된 파일이나 폴더의 상위 폴더에 대한 Folder 개체를 반환합니다.
Path 속성 | 지정된 파일이나 폴더 또는 드라이브에 대한 경로를 반환합니다.
Read 메서드 | TextStream 파일에서 지정된 수의 문자를 읽은 다음 결과 문자열을 반환합니다.
ReadAll 메서드 | 전체 TextStream 파일을 읽은 다음 결과 문자열을 반환합니다.
ReadLine 메서드 | TextStream파일에서 줄 바꿈 문자를 제외한 전체 줄을 읽은 다음 결과 문자열을 반환합니다.
Remove 메서드 | Dictionary 개체에서 키와 항목 쌍을 제거합니다.
RemoveAll 메서드 | Dictionary 개체에서 모든 키와 항목 쌍을 제거합니다.
RootFolder 속성 | 지정된 드라이브의 루트 폴더를 나타내는 Folder 개체를 반환합니다.
SerialNumber 속성 | 드라이브 볼륨을 고유하게 식별하는 데 사용하는 10진 일련 번호를 반환합니다.
ShareName 속성 | 지정된 드라이브에 대한 공유 네트워크 이름을 반환합니다.
ShortName 속성 | 8.3 이전 버전의 명명 규칙이 필요한 프로그램에서 사용하는 짧은 이름을 반환합니다.
ShortPath 속성 | 8.3 이전 버전의 명명 규칙이 필요한 프로그램에서 사용하는 짧은 경로를 반환합니다.
Size 속성 | 지정된 파일이나 폴더의 크기를 바이트로 반환합니다.
Skip 메서드 | TextStream 파일을 읽을 때 지정된 수의 문자를 건너 뜁니다.
SkipLine 메서드 | TextStream 파일을 읽을 때 다음 줄을 건너 뜁니다.
SpecialFolder 상수 | 사용자의 운영 체제에서 사용할 수 있는 특정 폴더를 정의합니다.
SubFolders 속성 | 숨김 및 시스템 파일 특성 집합을 포함하여, 지정된 폴더에 있는 모든 폴더를 구성하는 Folders 컬렉션을 반환합니다.
TextStream 개체 | 파일을 연속적으로 액세스합니다.
TotalSize 속성 | 드라이브나 공유 네트워크의 총 공간을 바이트로 반환합니다.
Type 속성 | 파일이나 폴더의 종류에 대한 정보를 반환합니다.
VolumeName 속성 | 지정된 드라이브의 볼륨 이름을 설정하거나 반환합니다.
Write 메서드 | TextStream 파일에 지정된 문자열을 기록합니다.
WriteBlankLines 메서드 | TextStream 파일에 지정된 수의 줄 바꿈 문자를 기록합니다.
WriteLine 메서드 | TextStream 파일에 지정된 문자열과 줄 바꿈 문자를 기록합니다.
언어 요소 | 설명
FileSystemObject 상수 | File System Automation 개체에 대한 상수 목록입니다.
드라이브 형식 상수 | 고정 드라이브, 이동식 드라이브, CD-ROM 등과 같이 호스트 컴퓨터에서 사용할 수 있는 드라이브 형식을 정의합니다.
파일 특성 상수 | 숨김, 읽기 전용 등과 같은 여러 파일 특성을 정의합니다.
특수 폴더 상수 | 사용자의 운영 체제에서 사용할 수 있는 특정 폴더를 정의합니다.
언어 요소 | 설명
Add 메서드(Dictionary) | Dictionary 개체에 키와 항목 쌍을 추가합니다.
Add 메서드(Folder) | Folders 컬렉션에 새 Folder를 추가합니다.
BuildPath 메서드 | 기존 경로에 이름을 추가합니다.
Close 메서드 | 열려 있는 TextStream 파일을 닫습니다.
Copy 메서드 | 지정된 파일이나 폴더를 한 장소에서 다른 장소로 복사합니다.
CopyFile 메서드 | 하나 이상의 파일을 한 장소에서 다른 장소로 복사합니다.
CopyFolder 메서드 | 하위 폴더를 포함하여 폴더를 한 장소에서 다른 장소로 복사합니다.
CreateFolder 메서드 | 폴더를 만듭니다.
CreateTextFile 메서드 | 지정된 파일 이름을 만들고 파일에 읽고 쓸 수 있는 TextStream 개체를 반환합니다.
Delete 메서드 | 지정된 파일이나 폴더를 삭제합니다.
DeleteFile 메서드 | 지정된 파일을 삭제합니다.
DeleteFolder 메서드 | 지정된 폴더와 내용을 삭제합니다.
DriveExists 메서드 | 지정된 드라이브가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
Exists 메서드 | 지정된 키가 Dictionary 개체에 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
FileExists 메서드 | 지정된 파일이 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
FolderExists 메서드 | 지정된 폴더가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
GetAbsolutePathName 메서드 | 지정된 경로에서 완전하고 명확한 경로를 반환합니다.
GetBaseName 메서드 | 지정된 경로에서 확장명이 없이 파일의 기본 이름만을 포함하는 문자열이나 폴더를 반환합니다.
GetDrive 메서드 | 지정된 경로에 있는 드라이브에 해당하는 Drive 개체를 반환합니다.
GetDriveName 메서드 | 지정된 경로의 드라이브 이름을 포함하는 문자열을 반환합니다.
GetExtensionName 메서드 | 경로의 마지막 구성 요소에 대한 확장명을 포함하는 문자열을 반환합니다.
GetFile 메서드 | 지정된 경로에 있는 파일에 해당하는 File 개체를 반환합니다.
GetFileName 메서드 | 드라이브 지정의 일부가 아닌 지정된 경로의 마지막 파일 이름이나 폴더를 반환합니다.
GetFolder 메서드 | 지정된 경로에 있는 폴더에 해당하는 Folder 개체를 반환합니다.
GetParentFolderName 메서드 | 지정된 경로에 있는 마지막 파일이나 폴더의 상위 폴더의 이름을 포함하는 문자열을 반환합니다.
GetSpecialFolder 메서드 | 지정된 특정 폴더를 반환합니다.
GetTempName 메서드 | 임의로 생성된 임시 파일이나 폴더 이름을 반환합니다.
Items 메서드 | Dictionary 개체의 모든 항목을 포함하는 배열을 반환합니다.
Keys 메서드 | Dictionary 개체에 있는 모든 key를 포함하는 배열을 반환합니다.
Move 메서드 | 지정된 파일이나 폴더를 한 장소에서 다른 장소로 옮깁니다.
MoveFile 메서드 | 하나 이상의 파일을 한 장소에서 다른 장소로 옮깁니다.
MoveFolder 메서드 | 하나 이상의 폴더를 한 장소에서 다른 장소로 옮깁니다.
OpenAsTextStream 메서드 | 지정된 파일을 열고 파일에 읽고 쓰거나 추가할 수 있는 TextStream 개체를 반환합니다.
OpenTextFile 메서드 | 지정된 파일을 열고 파일에 읽고 쓰거나 추가할 수 있는 TextStream 개체를 반환합니다.
Read 메서드 | TextStream 파일에서 지정된 수의 문자를 읽은 다음 결과 문자열에 반환합니다.
ReadAll 메서드 | 전체 TextStream 파일을 읽은 다음 결과 문자열을 반환합니다.
ReadLine 메서드 | TextStream파일에서 줄 바꿈 문자를 제외한 전체 줄을 읽은 다음 결과 문자열을 반환합니다.
Remove 메서드 | Dictionary 개체에서 키와 항목 쌍을 제거합니다.
RemoveAll 메서드 | Dictionary 개체에서 모든 키와 항목 쌍을 제거합니다.
Skip 메서드 | TextStream 파일을 읽을 때 지정된 수의 문자를 건너 뜁니다.
SkipLine 메서드 | TextStream 파일을 읽을 때 다음 줄을 건너 뜁니다.
Write 메서드 | TextStream 파일에 지정된 문자열을 기록합니다.
WriteBlankLines 메서드 | TextStream 파일에 지정된 수의 줄 바꿈 문자를 기록합니다.
WriteLine 메서드 | TextStream 파일에 지정된 문자열과 줄 바꿈 문자를 기록합니다.
언어 요소 | 설명
Dictionary 개체 | 데이터 키와 항목 쌍을 저장하는 개체입니다.
Drive 개체 | 특정 디스크 드라이브나 공유 네트워크의 속성을 액세스합니다.
Drives 컬렉션 | 사용 가능한 모든 드라이브의 읽기 전용 컬렉션입니다.
File 개체 | 파일의 모든 속성을 액세스합니다.
Files 컬렉션 | 폴더 안의 모든 File 개체에 대한 컬렉션입니다.
FileSystemObject 개체 | 컴퓨터 파일 시스템을 액세스합니다.
Folder 개체 | 폴더의 모든 속성을 액세스합니다.
Folders 컬렉션 | Folder 개체에 있는 모든 Folder 개체의 컬렉션입니다.
TextStream 개체 | 파일을 연속적으로 액세스합니다.
언어 요소 | 설명
AtEndOfLine 속성 | TextStream파일에서 EOL 표식 바로 앞에 파일 포인터가 나오면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
AtEndOfStream 속성 | 파일 포인터가 TextStream 파일의 마지막에 도달하면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.
Attributes 속성 | 파일 또는 폴더의 속성을 설정하거나 반환합니다.
AvailableSpace 속성 | 지정된 드라이브나 공유 네트워크에서 사용자가 쓸 수 있는 공간의 크기를 반환합니다.
Column 속성 | TextStream 파일에서 현재 문자의 위치에 대한 열 번호를 반환합니다.
CompareMode 속성 | Dictionary 개체의 비교 문자열 키에 대한 비교 모드를 설정하고 반환합니다.
Count 속성 | 컬렉션이나 Dictionary 개체에 있는 항목의 개수를 반환합니다.
DateCreated 속성 | 지정된 파일이나 폴더가 만들어진 날짜 및 시간을 반환합니다.
DateLastAccessed 속성 | 지정된 파일이나 폴더가 마지막으로 액세스된 날짜와 시간을 반환합니다.
DateLastModified 속성 | 지정된 파일이나 폴더가 마지막으로 수정된 날짜와 시간을 반환합니다.
Drive 속성 | 지정된 파일이나 폴더가 있는 드라이브 문자를 반환합니다.
DriveLetter 속성 | 물리적 로컬 드라이브나 공유 네트워크의 드라이브 문자를 반환합니다.
Drives 속성 | 로컬 시스템에서 사용 가능한 모든 Drive 개체를 구성하는 Drives 컬렉션을 반환합니다.
DriveType 속성 | 지정된 드라이브의 종류를 나타내는 값을 반환합니다.
Files 속성 | 숨김 및 시스템 파일 특성 집합을 포함하여 지정된 폴더에 있는 모든 File 개체를 구성하는 Files 컬렉션을 반환합니다.
FileSystem 속성 | 지정된 드라이브에서 사용 중인 파일 시스템의 종류를 반환합니다.
FreeSpace 속성 | 지정된 드라이브나 공유 네트워크에서 사용자가 쓸 수 있는 사용 가능 공간의 크기를 반환합니다.
IsReady 속성 | 지정된 드라이브가 준비되었으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
IsRootFolder 속성 | 지정된 폴더가 루트 폴더이면 True를 반환하고 그렇지 않으면 False를 반환합니다.
Item 속성 | Dictionary 개체에 지정된 key에 대한 item을 설정하거나 반환합니다.
Key 속성 | Dictionary 개체의 key를 설정합니다.
Line 속성 | TextStream 파일의 현재 줄 번호를 반환합니다.
Name 속성 | 지정된 파일이나 폴더의 이름을 설정하거나 반환합니다.
Number 속성 | 오류를 지정하는 숫자 값을 반환하거나 설정합니다.
ParentFolder 속성 | 지정된 파일이나 폴더의 상위 폴더에 대한 Folder 개체를 반환합니다.
Path 속성 | 지정된 파일이나 폴더 또는 드라이브에 대한 경로를 반환합니다.
RootFolder 속성 | 지정된 드라이브의 루트 폴더를 나타내는 Folder 개체를 반환합니다.
SerialNumber 속성 | 드라이브 볼륨을 고유하게 식별하는 데 사용하는 십진 일련 번호를 반환합니다.
ShareName 속성 | 지정된 드라이브에 대한 공유 네트워크 이름을 반환합니다.
ShortName 속성 | 8.3 이전 버전의 명명 규칙이 필요한 프로그램에서 사용하는 약어 이름을 반환합니다.
ShortPath 속성 | 8.3 이전 버전의 명명 규칙이 필요한 프로그램에서 사용하는 약어 경로를 반환합니다.
Size 속성 | 지정된 파일이나 폴더의 크기를 바이트로 반환합니다.
SubFolders 속성 | 숨김 및 시스템 파일 특성 집합을 포함하여, 지정된 폴더에 있는 모든 폴더를 구성하는 Folders 컬렉션을 반환합니다.
TotalSize 속성 | 드라이브나 공유 네트워크의 총 공간을 바이트로 반환합니다.
Type 속성 | 파일이나 폴더의 종류에 대한 정보를 반환합니다.
VolumeName 속성 | 지정된 드라이브의 볼륨 이름을 설정하거나 반환합니다.

ⓒ 1998 Microsoft Corporation. All rights reserved.


개체

개체 		Scripting 런타임 라이브러리 참조
버전 정보

Dictionary 개체
Drive 개체
Drives 컬렉션
File 개체
Files 컬렉션
FileSystemObject 개체
Folder 개체
Folders 컬렉션
TextStream 개체


기능 정보

기능 정보 		Scripting 런타임 라이브러리 참조
버전 정보

Microsoft Scripting 런타임 라이브러리 기능


메서드

메서드 		Sripting 런타임 라이브러리 참조
버전 정보

Add 메서드(Dictionary)
Add 메서드(Folders)
BuildPath 메서드
Close 메서드
Copy 메서드
CopyFile 메서드
CopyFolder 메서드
CreateFolder 메서드
CreateTextFile 메서드
Delete 메서드
DeleteFile 메서드
DeleteFolder 메서드
DriveExists 메서드
Exists 메서드
FileExists 메서드
FolderExists 메서드
GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드
Items 메서드
Keys 메서드
Move 메서드
MoveFile 메서드
MoveFolder 메서드
OpenAsTextStream 메서드
OpenTextFile 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Remove 메서드
RemoveAll 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteBlankLines 메서드
WriteLine 메서드


상수

상수 		Scripting 런타임 라이브러리 참조
버전 정보

FileSystemObject 상수
SpecialFolder 상수
드라이브 형식 상수
파일 특성 상수
파일 입/출력 상수


속성

속성 		Scripting 런타임 라이브러리 참조
버전 정보

AtEndOfLine 속성
AtEndOfStream 속성
Attributes 속성
AvailableSpace 속성
Column 속성
CompareMode 속성
Count 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
DriveLetter 속성
Drives 속성
DriveType 속성
Files 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
IsRootFolder 속성
Item 속성
Key 속성
Line 속성
Name 속성
ParentFolder 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
TotalSize 속성
Type 속성
VolumeName 속성


사전순 키워드 목록

키워드 목록(사전순) 		Scripting 런타임 라이브러리 참조
버전 정보

Add 메서드(Dictionary)
Add 메서드(Folders)
AtEndOfLine 속성
AtEndOfStream 속성
Attributes 속성
AvailableSpace 속성
BuildPath 메서드
Close 메서드
Column 속성
CompareMode 속성
Copy 메서드
CopyFile 메서드
CopyFolder 메서드
Count 속성
CreateFolder 메서드
CreateTextFile 메서드
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Delete 메서드
DeleteFile 메서드
DeleteFolder 메서드
Dictionary 개체
Drive 개체
Drive 속성
DriveExists 메서드
DriveLetter 속성
Drives 컬렉션
Drives 속성
DriveType 속성
Exists 메서드
FileExists 메서드
File 개체
Files 컬렉션
Files 속성
FileSystemObject 상수
FileSystemObject 개체
FileSystem 속성
Folder 개체
Folders 컬렉션
FolderExists 메서드
FreeSpace 속성
GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드
IsReady 속성
IsRootFolder 속성
Item 속성
Items 메서드
Key 속성
Keys 메서드
Line 속성
Move 메서드
MoveFile 메서드
MoveFolder 메서드
Name 속성
OpenAsTextStream 메서드
OpenTextFile 메서드
ParentFolder 속성
Path 속성
Read 메서드
ReadAll 메서드
ReadLine 메서드
Remove 메서드
RemoveAll 메서드
RootFolder 속성
SerialNumber 속성
ShareName 속성
ShortName 속성
ShortPath 속성
Size 속성
Skip 메서드
SkipLine 메서드
SpecialFolder 상수
Subfolders 속성
TextStream 개체
TotalSize 속성
Type 속성
VolumeName 속성
Write 메서드
WriteBlankLines 메서드
WriteLine 메서드
드라이브 형식 상수
파일 특성 상수
파일 입/출력 상수


JScript 자습서

FileSystemObject 개체 자습서
 Scripting 런타임 라이브러리 참조


Microsoft® Scripting 라이브러리 - FileSystemObject 개체

Microsoft® Scripting Library - FileSystemObject
FileSystemObject 개체 모델
 다음

Active Server Pages, Windows Scripting Host 또는 스크립트를 사용할 수 있는 다른 응용 프로그램에서 스크립트를 쓸 때에는 웹 서버 상에서 폴더(디렉터리)와 파일을 만들고 추가, 이동, 변경, 삭제하는 일이 중요합니다. 웹 서버에 연결된 드라이브에 관한 정보를 얻고 해당 드라이브를 조작하는 일이 필요한 경우도 많습니다.

스크립트를 사용하면 아래 부분에 설명되어 있는 FileSystemObject(FSO) 개체 모델을 사용하여 드라이브, 폴더, 파일을 처리할 수 있습니다.

  • FileSystemObject 및
    Scripting 런타임 라이브러리 참조 개요

  • FileSystemObject 개체

  • FileSystemObject 프로그래밍

  • 드라이브와 폴더 작업

  • 파일 작업

  • FileSystemObject 예제 코드


Microsoft® Scripting 라이브러리- FileSystemObject 및 Scripting 런타임 라이브러리 참조

Microsoft® Scripting Library - FileSystemObject
FileSystemObject 및
Scripting 런타임 라이브러리
참조
 이전
다음

FileSystemObject(FSO) 개체 모델을 사용하면 폴더와 파일 처리에 사용할 수 있는 풍부한 속성, 메서드, 이벤트와 더불어 잘 알고 있는 object.method 구문을 사용할 수 있습니다.

이 개체 기반 도구는 아래의 도구들과 함께 사용합니다.
  • 웹 페이지를 만드는 HTML

  • Microsoft Windows용 일괄 처리 파일을 만드는 Windows Scripting Host

  • 다른 언어로 개발한 응용 프로그램에 스크립트 사용 기능을 제공하는 Script Control

클라이언트 쪽에서 FSO를 사용하면 클라이언트의 로컬 파일 시스템에 원하지 않는 액세스가 이루어지는 심각한 보안 문제가 발생할 수 있기 때문에 이 설명서에서는 스크립트를 만드는 데에 사용하는 FSO 개체 모델을 서버 쪽에서 실행하는 것으로 가정합니다. 사용하는 것이 서버 쪽이기 때문에 Internet Explorer 기본 보안 설정에서는 FileSystemObject 개체의 클라이언트 쪽 사용을 허용하지 않습니다. 그런 기본값을 무시하고 로컬 컴퓨터가 파일 시스템에 원치 않는 액세스를 하면 파일 시스템 무결성 손상, 데이터 소실 등을 일으킬 수 있습니다.

The FSO 개체 모델을 사용하면 서버 응용 프로그램에서 폴더를 만들고 변경, 이동, 삭제하거나 특정 폴더의 존재 여부와 위치를 검색할 수 있습니다. 또, 이름이나 만든 날짜, 마지막으로 수정한 날짜 등 폴더에 관한 정보를 찾을 수도 있습니다.

FSO 개체 모델을 사용하면 파일을 더 쉽게 처리할 수 있습니다. 파일을 처리할 때의 주된 목표는 공간과 리소스를 효율적으로 사용하며 액세스하기 쉬운 형식으로 데이터를 저장하는 것입니다. 사용자는 파일을 만들고, 데이터를 삽입, 변경, 출력할 수 있어야 합니다. 데이터를 Access나 SQL Server 등의 데이터베이스에 저장하면 응용 프로그램에 상당한 양의 오버헤드를 추가하기 때문에 데이터는 이진 형식이나 텍스트 형식으로 저장하는 것이 가장 효율적입니다. 사용자가 이런 오버헤드를 피할 수도 있고, 데이터에서 기능을 모두 갖춘 데이터베이스에 연결된 추가 기능을 요청하지 않을 수도 있습니다.

Scripting 형식 라이브러리(Scrrun.dll)에 포함되어 있는 FSO 개체 모델은 TextStream 개체를 통한 텍스트 파일 만들기와 조작 기능을 지원합니다. 현재는 이진 파일 만들기와 조작 기능을 지원하지 않지만, 이진 파일 지원이 계획되어 있습니다.


FileSystemObject 개체

Microsoft® Scripting Library - FileSystemObject
FileSystemObject 개체
 이전
다음

FileSystemObject(FSO) 개체 모델에는 아래 개체와 컬렉션이 포함됩니다.

개체/컬렉션 | 설명
FileSystemObject | 주 개체입니다. 드라이브, 폴더 및 파일에 관한 정보를 만들고, 삭제하고, 확보하게 해 줄 뿐만 아니라 일반적으로 드라이브, 폴더 및 파일을 조작하게 해 주는 메서드와 속성이 포함되어 있습니다. 이 개체에 연결되어 있는 많은 메서드들은 다른 FSO 개체에 매서드를 복사합니다. 이런 메서드는 사용의 편의를 위해 마련된 것입니다.
Drive | 개체입니다. 공유 이름과 사용할 수 있는 공간 크기 등 시스템에 연결된 드라이브에 관한 정보를 얻을 수 있는 메서드와 속성이 포함되어 있습니다. "드라이브"가 꼭 하드 디스크를 의미하는 것은 아니고, CD-ROM이나 RAM 디스크 등도 드라이브에 해당될 수 있습니다. 드라이브가 실제로 시스템에 연결되어 있을 필요는 없습니다. 네트워크를 통해 논리적으로 연결되어 있어도 좋습니다.
Drives | 컬렉션입니다. 실제로 또는 논리적으로 시스템에 연결되어 있는 드라이브 목록을 제공합니다. Drives 컬렉션에는 모든 드라이브가 형식에 관계없이 포함됩니다. 이동식 매체 드라이브는 매체가 삽입되어 있지 않더라도 이 컬렉션에 나타납니다.
File | 개체입니다. 파일을 만들거나 삭제, 이동하는 데에 사용하는 메서드와 속성이 포함되어 있습니다. 또한 시스템 쿼리를 통해 파일 이름, 경로, 기타 다양한 속성을 얻을 수 있도록 합니다.
Files | 컬렉션입니다. 폴더에 포함되어 있는 모든 파일 목록을 제공합니다.
Folder | 개체입니다. 폴더를 만들거나 삭제, 이동하는 데에 사용하는 메서드와 속성이 포함되어 있습니다. 또, 시스템 쿼리를 통해 폴더 이름, 경로, 기타 다양한 속성을 얻을 수 있도록 합니다.
Folders | 컬렉션입니다. Folder에 있는 모든 폴더 목록을 제공합니다.
TextStream | 개체입니다. 텍스트 파일을 읽고 쓸 수 있도록 합니다.


FileSystemObject 프로그래밍

Microsoft® Scripting Library - FileSystemObject
FileSystemObject 프로그래밍
 이전
다음

FileSystemObject(FSO) 개체 모델로 프로그래밍을 하려면

  • CreateObject 메서드를 사용하여 FileSystemObject 개체를 만듭니다.
  • 새로 만든 개체에 적절한 메서드를 사용합니다.
  • 개체 속성에 액세스합니다.
FSO 개체 모델은 Scrrun.dll 파일에 있는 Scripting 형식 라이브러리에 포함되어 있습니다. 따라서 FSO 개체 모델을 사용하려면 웹 서버의 적절한 시스템 디렉터리에 Scrrun.dll이 있어야 합니다.

FileSystemObject 개체 만들기
먼저, CreateObject 메서드를 사용하여 FileSystemObject 개체를 만듭니다. VBScript에서는 아래 코드를 사용하여 FileSystemObject 인스턴스를 만듭니다.

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
예제 코드를 보면 FileSystemObject 인스턴스를 만드는 방법을 알 수 있습니다.

JScript에서는 아래 코드를 사용하여 같은 결과를 얻습니다.

var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
두 예제 모두에서 Scripting은 형식 라이브러리의 이름이고 FileSystemObject는 만들 개체의 이름입니다. 다른 개체를 만드는 횟수와는 관계없이 FileSystemObject 개체 인스턴스는 하나만을 만들 수 있습니다.

적절한 메서드 사용
둘째로, FileSystemObject 개체의 적절한 메서드를 사용합니다. 예를 들어, 새 개체를 만들려면 CreateTextFile과 CreateFolder (FSO 개체 모델에서는 드라이브를 만들거나 삭제하는 기능을 지원하지 않음) 중 하나를 사용합니다.

개체를 삭제하려면 FileSystemObject 개체의 DeleteFile과 DeleteFolder 메서드 또는 File과 Folder 개체의 Delete 메서드를 사용합니다. 적절한 메서드를 사용하면 파일을 복사하거나 이동할 수도 있습니다.

참고 FileSystemObject 개체 모델 기능 중 일부는 중복되어 있습니다. 예를 들어, 파일을 복사할 때에는 FileSystemObject 개체의 CopyFile 메서드를 사용할 수도 있고 File 개체의 Copy 메서드를 사용할 수도 있습니다. 두 메서드는 작동 방식이 완전히 같으며, 두 메서드가 준비되어 있는 것은 프로그래밍의 융통성을 위해서입니다.

기존 드라이브, 파일, 폴더 액세스
기존 드라이브, 파일, 폴더에 액세스하려면 FileSystemObject 개체의 "get" 메서드를 사용합니다.

  • GetDrive
  • GetFolder
  • GetFile
VBScript에서 기존 파일에 액세스하려면 아래와 같이 합니다.

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\test.txt")
JScript에서 같은 일을 하려면 아래 코드를 사용합니다.

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\\test.txt");
"create" 함수는 개체에 대한 핸들을 반환하기 때문에 새로 만든 개체에는 "get" 메서드를 사용하지 않습니다. 예를 들어, CreateFolder 메서드로 새 폴더를 만든 경우에는 GetFolder 메서드로 Name, Path, Size 등의 속성에 액세스하지 않습니다. 새로 만든 폴더의 핸들을 얻으려면 CreateFolder 함수에 변수를 설정한 후 속성, 메서드, 이벤트 등에 액세스합니다. VBScript에서 이 작업을 하려면 아래 코드를 사용합니다.

Sub CreateFolder
  Dim fso, fldr
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set fldr = fso.CreateFolder("C:\MyTest")
  Response.Write "만든 폴더: " & fldr.Name
End Sub
JScript로 CreateFolder 함수에 변수를 설정하려면 아래 구문을 사용합니다.

function CreateFolder()
{
  var fso, fldr;
  fso = ActiveXObject("Scripting.FileSystemObject");
  fldr = fso.CreateFolder("C:\\MyTest");
  Response.Write("만든 폴더: " + fldr.Name);
}
개체 속성 액세스
개체에 대한 핸들을 얻고 나면 속성에 액세스할 수 있습니다. 예를 들어, 특정 폴더의 이름을 얻으려면 먼저 개체 인스턴스를 만든 후 적절한 메서드로 (이 경우에는 폴더가 이미 존재하기 때문에 GetFolder 메서드임) 핸들을 얻습니다.

VBScript로 GetFolder 메서드의 핸들을 얻으려면 아래 코드를 사용합니다.

Set fldr = fso.GetFolder("c:\")

JScript로 같은 결과를 얻으려면 아래 코드를 사용합니다.

var fldr = fso.GetFolder("c:\\");
이제 Folder 개체에 대한 핸들을 얻었기 때문에 Name 속성을 확인할 수 있습니다. VBScript에서 이 속성을 확인하려면 아래 코드를 사용합니다.

Response.Write "폴더 이름: " & fldr.Name
JScript에서 Name 속성을 확인하려면 아래 구문을 사용합니다.

Response.Write("폴더 이름: " + fldr.Name);
VBScript에서 파일을 마지막으로 수정한 시간을 찾으려면 아래 구문을 사용합니다.

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' 쿼리에 사용할 File 개체를 얻습니다.
Set f1 = fso.GetFile("c:\detlog.txt")
' 정보를 인쇄합니다.
Response.Write "마지막으로 파일을 수정한 시간: " & f1.DateLastModified
JScript에서 같은 내용을 찾으려면 아래 코드를 사용합니다.

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 쿼리에 사용할 File 개체를 얻습니다.
f1 = fso.GetFile("c:\\detlog.txt");
// 정보를 인쇄합니다.
Response.Write("마지막으로 파일을 수정한 시간: " + f1.DateLastModified);


FileSystemObject 예제 코드

Microsoft® Scripting Library - FileSystemObject
FileSystemObject
예제 코드
 이전

이 부분에 나와 있는 예제 코드는 FileSystemObject 개체 모델에서 사용할 수 있는 여러 기능을 실제로 적용한 예입니다. 이 코드에서는 개체 모델의 모든 기능을 함께 사용하여 작업하는 방법과 코드 내에서 기능을 효율적으로 사용하는 방법을 보여줍니다.

여기에 있는 코드는 포괄적으로 만들었기 때문에 이 코드를 컴퓨터에서 실행하려면 다른 코드를 추가하고 일부를 변경해야 합니다. Active Server Pages와 Windows Scripting Host 사이에서 사용자에게로 가는 여러 입력 및 출력 처리 방법이 다양하기 때문에 이런 변경은 필수적입니다.

Active Server Pages에서 이 코드를 실행하려면 아래 단계를 사용합니다.

  1. .asp 확장명을 사용하여 표준 웹 페이지를 만듭니다.
  2. 아래 예제 코드를 파일의 <BODY>...</BODY> 태그 사이에 복사합니다.
  3. 코드 전체를 <%...%> 태그로 묶습니다.
  4. Option Explicit 문을 코드 내의 현재 위치에서 HTML 페이지의 상단, <HTML> 태그보다도 위쪽으로 이동합니다.
  5. Option Explicit 문 주위에 <%...%> 태그를 추가하여 이 내용이 서버 쪽에서 실행되도록 합니다.
  6. 아래 코드를 예제 코드 끝에 추가합니다.
Sub Print(x)
  Response.Write "<PRE><FONT FACE=""Courier New"" SIZE=""1"">"
  Response.Write x
  Response.Write "</FONT></PRE>"
End Sub
Main
위의 코드는 서버 쪽에서 실행한 후 결과를 클라이언트 쪽에 표시하는 인쇄 프로시저를 추가합니다. 이 코드를 Windows Scripting Host에서 실행하려면 예제 코드 끝에 아래 코드를 추가합니다.
Sub Print(x)
    WScript.Echo x
End Sub
Main
코드는 다음 부분에 포함되어 있습니다.

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' FileSystemObject 예제 코드
'
' Copyright 1998 Microsoft Corporation.  All Rights Reserved.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 코드 품질 관련 사항
'
' 1) 아래 코드에서는 "&" 연산자로 짧은 문자열을 연결하여 문자열을 조작하는 일이 많습니다.
'    문자열 연결은 리소스가 많이 필요한 작업이기 때문에 문자열 연결을 사용하여 코드를 쓰는 것은
'    비효율적인 방법입니다. 하지만 코드 쓰기를 관리하는 데에는 적절합니다. 이 프로그램에서는
'    디스크 동작을 많이 수행할 뿐만 아니라 디스크가 문자열 연결에 필요한 메모리 동작보다는
'    훨씬 느리기 때문에 문자열 연결을 사용하였습니다.
'    이 코드는 설명용 코드이며 제품용 코드가 아님을 명심하십시오.
'
' 2) 선언된 변수 액세스가 선언되지 않은 변수 액세스보다 약간 빠르기 때문에 "Option Explicit"을
'    사용했습니다. 이렇게 하면 DriveTypeCDROM을 DriveTypeCDORM으로 잘못 표시하는
'    경우와 같이 코드에 버그가 포함되는 것을 방지할 수도 있습니다.
'
' 3) 코드를 읽기 쉽도록 만들기 위해 이 코드에는 오류 처리를 포함하지 않았습니다.
'    코드가 일반적인 상황에서 오류를 일으키지 않도록 미리 주의를 기울이기는 했지만 파일 시스템이
'    예기치 않은 결과를 보일 수도 있습니다. 제품 코드에서는 On Error Resume Next와
'    Err 개체를 사용하여 발생할 수 있는 오류를 잡아야 합니다.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 편리한 전역 변수
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim TabStop
Dim NewLine

Const TestDrive = "C"
Const TestFilePath = "C:\Test"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Drive.DriveType에서 반환하는 상수
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const DriveTypeRemovable = 1
Const DriveTypeFixed = 2
Const DriveTypeNetwork = 3
Const DriveTypeCDROM = 4
Const DriveTypeRAMDisk = 5

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' File.Attributes에서 반환하는 상수
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const FileAttrNormal  = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 파일 열기에 필요한 상수
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const OpenFileForReading = 1
Const OpenFileForWriting = 2
Const OpenFileForAppending = 8

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' ShowDriveType
'
' 목적:
'
' Drive 개체의 드라이브 형식을 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - Drive.DriveType
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowDriveType(Drive)

    Dim S

    Select Case Drive.DriveType
    Case DriveTypeRemovable
        S = "이동식"
    Case DriveTypeFixed
        S = "고정식"
    Case DriveTypeNetwork
        S = "네트워크"
    Case DriveTypeCDROM
        S = "CD-ROM"
    Case DriveTypeRAMDisk
        S = "RAM 디스크"
    Case Else
        S = "알 수 없음"
    End Select

    ShowDriveType = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' ShowFileAttr
'
' 목적:
'
' 파일 또는 폴더의 속성을 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - File.Attributes
' - Folder.Attributes
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowFileAttr(File) ' File은 파일 또는 폴더입니다.

    Dim S
      Dim Attr

    Attr = File.Attributes

    If Attr = 0 Then
        ShowFileAttr = "일반"
        Exit Function
    End If

    If Attr And FileAttrDirectory  Then S = S & "디렉터리 "
    If Attr And FileAttrReadOnly   Then S = S & "읽기 전용 "
    If Attr And FileAttrHidden     Then S = S & "숨김 "
    If Attr And FileAttrSystem     Then S = S & "시스템 "
    If Attr And FileAttrVolume     Then S = S & "볼륨 "
    If Attr And FileAttrArchive    Then S = S & "보관 "
    If Attr And FileAttrAlias      Then S = S & "별칭 "
    If Attr And FileAttrCompressed Then S = S & "압축 "

    ShowFileAttr = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateDriveInformation
'
' 목적:
'
' 사용할 수 있는 드라이브의 현재 상태를 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - FileSystemObject.Drives
' - Drives 컬렉션 반복
' - Drives.Count
' - Drive.AvailableSpace
' - Drive.DriveLetter
' - Drive.DriveType
' - Drive.FileSystem
' - Drive.FreeSpace
' - Drive.IsReady
' - Drive.Path
' - Drive.SerialNumber
' - Drive.ShareName
' - Drive.TotalSize
' - Drive.VolumeName
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateDriveInformation(FSO)

    Dim Drives
    Dim Drive
    Dim S

    Set Drives = FSO.Drives

    S = "드라이브 수:" & TabStop & Drives.Count & NewLine & NewLine

    ' 보고서의 첫째 줄을 구성합니다.
    S = S & String(2, TabStop) & "드라이브"
    S = S & String(3, TabStop) & "파일"
    S = S & TabStop & "전체"
    S = S & TabStop & "비어 있음"
    S = S & TabStop & "사용 가능"
    S = S & TabStop & "직렬" & NewLine

    ' 보고서의 둘째 줄을 구성합니다.
    S = S & "문자"
    S = S & TabStop & "경로"
    S = S & TabStop & "형식"
    S = S & TabStop & "준비?"
    S = S & TabStop & "이름"
    S = S & TabStop & "시스템"
    S = S & TabStop & "공간"
    S = S & TabStop & "공간"
    S = S & TabStop & "공간"
    S = S & TabStop & "번호" & NewLine

    ' 구분용 줄입니다.
    S = S & String(105, "-") & NewLine

    For Each Drive In Drives

        S = S & Drive.DriveLetter
        S = S & TabStop & Drive.Path
        S = S & TabStop & ShowDriveType(Drive)
        S = S & TabStop & Drive.IsReady

        If Drive.IsReady Then
            If DriveTypeNetwork = Drive.DriveType Then
                S = S & TabStop & Drive.ShareName
            Else
                S = S & TabStop & Drive.VolumeName
            End If

            S = S & TabStop & Drive.FileSystem
            S = S & TabStop & Drive.TotalSize
            S = S & TabStop & Drive.FreeSpace
            S = S & TabStop & Drive.AvailableSpace
            S = S & TabStop & Hex(Drive.SerialNumber)

        End If

        S = S & NewLine

    Next

    GenerateDriveInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateFileInformation
'
' 목적:
'
' 파일의 현재 상태를 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - File.Path
' - File.Name
' - File.Type
' - File.DateCreated
' - File.DateLastAccessed
' - File.DateLastModified
' - File.Size
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFileInformation(File)

    Dim S

    S = NewLine & "경로:" & TabStop & File.Path
    S = S & NewLine & "이름:" & TabStop & File.Name
    S = S & NewLine & "형식:" & TabStop & File.Type
    S = S & NewLine & "속성:" & TabStop & ShowFileAttr(File)
    S = S & NewLine & "만듬:" & TabStop & File.DateCreated
    S = S & NewLine & "액세스:" & TabStop & File.DateLastAccessed
    S = S & NewLine & "수정:" & TabStop & File.DateLastModified
    S = S & NewLine & "크기" & TabStop & File.Size & NewLine

    GenerateFileInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateFolderInformation
'
' 목적:
'
' 폴더의 현재 상태를 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - Folder.Path
' - Folder.Name
' - Folder.DateCreated
' - Folder.DateLastAccessed
' - Folder.DateLastModified
' - Folder.Size
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFolderInformation(Folder)

    Dim S

    S = "경로:" & TabStop & Folder.Path
    S = S & NewLine & "이름:" & TabStop & Folder.Name
    S = S & NewLine & "속성:" & TabStop & ShowFileAttr(Folder)
    S = S & NewLine & "만듬:" & TabStop & Folder.DateCreated
    S = S & NewLine & "액세스:" & TabStop & Folder.DateLastAccessed
    S = S & NewLine & "수정:" & TabStop & Folder.DateLastModified
    S = S & NewLine & "크기:" & TabStop & Folder.Size & NewLine

    GenerateFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateAllFolderInformation
'
' 목적:
'
' 폴더와 모든 파일, 하위 폴더의 현재 상태를
' 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - Folder.Path
' - Folder.SubFolders
' - Folders.Count
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateAllFolderInformation(Folder)

    Dim S
    Dim SubFolders
    Dim SubFolder
    Dim Files
    Dim File

    S = "폴더:" & TabStop & Folder.Path & NewLine & NewLine

    Set Files = Folder.Files

    If 1 = Files.Count Then
        S = S & "파일이 하나 있습니다" & NewLine
    Else
        S = S & "파일이 " & Files.Count & " 개 있습니다" & NewLine
    End If

    If Files.Count <> 0 Then

        For Each File In Files
            S = S & GenerateFileInformation(File)
        Next

    End If

    Set SubFolders = Folder.SubFolders

    If 1 = SubFolders.Count Then
        S = S & NewLine & "하위 폴더가 하나 있습니다" & NewLine & NewLine
    Else
        S = S & NewLine & "하위 폴더가 " & SubFolders.Count & " 개 있습니다" & NewLine & NewLine
    End If

    If SubFolders.Count <> 0 Then

        For Each SubFolder In SubFolders
            S = S & GenerateFolderInformation(SubFolder)
        Next

        S = S & NewLine

        For Each SubFolder In SubFolders
            S = S & GenerateAllFolderInformation(SubFolder)
        Next

    End If

    GenerateAllFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GenerateTestInformation
'
' 목적:
'
' C:\Test 폴더와 모든 파일, 하위 폴더의 현재
' 상태를 설명하는 문자열을 만듭니다.
'
' 다음을 보여줍니다.
'
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.GetFolder
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateTestInformation(FSO)

    Dim TestFolder
    Dim S

    If Not FSO.DriveExists(TestDrive) Then Exit Function
    If Not FSO.FolderExists(TestFilePath) Then Exit Function

    Set TestFolder = FSO.GetFolder(TestFilePath)

    GenerateTestInformation = GenerateAllFolderInformation(TestFolder)

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' DeleteTestDirectory
'
' 목적:
'
' test 디렉터리를 삭제합니다.
'
' 다음을 보여줍니다.
'
' - FileSystemObject.GetFolder
' - FileSystemObject.DeleteFile
' - FileSystemObject.DeleteFolder
' - Folder.Delete
' - File.Delete
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DeleteTestDirectory(FSO)

    Dim TestFolder
    Dim SubFolder
    Dim File

    ' 파일을 삭제하는 두 가지 방법:

    FSO.DeleteFile(TestFilePath & "\Beatles\OctopusGarden.txt")

    Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
    File.Delete

    ' 폴더를 삭제하는 두 가지 방법:

    FSO.DeleteFolder(TestFilePath & "\Beatles")

    FSO.DeleteFile(TestFilePath & "\ReadMe.txt")

    Set TestFolder = FSO.GetFolder(TestFilePath)
    TestFolder.Delete

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' CreateLyrics
'
' 목적:
'
' 한 폴더에 텍스트 파일 두 개를 구성합니다.
'
'
' 다음을 보여줍니다.
'
' - FileSystemObject.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Write
' - TextStream.WriteBlankLines
' - TextStream.Close
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub CreateLyrics(Folder)

    Dim TextStream

    Set TextStream = Folder.CreateTextFile("OctopusGarden.txt")

    TextStream.Write("문어의 정원 ") ' 파일에 줄 바꿈이 추가되지 않습니다.
    TextStream.WriteLine("(노래: 링고 스타)")
    TextStream.WriteBlankLines(1)
    TextStream.WriteLine("심해의 어두운 곳에 있는 문어의 정원에 있고 싶습니다.")
    TextStream.WriteLine("그는 우리를 들여보내 줄 것이며, 우리가 어디에 있었는가를 압니다 -- 그 곳은 어두운 곳에 있는 문어의 정원입니다.")
    TextStream.WriteBlankLines(2)

    TextStream.Close

    Set TextStream = Folder.CreateTextFile("BathroomWindow.txt")
    TextStream.WriteLine("그녀는 욕실 창문으로 들어 왔습니다(레논/메카트니)")
    TextStream.WriteLine("")
    TextStream.WriteLine("그녀는 은스푼으로 보호되어 있는 욕실 창문을 통하여 들어 왔습니다")
    TextStream.WriteLine("그러나 그녀는 지금 엄지손가락을 빨며 그녀만의 호수 언덕에서 방황하고 있습니다")
    TextStream.WriteBlankLines(2)
    TextStream.Close

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' GetLyrics
'
' 목적:
'
' lyrics 파일의 내용을 표시합니다.
'
'
' 다음을 보여줍니다.
'
' - FileSystemObject.OpenTextFile
' - FileSystemObject.GetFile
' - TextStream.ReadAll
' - TextStream.Close
' - File.OpenAsTextStream
' - TextStream.AtEndOfStream
' - TextStream.ReadLine
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GetLyrics(FSO)

    Dim TextStream
    Dim S
    Dim File

    ' 텍스트 파일을 여는 데에는 여러 가지 방법이 있고, 파일에서 데이터를 읽는 데에도
    ' 여러 가지 방법이 있습니다. 다음에는 각각에 대해 두 가지 방법이 나와 있습니다.

    Set TextStream = FSO.OpenTextFile(TestFilePath & "\Beatles\OctopusGarden.txt", OpenFileForReading)

    S = TextStream.ReadAll & NewLine & NewLine
    TextStream.Close

    Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
    Set TextStream = File.OpenAsTextStream(OpenFileForReading)
    Do 	While Not TextStream.AtEndOfStream
        S = S & TextStream.ReadLine & NewLine
    Loop
    TextStream.Close

    GetLyrics = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' BuildTestDirectory
'
' 목적:
'
' FileSystemObject를 보여주는 디렉터리 계층을 구성합니다.
'
' 아래와 같은 순서로 계층을 구성합니다.
'
' C:\Test
' C:\Test\ReadMe.txt
' C:\Test\Beatles
' C:\Test\Beatles\OctopusGarden.txt
' C:\Test\Beatles\BathroomWindow.txt
'
'
' 다음을 보여줍니다.
'
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.CreateFolder
' - FileSystemObject.CreateTextFile
' - Folders.Add
' - Folder.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Close
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function BuildTestDirectory(FSO)

    Dim TestFolder
    Dim SubFolders
    Dim SubFolder
    Dim TextStream

    ' (a) 드라이브가 존재하지 않거나 (b) 구성할 디렉터리가 이미 존재하면
    ' 빠져 나옵니다.

    If Not FSO.DriveExists(TestDrive) Then
        BuildTestDirectory = False
        Exit Function
    End If

    If FSO.FolderExists(TestFilePath) Then
        BuildTestDirectory = False
        Exit Function
    End If

    Set TestFolder = FSO.CreateFolder(TestFilePath)

    Set TextStream = FSO.CreateTextFile(TestFilePath & "\ReadMe.txt")
    TextStream.WriteLine("나의 서정 가요 모음")
    TextStream.Close

    Set SubFolders = TestFolder.SubFolders

    Set SubFolder = SubFolders.Add("비틀즈")

    CreateLyrics SubFolder

    BuildTestDirectory = True

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' 주 루틴
'
' 먼저, test 디렉터리, 하위 폴더, 파일을 만듭니다.
' 다음으로 사용할 수 있는 디스크 드라이브와 test 디렉터리에
' 관한 정보를 넣고 다시 모든 것을 지웁니다.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Main

    Dim FSO

    ' 전역 데이터를 설정합니다.
    TabStop = Chr(9)
    NewLine = Chr(10)

    Set FSO = CreateObject("Scripting.FileSystemObject")

    If Not BuildTestDirectory(FSO) Then
        Print "Test 디렉터리가 이미 존재하거나 만들 수 없습니다. 작업을 계속할 수 없습니다."
        Exit Sub
    End If

    Print GenerateDriveInformation(FSO) & NewLine & NewLine

    Print GenerateTestInformation(FSO) & NewLine & NewLine

    Print GetLyrics(FSO) & NewLine & NewLine

    DeleteTestDirectory(FSO)

End Sub


드라이브와 폴더 작업

Microsoft® Scripting Library - FileSystemObject
드라이브와 폴더 작업
 이전
다음

FileSystemObject(FSO) 개체 모델을 사용하면 Windows 탐색기에서 대화형으로 할 수 있는 작업을 프로그램에서 드라이브와 폴더로 할 수 있습니다.

드라이브 정보 얻기
Drive 개체를 사용하면 실제로 또는 네트워크를 통해 시스템에 연결되어 있는 다양한 드라이브에 관한 정보를 얻을 수 있습니다. 이 개체의 속성을 사용하면 아래와 같은 정보를 얻을 수 있습니다.

  • 바이트 단위로 나타낸 드라이브의 전체 크기(TotalSize 속성)
  • 바이트 단위로 나타낸 사용 가능한 드라이브 공간 크기(AvailableSpace 또는 FreeSpace 속성)
  • 드라이브에 지정한 문자(DriveLetter 속성)
  • 이동식, 고정식, 네트워크, CD-ROM, RAM 디스크 등의 드라이브 형식(DriveType 속성)
  • 드라이브의 일련 번호(SerialNumber 속성)
  • FAT, FAT32, NTFS 등 드라이브에서 사용하는 파일 시스템의 형식(FileSystem 속성)
  • 드라이브 사용 가능 여부(IsReady 속성)
  • 공유 또는 볼륨 이름(ShareName과 VolumeName 속성)
  • 드라이브의 경로 또는 루트 폴더(Path와 RootFolder 속성)
예제 코드를 보면 FileSystemObject에서 이런 속성을 사용하는 방법을 알 수 있습니다.

Drive 개체 사용 예제
Drive 개체는 드라이브에 관한 정보를 모으는 데에 사용합니다. 아래 코드에서는 실제 Drive 개체에 대한 참조가 없는 대신 GetDrive 메서드를 사용하여 기존 Drive 개체(이 경우에는 drv)에 대한 참조를 얻습니다.

아래 예제는 VBScript에서 Drive 개체를 사용하는 방법을 보여줍니다.

Sub ShowDriveInfo(drvPath)
  Dim fso, drv, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & drv.VolumeName & "<br>"
  s = s & "전체 공간: " & FormatNumber(drv.TotalSize / 1024, 0)
  s = s & " Kb" & "<br>"
  s = s & "사용 가능한 공간: " & FormatNumber(drv.FreeSpace / 1024, 0)
  s = s & " Kb" & "<br>"
  Response.Write s
End Sub
아래 코드에서는 같은 기능을 하는 JScript 사용법을 보여줍니다.
function ShowDriveInfo1(drvPath)
{
  var fso, drv, s ="";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  drv = fso.GetDrive(fso.GetDriveName(drvPath));
  s += "드라이브 " + drvPath.toUpperCase()+ " - ";
  s += drv.VolumeName + "<br>";
  s += "전체 공간: " + drv.TotalSize / 1024;
  s += " Kb" + "<br>";
  s += "사용 가능한 공간: " + drv.FreeSpace / 1024;
  s += " Kb" + "<br>";
  Response.Write(s);
}
폴더 작업
아래 표에는 일반적인 폴더 작업과 이런 작업에 사용되는 메서드가 설명되어 있습니다.

작업 | 메서드
폴더를 만듭니다. | FileSystemObject.CreateFolder
폴더를 삭제합니다. | Folder.Delete 또는 FileSystemObject.DeleteFolder
폴더를 이동합니다. | Folder.Move 또는 FileSystemObject.MoveFolder
폴더를 복사합니다. | Folder.Copy 또는 FileSystemObject.CopyFolder
폴더 이름을 검색합니다. | Folder.Name
드라이브에서 폴더의 존재를 찾습니다. | FileSystemObject.FolderExists
기존 Folder 개체의 인스턴스를 얻습니다. | FileSystemObject.GetFolder
폴더의 상위 폴더 이름을 찾습니다. | FileSystemObject.GetParentFolderName
시스템 폴더의 경로를 찾습니다. | FileSystemObject.GetSpecialFolder

예제 코드를 보면 FileSystemObject에서 사용되는 메서드와 속성의 수를 알 수 있습니다.

아래 예제는 VBScript에서 폴더를 조작하고 정보를 얻는 데에 사용되는 Folder 개체와 FileSystemObject 개체의 사용법을 보여줍니다.

Sub ShowFolderInfo()
  Dim fso, fldr, s
  ' FileSystemObject의 인스턴스를 얻습니다.
  Set fso = CreateObject("Scripting.FileSystemObject")
  ' Drive 개체를 얻습니다.
  Set fldr = fso.GetFolder("c:")
  ' 상위 폴더 이름을 인쇄합니다.
  Response.Write "상위 폴더 이름: " & fldr & "<br>"
  ' 드라이브 이름을 인쇄합니다.
  Response.Write "포함한 드라이브 " & fldr.Drive & "<br>"
  ' 루트 파일 이름을 인쇄합니다.
  If fldr.IsRootFolder = True Then
    Response.Write "루트 폴더입니다." & ""<br>"<br>"
  Else
    Response.Write "루트 폴더가 아닙니다." & "<br><br>"
  End If
  ' FileSystemObject 개체에 새 폴더를 만듭니다.
  fso.CreateFolder ("C:\Bogus")
  Response.Write "만든 폴더 C:\Bogus" & "<br>"
  ' 폴더의 기본 이름을 인쇄합니다.
  Response.Write "기본 이름 = " & fso.GetBaseName("c:\bogus") & "<br>"
  ' 새로 만든 폴더를 삭제합니다.
  fso.DeleteFolder ("C:\Bogus")
  Response.Write "삭제한 폴더 C:\Bogus" & "<br>"
End Sub
아래 예제는 JScript의 Folder 개체와 FileSystemObject 개체의 사용법을 보여줍니다.
function ShowFolderInfo()
{
  var fso, fldr, s = "";
  // FileSystemObject의 인스턴스를 얻습니다.
  fso = new ActiveXObject("Scripting.FileSystemObject");
  // Drive 개체를 얻습니다.
  fldr = fso.GetFolder("c:");
  // 상위 폴더 이름을 인쇄합니다.
  Response.Write("상위 폴더 이름: " + fldr + "<br>");
  // 드라이브 이름을 인쇄합니다.
  Response.Write("포함한 드라이브 " + fldr.Drive + "<br>");
  // 루트 파일 이름을 인쇄합니다.
  if (fldr.IsRootFolder)
    Response.Write("루트 폴더입니다.");
  else
    Response.Write("루트 폴더가 아닙니다.");
  Response.Write("<br><br>");
  // FileSystemObject 개체에 새 폴더를 만듭니다.
  fso.CreateFolder ("C:\\Bogus");
  Response.Write("만든 폴더 C:\\Bogus" + "<br>");
  // 폴더의 기본 이름을 인쇄합니다.
  Response.Write("기본 이름 = " + fso.GetBaseName("c:\\bogus") + "<br>");
  // 새로 만든 폴더를 삭제합니다.
  fso.DeleteFolder ("C:\\Bogus");
  Response.Write("삭제한 폴더 C:\\Bogus" + "<br>");
}


FileSystemObject 용어

Microsoft® Scripting Library - FileSystemObject
FileSystemObject 용어 		Scripting 런타임 참조

배열(array)
순차적으로 인덱스 처리된 요소 집합으로 같은 데이터 형식을 갖습니다. 배열의 각 요소에는 고유하게 식별되는 인덱스 번호가 있습니다. 배열의 한 요소를 변경해도 다른 요소에는 영향을 주지 않습니다.

컬렉션(collection)
일련의 관련 개체들이 모여 있는 개체입니다. 컬렉션이 변경될 때마다 그 안에 있는 개체의 위치가 변하므로 컬렉션 안에 있는 특정 개체의 위치는 가변적입니다.

런타임 오류(run-time error)
코드가 실행 중일 때 발생하는 오류입니다. 문이 잘못된 연산을 할 때 런타임 오류가 발생합니다.

문자식(string expression)
일련의 인접 문자열로 계산되는 식입니다. 문자식에는 문자열, 문자열 리터럴, 문자열 상수 또는 문자열 변수를 반환하는 함수를 포함할 수도 있습니다.

형식 라이브러리(type library)
다른 파일에 포함되어 있는 파일이나 구성 요소로 공개된 개체, 속성 및 메서드에 관한 일반적인 설명이 들어 있습니다.


VBScript 용어

VBScript 용어 		언어 참조

ActiveX 개체(ActiveX object)
자동화 인터페이스를 통해 다른 응용 프로그램이나 프로그래밍 도구에 나타나는 개체입니다.

ActiveX 컨트롤(ActiveX control)
사용자와 응용 프로그램 간의 상호 작용성을 향상시킬 수 있도록 폼에 놓아 두는 개체입니다. ActiveX 컨트롤은 이벤트를 포함하고 있으며 다른 컨트롤에 병합될 수 있습니다. 그 파일 확장명은 .ocx입니다.

ASCII 문자 집합(ASCII Character Set)
ASCII(American Standard Code for Information Interchange)는 미국 표준 키보드의 문자와 기호를 나타내는 데 널리 사용되는 7비트 문자 집합입니다. ASCII 문자 집합은 ANSI 문자 집합의 앞 부분에 나오는 128자(0-127)와 같습니다.

Empty
어떤 변수의 초기 값이 할당되지 않았음을 나타내는 값입니다. 숫자 문맥에서는 0, 문자열 문맥에서는 그 길이가 0입니다.

Nothing
한 개체 변수가 어떤 실제 개체와 더 이상 연관되지 않음을 나타내는 특수한 값입니다.

Null
변수에 유효한 데이터가 없음을 나타내는 값으로 아래 경우에 따른 결과입니다.
  • 변수에 대한 명시적인 Null 지정
  • Null을 포함하는 식 사이의 연산

pi
Pi는 약 3.1415926535897932(원주율)에 해당하는 수학 상수입니다.

Private
Private(전용)으로 선언된 스크립트에서만 볼 수 있는 변수입니다.

Public
Public문으로 선언되는 변수는 모든 응용 프로그램 및 그에 속하는 모든 모듈과 프로시저에서 볼 수 있습니다.

SCODE
상세한 정보를 인터페이스 구성원이나 API 기능의 호출자에게 보내는 데 사용되는 long 정수 값입니다. OLE 인터페이스와 API의 상태 코드는 FACILITY_ITF에 정의됩니다.

값에 의한 호출(by value)
인수의 주소가 아니라 그 값을 프로시저에 보내는 방법입니다. 이를 통해 해당 프로시저에서 변수 사본에 액세스할 수 있습니다. 그 결과로 값을 받은 프로시저에서 변수의 실제 값을 변경하지는 않습니다.

개체 형식(object type)
응용 프로그램에 의해 나타나는 Application, File, Range, Sheet 등의 개체 형식을 가리킵니다. 사용할 수 있는 개체에 관한 전체 목록을 얻으려면 Microsoft Excel, Microsoft Project, Microsoft Word 등의 응용 프로그램에서 제공하는 설명서를 참조하십시오.

날짜 구분 기호(date separators)
날짜 값의 형식을 지정할 때 년, 월, 일을 구분하는 데 사용되는 문자입니다.

날짜 리터럴(date literal)
번호 기호(#)로 둘러 싸는 유효 형식으로 되어 있는 순차적인 문자열입니다. 그 유효 형식에는 자신의 코드에 적합한 로케일 설정으로 지정되는 날짜 형식이나 국제적인 날짜 형식을 포함합니다. 예를 들어, #12/31/99#는 응용 프로그램의 로케일 설정이 미국식 영어(English-U.S)인 경우 December 31, 1999를 나타내는 날짜 리터럴입니다.

사용자의 실제 로케일에 관계없이 VBScript에서는 미국식 영어 날짜 형식만 인식합니다. 즉, 해석되는 날짜 형식은 mm/dd/yyyy입니다.

날짜식(date expression)
날짜로 해석될 수 있는 식입니다. 여기에는 날짜 리터럴, 날짜처럼 보이는 숫자나 문자열, 함수에서 반환된 날짜 등의 조합을 포함합니다. 어떤 조합이든지 간에 날짜식은 100년 1월 1일에서 9999년 12월 31일까지를 나타내는 숫자나 문자로 제한됩니다.

날짜는 실수로 저장됩니다. 소수점 왼쪽의 값은 날짜를, 오른쪽의 값은 시간을 표시합니다. 음수로 표시된 날짜는 1899년 12월 30일 이전 날짜를 가리킵니다.

내부 상수(intrinsic constant)
응용 프로그램에서 제공하는 상수입니다. 내부 상수를 사용해야 하므로 내부 상수와 이름이 같은 사용자 정의 상수는 만들지 않아야 합니다.

데이터 범위(data ranges)
각 Variant 하위 형식은 허용 값을 제한하는 특정 범위를 갖습니다.

하위 형식 | 범위
Byte | 0~255
Boolean | True 또는 False
Integer | -32,768~32,767
Long | -2,147,483,648~2,147,483,647
Single | -3.402823E38~-1.401298E-45(음수) 및 1.401298E-45~3.402823E38(양수)
Double | -1.79769313486232E308~-4.94065645841247E-324(음수) 및 4.94065645841247E-324~1.79769313486232E308(양수)
Currency | -922,337,203,685,477.5808~922,337,203,685,477.580
Date | 100년 1월 1일부터~9999년 12월 31일(양끝 포함)
Object | 모든 Object 참조
String | 가변 길이 문자열의 경우 0개에서 약 20억개까지의 문자

런타임 오류(run-time error)
코드가 실행 중일 때 발생하는 오류입니다. 문이 잘못된 연산을 할 때 런타임 오류가 발생합니다.

로케일(locale)
제공되는 언어와 국가에 해당하는 일단의 정보입니다. 로케일은 사전에 정의되는 프로그래밍 용어의 언어와 로케일 특정의 설정에 영향을 미칩니다. 로케일 정보가 중요한 두 가지 상황이 있습니다.
  • 코드 로케일은 키워드와 같은 용어의 언어에 영향을 미쳐 소수점과 목록 구분 기호, 날짜 형식 및 문자 정렬 순서 등의 로케일 특정의 설정을 정의합니다.
  • 시스템 로케일은 로케일 인식 기능을 작동시키는 방식에 영향을 미칩니다. 예를 들어, 숫자를 표시하거나 문자열을 날짜로 변환하는 경우입니다. 운영 체제에서 제공하는 제어판 유틸리티를 사용하여 시스템 로케일을 설정합니다.

문자 코드(character code)
ASCII 문자 집합 등의 문자 집합에서 특정 문자를 나타내는 숫자입니다.

문자식(string expression)
일련의 인접 문자열로 계산되는 식입니다. 문자식에는 문자열, 문자열 리터럴, 문자열 상수 또는 문자열 변수를 반환하는 함수를 포함할 수도 있습니다.

문자열 비교(string comparison)
두 문자열을 순차적으로 비교합니다. 비교 연산을 실행하는 함수에 따로 지정하지 않으면 모든 문자열을 이진으로 비교합니다. 영어 문자열의 경우 이진 비교에서는 대소문자를 구분하지만, 텍스트 비교에서는 대소문자를 구분하지 않습니다.

배열(array)
순차적으로 인덱스 처리된 요소 집합으로 같은 데이터 형식을 갖습니다. 배열의 각 요소에는 유일하게 식별되는 인덱스 번호가 있습니다. 배열의 한 요소를 변경해도 다른 요소에는 영향을 주지 않습니다.

범위(scope)
변수, 프로시저, 개체의 가시성을 지정합니다. 예를 들어, Public으로 선언된 변수는 모든 모듈의 프로시저 어디에서나 볼 수 있습니다. 프로시저에서 선언된 변수는 해당 프로시저에서만 보이고 다른 프로시저를 호출하면 그 값을 잃어버립니다.

변수(variable)
프로그램을 실행하는 동안 수정되는 데이터를 가질 수 있도록 지정된 저장 위치입니다. 각 변수에는 해당되는 범위 수준 안에서 유일하게 식별되는 이름이 있습니다.

변수 이름

  • 알파벳 문자로 시작해야 합니다.
  • 마침표나 형식 선언 문자를 포함시킬 수 없습니다.
  • 같은 범위 안에서는 유일해야 합니다.
  • 255자를 초과할 수 없습니다.

부울식(Boolean expression)
True 또는 False로 값을 구하는 식입니다.

비교 연산자(comparison operator)
두 개 이상의 값이나 식 사이의 관계를 나타내는 문자나 기호입니다. 비교 연산자에는 보다 작다(<), 작거나 같다(<=), 보다 크다(>), 크거나 같다(>=), 같지 않다(<>) 및 같다(=)가 있습니다.

또한 비교 연산자로 Is도 있는데 한 개체 참조가 다른 개체 참조와 같은지를 결정할 때에만 사용됩니다.

비트 비교(bitwise comparison)
두 수식에서 같은 위치에 있는 비트를 비트별로 비교합니다.

상수(constant)
프로그램이 실행되는 동안 상수 값을 가지고 있도록 지정된 항목입니다. 코드의 어느 곳에서나 실제 값을 대신하여 사용됩니다. 문자열이나 숫자 리터럴, 또 다른 상수 또는 Is와 지수를 제외한 산술이나 논리 연산자들의 조합이 상수가 될 수 있습니다. 사용 예는 아래와 같습니다.

Const A = "MyString"

속성(property)
개체의 명명된 특성으로 크기, 색상, 화면 위치 또는 개체 상태(사용함 또는 사용 안함) 등 개체 특성을 정의합니다.

수식(numeric expression)
숫자로 계산되는 식입니다. 수식은 키워드, 변수, 상수 및 연산자로 구성되며, 그 연산의 결과는 숫자로 나타납니다.

스크립트 수준(script level)
프로시저 밖에 있는 코드를 "스크립트 수준의 코드"라고 말합니다.

시드(seed)
모조 난수를 만드는 데 사용되는 초기값입니다. 예를 들어, Randomize문은 고유한 모조 난수들을 순차적으로 만드는 Rnd 함수에서 사용할 시드 숫자를 만듭니다.

식(expression)
문자열, 숫자 또는 개체를 만드는 키워드, 연산자, 변수 및 상수들의 조합입니다. 식은 계산을 수행하거나, 문자를 조작하거나, 데이터를 검사합니다.

실행 모드(Run Time)
코드가 실행되고 있는 시간을 가리킵니다. 실행 모드 동안에는 코드를 편집할 수 없습니다.

오류 번호(error number)
Err 개체의 Number 속성에 해당하는 0에서 65,535까지에 이르는 정수입니다. 특정 Err 개체의 Name 속성과 결합될 때 이 번호는 특정 오류 메시지를 나타냅니다.

인수(argument)
프로시저에 전달되는 상수, 변수 또는 식을 가리킵니다.

자동화 개체(Automation object)
자동화 인터페이스를 통해 다른 응용 프로그램이나 프로그래밍 도구에 나타나는 개체입니다.

주석(comment)
프로그래머가 해당 코드의 작동 방법을 설명하기 위해 그 코드에 추가한 텍스트입니다. 대개 Visual Basic Scripting Edition에서 주석줄은 아포스트로피(`)로 바로 시작하거나, Rem 키워드 다음에 공백을 두고서 시작할 수 있습니다.

참조에 의한 호출(by reference)
인수의 값이 아니라 그 주소를 프로시저에 보내는 방법입니다. 이를 통해 해당 프로시저에서 실제 변수에 액세스할 수 있습니다. 그 결과로 주소를 받은 프로시저에서 변수의 실제 값을 변경합니다.

컬렉션(collection)
일련의 관련 개체들이 모여 있는 개체입니다. 컬렉션이 변경될 때마다 그 안에 있는 개체의 위치가 변하므로 컬렉션 안에 있는 특정 개체의 위치는 가변적입니다.

클래스(class)
개체에 대한 형식적인 정의입니다. 클래스는 실행 모드에서 개체의 인스턴스를 만들 때 서식으로 작용합니다. 클래스에는 개체의 동작을 제어하는 데 사용되는 개체의 속성과 메서드를 정의하고 있습니다.

클래스 모듈(class module)
클래스에 관한 정의, 즉 속성과 메서드에 대한 정의를 포함하고 있는 모듈입니다.

키워드(keyword)
VBScript 언어의 일부로 인식되는 단어나 기호, 즉 문, 함수 이름 또는 연산자를 가리킵니다.

프로시저(procedure)
단위별로 실행되도록 순차적으로 지정된 일련의 문입니다. 예를 들어, Function 및 Sub는 프로시저의 한 유형입니다.

프로시저 수준(procedure level)
Function 또는 Sub 프로시저에 있는 문들을 기술합니다. 대개 선언문이 먼저 나오고, 그 다음으로 지정문, 실행될 수 있는 다른 코드 순으로 나타납니다. 사용 예는 아래와 같습니다.

Sub MySub() 'sub 프로시저 블록을 선언합니다.
    Dim A '프로시저 블록을 시작합니다.
    A = "My variable" ' 프로시저 수준의 코드입니다.
    Debug.Print A ' 프로시저 수준의 코드입니다.
End Sub 'sub 프로시저 블록을 끝냅니다.
스크립트 수준의 코드는 모든 프로시저 블록의 밖에 있음에 주의하십시오.

형식 라이브러리(type library)
다른 파일에 포함되어 있는 파일이나 구성 요소로 공개된 개체, 속성 및 메서드에 관한 일반적인 설명이 들어 있습니다.


파일 작업

Microsoft® Scripting Library - FileSystemObject
파일 작업
 이전
다음

파일 작업은 크게 두 범주로 구분됩니다.

  • 만들기, 데이터 추가와 삭제, 파일 읽기
  • 파일 이동, 복사, 삭제
파일 만들기
빈 텍스트 파일을 만드는 방법에는 세 가지가 있습니다 ("텍스트 스트림"이라고도 함).

하나는 CreateTextFile 메서드를 사용하는 것입니다. 아래 예제는 VBScript에서 이 메서드를 사용하여 텍스트 파일을 작성하는 방법을 보여줍니다.

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
JScript에서 이 메서드를 사용하려면 아래 코드를 사용합니다.

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);
예제 코드를 보면 CreateTextFile 메서드를 FileSystemObject에서 사용하는 방법을 알 수 있습니다.

텍스트 파일을 만드는 둘째 방법은 ForWriting 플래그를 설정하고 FileSystemObject 개체의 OpenTextFile 메서드를 사용하는 것입니다. VBScript에서 사용하는 코드는 아래 예제와 같습니다.

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
JScript에서 이 메서드를 사용하여 텍스트 파일을 만들려면 아래 코드를 사용합니다.

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
텍스트 파일을 만드는 세째 방법은 ForWriting 플래그를 설정하고 OpenAsTextStream 메서드를 사용하는 것입니다. VBScript에서 이 메서드를 사용하려면 아래 코드를 사용합니다.

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\test1.txt")
Set f1 = fso.GetFile("c:\test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)
JScript에서는 아래 예제와 같은 코드를 사용합니다.

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);
파일에 데이터 추가
텍스트 파일을 만든 후 아래와 같은 세 단계를 사용하여 데이터를 파일에 추가합니다.

  1. 텍스트 파일을 엽니다.
  2. 데이터를 씁니다.
  3. 파일을 닫습니다.
기존 파일을 열려면 FileSystemObject 개체의 OpenTextFile 메서드나 File 개체의 OpenAsTextStream 메서드를 사용합니다.

열린 텍스트 파일에 데이터를 쓰려면 아래 표에 설명되어 있는 작업에 따라 TextStream 개체의 Write, WriteLine 또는WriteBlankLines 메서드를 사용합니다.

작업 | 메서드
열린 텍스트 파일에 뒤에 오는 줄 바꿈 문자없이 데이터를 씁니다. | Write
열린 텍스트 파일에 데이터와 뒤에 오는 줄 바꿈 문자를 씁니다. | WriteLine
열린 텍스트 파일에 빈 줄을 하나 이상 씁니다. | WriteBlankLines

예제 코드를 보면 FileSystemObject에서 Write, WriteLine, WriteBlankLines 메서드를 사용하는 방법을 알 수 있습니다.

열린 파일을 닫으려면 TextStream 개체의 Close 메서드를 사용합니다.

예제 코드를 보면 FileSystemObject에서 Close 메서드를 사용하는 방법을 알 수 있습니다.

참고 줄 바꿈 문자는 커서를 아래 줄 처음 부분으로 넘기는 문자(운영 체제에 따라 다름)를 포함합니다(캐리지 리턴/줄 바꿈). 문자열 중에는 마지막 부분에 이미 그러한 인쇄되지 않는 문자를 포함하고 있는 것도 있습니다.

아래 VBScript 예제는 파일을 열고, 세 가지 쓰기 방법을 모두 사용하여 파일에 데이터를 추가하고, 파일을 닫는 방법을 보여줍니다.

Sub CreateFile()
  Dim fso, tf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set tf = fso.CreateTextFile("c:\testfile.txt", True)
  ' 줄 바꿈 문자가 있는 줄을 씁니다.
  tf.WriteLine("테스트 중 1, 2, 3.")
  ' 파일에 줄 바꿈 문자를 세 개 씁니다.
  tf.WriteBlankLines(3)
  ' 줄을 씁니다.
  tf.Write ("테스트입니다.")
  tf.Close
End Sub
아래 예제는 JScript의 세 메서드 사용법을 보여줍니다.

function CreateFile()
{
  var fso, tf;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  tf = fso.CreateTextFile("c:\\testfile.txt", true);
  // 줄 바꿈 문자가 있는 줄을 씁니다.
  tf.WriteLine("테스트 중 1, 2, 3.") ;
  // 파일에 줄 바꿈 문자를 세 개 씁니다.
  tf.WriteBlankLines(3) ;
  // 줄을 씁니다.
  tf.Write ("테스트입니다.");
  tf.Close();
}
파일 읽기
텍스트 파일에서 데이터를 읽으려면 TextStream 개체의 Read, ReadLine 또는 ReadAll 메서드를 사용합니다. 아래 표에는 여러 작업에 사용할 수 있는 메서드가 설명되어 있습니다.

작업 | 메서드
파일에서 지정한 수의 문자를 읽습니다. | Read
한 줄 전체를 읽습니다(줄 바꿈 문자까지, 그러나 줄 바꿈 문자는 제외). | ReadLine
텍스트 파일의 내용 전체를 읽습니다. | ReadAll

예제 코드를 보면 FileSystemObject에서 ReadAll 메서드와 ReadLine 메서드를 사용하는 방법을 알 수 있습니다.

Read 메서드나 ReadLine 메서드를 사용하면서 데이터의 특정 부분을 건너뛰려면 Skip 메서드 또는 SkipLine 메서드를 사용합니다. 읽기 메서드의 결과 텍스트는 문자열로 저장되며 컨트롤에 표시하거나 문자열 함수(Left, Right, Mid)로 구문을 분석하거나 연결하는 등의 조작을 할 수 있습니다.

아래 VBScript 예제는 파일을 열고, 내용을 쓰고, 다시 읽는 방법을 보여줍니다.

Sub ReadFiles
  Dim fso, f1, ts, s
  Const ForReading = 1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  ' 줄을 씁니다.
  Response.Write "파일을 쓰고 있습니다 <br>"
  f1.WriteLine "Hello World"
  f1.WriteBlankLines(1)
  f1.Close
  ' 파일 내용을 읽습니다.
  Response.Write "파일을 읽고 있습니다 <br>"
  Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)
  s = ts.ReadLine
  Response.Write "파일 내용 = '" & s & "'"
  ts.Close
End Sub
아래 코드는 JScript에서 같은 작업을 하는 방법을 보여줍니다.

function ReadFiles()
{
  var fso, f1, ts, s;
  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  // 줄을 씁니다.
  Response.Write("파일을 쓰고 있습니다 <br>");
  f1.WriteLine("안녕하십니까?");
  f1.WriteBlankLines(1);
  f1.Close();
  // 파일 내용을 읽습니다.
  Response.Write("파일을 읽고 있습니다 <br>");
  ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  s = ts.ReadLine();
  Response.Write("파일 내용 = '" + s + "'");
  ts.Close();
}
파일 이동, 복사, 삭제
FSO 개체 모델에는 아래 표에 설명되어 있는 것과 같이 파일 이동, 복사, 삭제에 대해 각각 두 가지 메서드가 준비되어 있습니다.

작업 | 메서드
파일을 이동합니다. | File.Move 또는 FileSystemObject.MoveFile
파일을 복사합니다. | File.Copy 또는 FileSystemObject.CopyFile
파일을 삭제합니다. | File.Delete 또는 FileSystemObject.DeleteFile

예제 코드를 보면 FileSystemObject에서 파일을 삭제하는 두 가지 방법을 알 수 있습니다.

아래 VBScript 예제에서는 C 드라이브의 루트 디렉터리에 텍스트 파일을 만들고, 정보를 쓰고, 파일을 \tmp라는 디렉터리로 이동하고, \temp라는 디렉터리에 복사본을 만든 후에 두 디렉터리 모두에서 복사본을 삭제합니다.

아래 예제를 실행하려면 먼저 C 드라이브의 루트 디렉터리에 \tmp와 \temp 디렉터리를 만듭니다.

Sub ManipFiles
  Dim fso, f1, f2, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  Response.Write "파일을 쓰고 있습니다 <br>"
  ' 줄을 씁니다.
  f1.Write ("테스트입니다.")
  ' 파일을 닫습니다.
  f1.Close
  Response.Write "파일을 c:\tmp로 이동합니다 <br>"
  ' C:\의 루트에 있는 파일에 대한 핸들을 얻습니다.
  Set f2 = fso.GetFile("c:\testfile.txt")
  ' 파일을 \tmp 디렉터리로 이동합니다.
  f2.Move ("c:\tmp\testfile.txt")
  Response.Write "파일을 c:\temp로 복사합니다 <br>"
  ' 파일을 \temp로 복사합니다.
  f2.Copy ("c:\temp\testfile.txt")
  Response.Write "파일을 삭제하고 있습니다 <br>"
  ' 파일의 현재 위치에 대한 핸들을 얻습니다.
  Set f2 = fso.GetFile("c:\tmp\testfile.txt")
  Set f3 = fso.GetFile("c:\temp\testfile.txt")
  ' 파일을 삭제합니다.
  f2.Delete
  f3.Delete
  Response.Write "완료!"
End Sub
아래 코드를 사용하면 JScript에서 같은 결과를 얻을 수 있습니다.

function ManipFiles()
{
  var fso, f1, f2, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  Response.Write("파일을 쓰고 있습니다 <br>");
  // 줄을 씁니다.
  f1.Write("텍스트입니다.");
  // 파일을 닫습니다.
  f1.Close();
  Response.Write("파일을 c:\\tmp로 이동합니다 <br>");
  // C:\의 루트에 있는 파일에 대한 핸들을 얻습니다.
  f2 = fso.GetFile("c:\\testfile.txt");
  // 파일을 \tmp 디렉터리로 이동합니다.
  f2.Move ("c:\\tmp\\testfile.txt");
  Response.Write("파일을 c:\\temp로 복사합니다 <br>");
  // 파일을 \temp로 복사합니다.
  f2.Copy ("c:\\temp\\testfile.txt");
  Response.Write("파일을 삭제하고 있습니다 <br>");
  // 파일의 현재 위치에 대한 핸들을 얻습니다.
  f2 = fso.GetFile("c:\\tmp\\testfile.txt");
  f3 = fso.GetFile("c:\\temp\\testfile.txt");
  // 파일을 삭제합니다.
  f2.Delete();
  f3.Delete();
  Response.Write("완료!");
}


간단한 입력값 확인

1부터 10사이의 값 입력:


vbscopy

저작권

이 설명서의 내용은 예고 없이 바뀔 수 있습니다. 별도 설명이 없는 한 용례에 사용된 회사, 제품, 개인, 캐릭터 및 데이터는 실제 데이터가 아닙니다. 저작권 법에 관련된 모든 사항을 준수할 책임은 사용자에게 있습니다. Microsoft Corporation의 서면 승인 없이는 어떤 형식으로도 이 설명서의 일부 또는 전부를 무단으로 복제하거나 사용할 수 없습니다.

이 설명서의 특허권, 상표, 저작권, 지적 소유권 등은 Microsoft에 있습니다. Microsoft와의 사용권 계약에 따라 계약서에 밝힌 사항을 제외하고는 이 설명서의 구입이 특허권, 상표, 저작권, 지적 소유권 등의 양도를 의미하는 것은 아닙니다.

© 1991-1998 Microsoft Corporation. All rights reserved.

Microsoft, MS, MS-DOS, ActiveX, JScript, Microsoft Press, Visual Basic, Windows, Windows NT, Win32, Win32는 미국과 다른 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.

그 외에 언급된 제품 및 회사 이름은 해당 소유권자의 상표입니다.


초보 단계의 간단한 페이지


VBScript 런타임 라이브러리 참조

Scripting 런타임 라이브러리 참조 		언어 참조
버전 정보

기능
정보
키워드 목록
(사전순)
상수
메서드
개체
속성
ⓒ 1998 Microsoft Corporation. All rights reserved.


개체 예제

이 페이지에는 Label 컨트롤이 필요합니다.


VBScript 언어 참조

VBScript 언어 참조 		VBScript 자습서
버전 정보

기능
정보
키워드 목록
(사전순)
상수
이벤트
함수
메서드
개체
연산자
속성
문
ⓒ 1998 Microsoft Corporation. All rights reserved.


버전 정보

버전 정보 		언어 참조

아래 표는 호스트 응용 프로그램에서 구현하는 Microsoft Visual Basic Scripting Edition의 버전을 보여줍니다.

호스트 응용 프로그램 | VBScript 버전
1.0 | 2.0 | 3.0 | 4.0 | 5.0
Microsoft Internet Explorer 3.0 | x
Microsoft Internet Information Server 3.0 | x
Microsoft Internet Explorer 4.0 | x
Microsoft Internet Information Server 4.0 | x
Microsoft Windows Scripting Host 1.0 | x
Microsoft Outlook 98 | x
Microsoft Visual Studio 6.0 | x
Microsoft Internet Explorer 5.0 | x
Microsoft Internet Information Server 5.0 | x


Drives 컬렉션

Drives 컬렉션 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
사용할 수 있는 모든 드라이브의 읽기 전용 컬렉션입니다.
참고
Drives 컬렉션에서 이동식 매체 드라이브를 보이게 하기 위해 그 드라이브에 매체를 삽입할 필요는 없습니다.

아래 코드에서는 Drives 컬렉션을 가져와서 For Each...Next 문을 사용하여 그 컬렉션을 반복 실행하는 방법을 보여줍니다.

Function ShowDriveList
  Dim fso, d, dc, s, n
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set dc = fso.Drives
  For Each d in dc
    n = ""
    s = s & d.DriveLetter & " - "
    If d.DriveType = Remote Then
      n = d.ShareName
    ElseIf d.IsReady Then
      n = d.VolumeName
    End If
    s = s & n & "<BR>"
  Next
  ShowDriveList = s
End Function


Drives 컬렉션

Drives 컬렉션
참고 		Scripting 런타임 참조

Drive 개체
Drives 속성
File 개체
Files 컬렉션
Folder 개체
Folders 컬렉션


Drives 컬렉션

Drives 컬렉션
메서드 		Scripting 런타임 참조

Drives 컬렉션에는 메서드가 없습니다.


Drives 컬렉션

Drives 컬렉션
속성 		Scripting 런타임 참조

Count 속성
Item 속성


Files 컬렉션

Files 컬렉션 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
폴더에 있는 모든 File 개체의 컬렉션입니다.
참고
아래 코드에서는 Files 컬렉션을 가져와서 For Each...Next 문을 사용하여 그 컬렉션을 반복 실행하는 방법을 보여줍니다.
Function ShowFolderList(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
    s = s & f1.name
    s = s & "<BR>"
  Next
  ShowFolderList = s
End Function


Files 컬렉션

Files 컬렉션
참고 		Scripting 런타임 참조

Drive 개체
Drives 컬렉션
File 개체
Folder 개체
Folders 컬렉션


Files 컬렉션

Files 컬렉션
메서드 		Scripting 런타임 참조

Files 컬렉션에는 메서드가 없습니다.


Files 컬렉션

Files 컬렉션
속성 		Scripting 런타임 참조

Count 속성
Item 속성


Folders 컬렉션

Folders 컬렉션 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
Folder 개체 안에 있는 모든 Folder 개체의 컬렉션 입니다.
참고
아래 코드에서는 Folders 컬렉션을 가져와서 For Each...Next 문을 사용하여 그 컬렉션을 반복 실행하는 방법을 보여줍니다.
Function ShowFolderList(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.SubFolders
  For Each f1 in fc
    s = s & f1.name
    s = s &  "<BR>"
  Next
  ShowFolderList = s
End Function


Folders 컬렉션

Folders 컬렉션
참고 		Scripting 런타임 참조

Drive 개체
Drives 컬렉션
File 개체
Files 컬렉션
Folder 개체
SubFolders 속성


Folders 컬렉션

Folders 컬렉션
메서드 		Scripting 런타임 참조

Add 메서드


Folders 컬렉션

Files 컬렉션
속성 		Scripting 런타임 참조

Count 속성
Item 속성


Matches 컬렉션

Matches 컬렉션 		언어 참조
버전 5

참고 속성

설명
정규식 Matches 개체 컬렉션
참고
Matches 컬렉션에는 각 Match 개체가 포함되어 있으며, RegExp 개체의 Execute 메서드를 사용해야 만들 수 있습니다. 개별 Match 개체 속성과 마찬가지로 Matches 컬렉션의 한 가지 속성은 읽기 전용입니다. 정규식이 실행될 때 0개 이상의 Match 개체가 생성됩니다. 각 Match 개체를 통해 정규식으로 찾은 문자열과 문자열의 길이, 일치하는 부분의 인덱스에 액세스할 수 있습니다.

아래의 코드는 정규식 검색을 통해 Matches 컬렉션을 구하는 방법과 컬렉션을 반복 실행하는 방법을 보여줍니다.

Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 만듭니다.
  Set regEx = New RegExp			' 정규식을 만듭니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자를 구분하지 않도록 설정합니다.
  regEx.Global = True			' 전역으로 설정합니다.
  Set Matches = regEx.Execute(strng)	' 검색을 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Matches 컬렉션

Matches 컬렉션
참고 		언어 참조

For Each...Next 문
Match 개체
RegExp 개체


Matches 컬렉션

Matches 컬렉션
속성 		언어 참조
Count 속성
Item 속성


색 상수

색 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbBlack | &h00 | 검정
vbRed | &hFF | 빨강
vbGreen | &hFF00 | 녹색
vbYellow | &hFFFF | 노랑
vbBlue | &hFF0000 | 파랑
vbMagenta | &hFF00FF | 진한 빨강
vbCyan | &hFFFF00 | 진한 파랑
vbWhite | &hFFFFFF | 흰색


색 상수

색 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
메시지 상자 상수
문자열 상수
비교 상수


비교 상수

비교 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.


비교 상수

비교 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
메시지 상자 상수
문자열 상수
색 상수


날짜 형식 상수

날짜 형식 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbGeneralDate | 0 | 날짜 또는 시간을 표시합니다. 날짜와 시간은 실수로 표시합니다. 소수점 이하 부분이 없으면 날짜만을, 정수 부분이 없으면 시간만을 표시합니다. 시스템 설정에 따라 날짜/시간 디스플레이가 결정됩니다.
vbLongDate | 1 | 컴퓨터의 국가별 설정에서 지정한 자세하게 표시 날짜 형식으로 날짜를 표시합니다.
vbShortDate | 2 | 컴퓨터의 국가별 설정에서 지정한 간단하게 표시 날짜 형식으로 날짜를 표시합니다.
vbLongTime | 3 | 컴퓨터의 국가별 설정에서 지정한 자세하게 표시 시간 형식으로 시간을 표시합니다.
vbShortTime | 4 | 컴퓨터의 국가별 설정에서 지정한 간단하게 표시 시간 형식으로 시간을 표시합니다.


날짜 형식 상수

날짜 형식 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜/시간 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수


날짜/시간 상수

날짜/시간 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbSunday | 1 | 일요일
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일
vbUseSystem | 0 | 컴퓨터의 국가별 설정에 있는 날짜 형식을 사용합니다.
vbUseSystemDayOfWeek | 0 | 시스템 설정에서 지정한 요일을 주의 첫 요일로 사용합니다.
vbFirstJan1 | 1 | 1월 1일을 포함하는 주를 사용합니다(기본값).
vbFirstFourDays | 2 | 새해의 처음 4일을 포함하는 주를 사용합니다.
vbFirstFullWeek | 3 | 새해의 처음 한 주일(7일)을 포함하는 주를 사용합니다.


날짜/시간 상수

날짜/시간 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수


드라이브 형식 상수

드라이브 형식 상수 		Scripting 런타임 참조
버전 3

참고

상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
Unknown | 0 | 드라이브 형식을 알 수 없습니다.
Removable | 1 | 드라이브에 이동식 매체가 있습니다. 모든 플로피 드라이브와 기타 여러 저장 장치들이 포함됩니다.
Fixed | 2 | 드라이브에 제거할 수 없는 고정 매체가 있습니다. 이동식 하드 디스크를 포함하여 모든 하드 디스크가 포함됩니다.
Remote | 3 | 네트워크 드라이브입니다. 네트워크에서 공유되는 모든 드라이브가 포함됩니다.
CDROM | 4 | CD-ROM 드라이브입니다. 읽기 전용과 읽기/쓰기 CD-ROM 드라이브를 구분하지 않습니다.
RAMDisk | 5 | 디스크 드라이브처럼 작동하는 로컬 컴퓨터의 RAM 드라이브 구역입니다.


드라이브 형식 상수

드라이브 형식 상수
참고 		Scripting 런타임 참조

Tristate 상수
비교 상수
특수 폴더 상수
파일 속성 상수
파일 입/출력 상수


파일 속성 상수

파일 특성 상수 		Scripting 런타임 참조
버전 3

참고

상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
Normal | 0 | 표준 파일로 속성을 지정하지 않습니다.
ReadOnly | 1 | 읽기 전용 파일입니다.
Hidden | 2 | 숨겨진 파일입니다.
System | 4 | 시스템 파일입니다.
Volume | 8 | 디스크 드라이브 볼륨 레이블입니다.
Directory | 16 | 폴더나 디렉터리입니다.
Archive | 32 | 마지막 백업 후에도 바뀌는 파일입니다.
Alias | 64 | 링크 또는 바로 가는 키입니다.
Compressed | 128 | 압축 파일입니다.


파일 속성 상수

파일 속성 상수
참고 		Scripting 런타임 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
날짜/시간상수
드라이브 형식 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수
특수 폴더 상수
파일 입/출력 상수


파일 입/출력 상수

파일 입/출력 상수 		Scripting 런타임 참조
버전 2

참고

상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
ForReading | 1 | 파일을 읽기 전용으로 열며, 이 파일에 쓸 수 없습니다.
ForWriting | 2 | 쓰기 위해 파일을 엽니다. 이름이 같은 파일이 이미 있으면, 그 파일의 내용을 덮어씁니다.
ForAppending | 8 | 파일을 열어 그 파일의 끝에서 씁니다.


파일 입/출력 상수

파일 입/출력 상수
참고 		Scripting 런타임 참조

Tristate 상수
드라이브 형식 상수
비교 상수
특수 폴더 상수
파일 속성 상수


FileSystemObject 상수

FileSystemObject 상수 		Scripting 런타임 참조
버전 2

참고

FileSystemObject에는 코드에 사용할 수 있는 여러 유용한 상수가 들어 있습니다. 상수를 이용하면 실제로 값을 기억할 필요 없이 특정 값을 편리하게 사용할 수 있습니다. 또한 어떠한 상수 값을 변경할 경우 코드의 유지 보수를 용이하게 할 수 있습니다.

스크립트 호스트에 따라 이들 상수가 이미 정의되어 있는 경우도 있습니다. 그러한 경우에는 코드의 어느 곳에서든 실제 값 대신 단순히 이 상수를 사용하면 됩니다. 스크립트 호스트에서 SCRRUN.DLL을 명시적으로 참조하지 않는 경우, 사용하기 전에 이들 상수를 코드에서 정의해야 합니다. 이와 같은 예는 Microsoft Internet Explorer 및 Microsoft Internet Information Services(IIS)에서 찾아볼 수 있습니다.

다음은 FileSystemObject에서 제공하는 여러 범주의 상수에 대한 간단한 설명합니다.

드라이브 형식 상수
고정 드라이브, 이동식 드라이브, CD-ROM 등과 같이 호스트 컴퓨터에서 사용할 수 있는 여러 드라이브 형식을 정의합니다.

파일 속성 상수
숨김, 읽기 전용 등과 같은 여러 파일 속성을 정의합니다.

파일 입/출력 상수
파일 입/출력에 사용되는 상수를 정의합니다.

SpecialFolder 상수
사용자의 운영 체제에서 사용할 수 있는 특정 폴더를 정의합니다.


FileSystemObject 상수

FileSystemObject 상수
참고 		Scripting 런타임 참조

VBScript 상수


기타 상수

기타 상수 		언어 참조
버전 2

참고

이 상수는 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 값을 나타낼 수 있습니다.

상수 값 설명
vbObjectError -2147221504 사용자 정의 오류 번호는 이 값보다 커야 합니다. 사용 예는 아래와 같습니다.
Err.Raise Number = vbObjectError + 1000


기타 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
날짜/시간 상수
날짜 형식 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수


메시지 상자 상수

메시지 상자 상수 		언어 참조
버전 2

참고

아래 상수는 MsgBox 함수와 함께 사용되어 메시지 상자에 나타나는 단추와 아이콘을 식별하고, 어떤 단추가 기본 단추인지 식별합니다. 또한 MsgBox의 모달성도 식별합니다. 이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbOKOnly | 0 | 확인 단추만 표시합니다.
vbOKCancel | 1 | 확인 및 취소 단추를 표시합니다.
vbAbortRetryIgnore | 2 | 중단, 다시 하기, 무시 단추를 표시합니다.
vbYesNoCancel | 3 | 예, 아니오, 취소 단추를 표시합니다.
vbYesNo | 4 | 예, 아니오 단추를 표시합니다.
vbRetryCancel | 5 | 다시 하기, 취소 단추를 표시합니다.
vbCritical | 16 | 중대 오류 메시지 아이콘을 표시합니다.
vbQuestion | 32 | 경고 쿼리 아이콘을 표시합니다.
vbExclamation | 48 | 경고 메시지 아이콘을 표시합니다.
vbInformation | 64 | 정보 메시지 아이콘을 표시합니다.
vbDefaultButton1 | 0 | 첫째 단추가 기본 단추입니다.
vbDefaultButton2 | 256 | 둘째 단추가 기본 단추입니다.
vbDefaultButton3 | 512 | 셋째 단추가 기본 단추입니다.
vbDefaultButton4 | 768 | 넷째 단추가 기본 단추입니다.
vbApplicationModal | 0 | 응용 프로그램 모달입니다. 사용자는 현재 응용 프로그램에서 작업을 계속하기 전에 메시지 상자에 응답해야 합니다.
vbSystemModal | 4096 | 시스템 모달입니다. Win16 시스템에서는 사용자가 메시지 상자에 응답할 때까지 모든 응용 프로그램이 정지하고 있습니다. Win32 시스템에서 이들 상수는 실행 중인 다른 어떤 프로그램보다 항상 상위에 위치하는 응용 프로그램 모달 메시지 상자를 제공합니다.

아래 상수는 MsgBox 함수와 함께 사용되어 사용자가 선택한 단추를 식별합니다. 상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
vbOK | 1 | 확인 단추를 눌렀습니다.
vbCancel | 2 | 취소 단추를 눌렀습니다.
vbAbort | 3 | 중단 단추를 눌렀습니다.
vbRetry | 4 | 다시 하기 단추를 눌렀습니다.
vbIgnore | 5 | 무시 단추를 눌렀습니다.
vbYes | 6 | 예 단추를 눌렀습니다.
vbNo | 7 | 아니오 단추를 눌렀습니다.


메시지 상자 상수

메시지 상자 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
문자열 상수
비교 상수
색 상수


특수 폴더 상수

특수 폴더 상수 		Scripting 런타임 참조
버전 3

참고

상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
WindowsFolder | 0 | Windows 운영 체제로 설치한 파일이 들어 있는 Windows 폴더입니다.
SystemFolder | 1 | 라이브러리, 글꼴 및 장치 드라이버가 들어 있는 시스템 폴더입니다.
TemporaryFolder | 2 | 임시 파일을 저장하는 데 사용되는 임시 폴더로 이 폴더의 경로는 TMP 환경 변수에 나타납니다.


특수 폴더 상수

특수 폴더 상수
참고 		Scripting 런타임 참조

Tristate 상수
드라이브 형식 상수
비교 상수
파일 속성 상수
파일 입/출력 상수


문자열 상수

문자열 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbCr | Chr(13) | 캐리지 리턴
vbCrLf | Chr(13) & Chr(10) | 캐리지 리턴-라인 피드 조합
vbFormFeed | Chr(12) | 폼 피드. Microsoft Windows에서는 사용되지 않습니다.
vbLf | Chr(10) | 라인 피드
vbNewLine | Chr(13) & Chr(10) 또는 Chr(10) | 각 플랫폼에 따라 적절한 플랫폼 특정의 줄 바꿈 문자
vbNullChar | Chr(0) | 값이 0인 문자
vbNullString | 값이 0인 문자열 | 길이가 0인 문자열("")과 다르며, 외부 프로시저를 호출하는 데 사용됩니다.
vbTab | Chr(9) | 수평 탭
vbVerticalTab | Chr(11) | 수직 탭. Microsoft Windows에서는 사용되지 않습니다.


문자열 상수

문자열 상수
참고 		언어 참조

Tristate 상수
Variant 형식 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
메시지 상자 상수
비교 상수
색 상수


Tristate 상수

Tristate 상수 		언어 참조
버전 2

참고

이 상수들은 VBScript에 들어 있으므로 사용하기 전에 정의하지 않아도 됩니다. 코드의 어느 곳에서든 사용하여 각 값을 나타낼 수 있습니다.

상수 | 값 | 설명
vbUseDefault | -2 | 컴퓨터의 국가별 설정 기본값 사용
vbTrue | -1 | True
vbFalse | 0 | False


Tristate 상수

Tristate 상수
참고 		언어 참조

Variant 형식 상수
색 상수
비교 상수
날짜/시간 상수
날짜 형식 상수
기타 상수
메시지 상자 상수
문자열 상수


Variant 형식 상수

Variant 형식 상수 		언어 참조
버전 2

참고

상수 정의를 포함하는 해당 형식 라이브러리를 프로젝트에서 명시적으로 참조하는 경우에만 아래 상수들을 사용할 수 있습니다. VBScript에서는 이 상수들을 코드에 명시적으로 선언해야 합니다.

상수 | 값 | 설명
vbEmpty | 0 | 초기화되지 않음(기본값)
vbNull | 1 | 유효한 데이터 없음
vbInteger | 2 | Integer 하위 형식
vbLong | 3 | Long 하위 형식
vbSingle | 4 | Single 하위 형식
vbDouble | 5 | Double 하위 형식
vbCurrency | 6 | Currency 하위 형식
vbDate | 7 | Date 하위 형식
vbString | 8 | String 하위 형식
vbObject | 9 | 개체
vbError | 10 | Error 하위 형식
vbBoolean | 11 | Boolean 하위 형식
vbVariant | 12 | Variant(변이형 배열에만 사용)
vbDataObject | 13 | Data 액세스 개체
vbDecimal | 14 | Decimal 하위 형식
vbByte | 17 | Byte 하위 형식
vbArray | 8192 | 배열


Variant 형식 상수

Variant 형식 상수
참고 		언어 참조

Tristate 상수
기타 상수
날짜 형식 상수
날짜/시간 상수
메시지 상자 상수
문자열 상수
비교 상수
색 상수


VBScript 상수

VBScript 상수 		언어 참조
버전 2

참고

코드에 사용할 수 있는 여러 유용한 상수가 VBScript에 내장되어 있습니다. 상수를 이용하면 실제로 값을 기억할 필요 없이 특정 값을 편리하게 사용할 수 있습니다. 또한 어떠한 상수 값을 변경할 경우 코드의 유지 보수를 용이하게 할 수 있습니다. 이들 상수는 이미 VBScript에 정의되어 있기 때문에, 코드에 이들을 명시적으로 선언하지 않아도 됩니다. 코드의 어느 곳에서든 실제 값 대신 단순히 이 상수를 사용하면 됩니다.

다음은 VBScript에서 제공하는 여러 범주의 상수에 대한 간단한 설명입니다.

색 상수
스크립트에서 사용할 수 있는 8가지 기본 색상을 정의합니다.

날짜 및 시간 상수
여러 가지 날짜 및 시간 함수에서 사용되는 날짜 및 시간 상수를 정의합니다.

날짜 형식 상수
날짜 및 시간 형식 지정에 사용되는 상수를 정의합니다.

기타 상수
정확히 어떠한 범주에도 들지 않는 상수를 정의합니다.

메시지 상자 상수
MsgBox 함수에서 단추 보이기, 레이블, 동작 및 반환 값을 설명하기 위해 사용하는 상수를 정의합니다.

문자열 상수
문자열 조작에 사용되는 여러 가지 인쇄할 수 없는 문자를 정의합니다.

Tristate 상수
숫자의 형식을 지정하는 함수에서 사용되는 상수를 정의합니다.

Variant 형식 상수
Variant에서 파생된 여러 가지 형식을 정의합니다.


VBScript 상수

VBScript 상수
참고 		언어 참조

FileSystemObject상수


Initialize 이벤트

Initialize 이벤트 		언어 참조
버전 5

참고 적용

설명
관련 클래스의 인스턴스가 만들어질 때 발생합니다.
구문
Private Sub classname_Initialize()
statements
End Sub

Initialize 이벤트는 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
classname | 필수적인 요소. Class 문을 사용하여 정의한 클래스 이름입니다.
statements | 선택적인 요소. 클래스가 초기화될 때 실행되는 코드입니다.


Initialize 이벤트

Initialize 이벤트
적용 대상 		언어 참조

Class 개체


Initialize 이벤트

Initialize 이벤트
참고 		언어 참조

Class 개체
Class 문
Terminate 이벤트


Terminate 이벤트

Terminate 이벤트 		언어 참조
버전 5

참고 적용

설명
관련 클래스의 인스턴스가 종료될 때 발생합니다.
구문
Private Sub classname_Terminate()
statements
End Sub

Terminate 이벤트는 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
classname | 필수적인 요소. Class 문을 사용하여 정의된 클래스 이름입니다.
statements | 선택적인 요소. 클래스가 종료될 때 실행되는 코드입니다.


Terminate 이벤트

Terminate 이벤트
적용 대상 		언어 참조

Class 개체


Terminate 이벤트

Terminate 이벤트
참고 		언어 참조

Class 개체
Class 문
Initialize 이벤트


Abs 함수

Abs 함수 		언어 참조
버전 1

참고

설명
수의 절대값을 반환합니다.
구문
Abs(number)

number 인수는 유효한 수식이면 됩니다. number에 Null이 있으면 Null을 반환합니다. 그리고 초기화되지 않는 변수이면 0을 반환합니다.

참고
수의 절대값은 부호가 없는 크기만을 나타냅니다. 예를 들어 Abs(-1)과 Abs(1)은 모두 1을 반환합니다.

아래 예제에서 Abs 함수는 수의 절대값을 계산합니다.

Dim MyNumber
MyNumber = Abs(50.3)  '50.3을 반환합니다.
MyNumber = Abs(-50.3) '50.3을 반환합니다.


Abs 함수

Abs 함수
참고 		언어 참조

Sgn 함수


Array 함수

Array 함수 		언어 참조
버전 2

참고

설명
배열을 가지고 있는 Variant를 반환합니다.
구문
Array(arglist)

필수적인 arglist 인수는 쉼표로 구분되는 값의 목록으로 Variant에 포함되는 배열 요소로 지정됩니다. 인수를 지정하지 않으면 길이가 0인 배열을 만듭니다.

참고
배열 요소 참조에 사용되는 표기법은 뒤따르는 괄호 안에 원하는 요소를 가리키는 인덱스 번호가 있는 변수 이름으로 구성됩니다. 아래 예제의 경우 첫째 문에서 A 변수를 만들고, 둘째 문에서 A 변수에 대한 배열을 지정합니다. 그리고 마지막 문에서 다른 변수에 대한 둘째 배열 요소의 값을 지정합니다.
Dim A
A = Array(10,20,30)
B = A(2)  ' B 값은 30입니다.
메모  배열로 선언되지 않은 변수일지라도 나중에 배열을 가질 수 있습니다. 배열을 가지고 있는 Variant 변수는 개념적으로 Variant 요소를 가지는 배열 변수와 다르지만 같은 방법으로 배열 요소를 액세스합니다.


Array 함수

Array 함수
참고 		언어 참조

Dim 문


Asc 함수

Asc 함수 		언어 참조
버전 1

참고

설명
문자열에서 첫 글자에 해당하는 ANSI 문자 코드를 반환합니다.
구문
Asc(string)

string 인수는 유효한 문자식이면 됩니다. string에 문자가 전혀 없으면 런타임 오류가 발생합니다.

참고
Asc는 아래 예제에서 각 문자열의 첫 글자에 해당하는 ANSI 문자 코드를 반환합니다.
Dim MyNumber
MyNumber = Asc("A")      '65를 반환합니다.
MyNumber = Asc("a")      '97을 반환합니다.
MyNumber = Asc("Apple")  '65를 반환합니다.
메모 AscB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. AscB는 첫 문자의 문자 코드가 아니라 그 문자의 첫 바이트를 반환합니다. AscW 함수는 Unicode 문자를 사용하는 32비트 플랫폼을 위해 제공되고 있습니다. 이 함수는 Unicode 문자 코드를 반환하므로 Unicode에서 ANSI 코드로 변환할 필요가 없습니다.


Asc 함수

Asc 함수
참고 		언어 참조

Chr 함수


Atn 함수

Atn 함수 		언어 참조
버전 1

참고

설명
수의 아크 탄젠트를 반환합니다.
구문
Atn(number)

number 인수는 유효한 수식이면 됩니다.

참고
Atn 함수는 직각 삼각형에 있는 두 변의 길이에 의한 비(number)를 사용하여 라디안 단위의 동위각을 반환합니다. 이 비는 해당 각의 맞은 쪽에 있는 변의 길이를 이 각에 인접한 변의 길이로 나눈 것입니다. 결과의 범위는 -pi/2에서 pi/2 라디안까지입니다.

도를 라디안으로 변환하려면 도에 pi/180를 곱하고, 라디안을 도로 변환하려면 라디안에 180/pi를 곱합니다.

아래 예제에서 Atn은 pi 값을 계산합니다.

Dim pi
pi = 4 * Atn(1)   ' pi 값을 계산합니다.
메모 Atn 함수는 인수로 각을 사용하여 직각 삼각형의 두 변의 비를 반환하는 Tan의 역 삼각 함수입니다. Atn을 단순히 탄젠트의 역(1/탄젠트)인 코탄젠트와 혼동하지 마십시오.


Atn 함수

Atn 함수
참고 		언어 참조

Cos 함수
파생된 수학 함수
Sin 함수
Tan 함수


CBool 함수

CBool 함수 		언어 참조
버전 1

참고

설명
Boolean 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CBool(expression)

expression 인수는 유효한 식이면 됩니다.

참고
expression이 0이면 False를 반환하고, 그렇지 않으면 True를 반환합니다. expression을 숫자 값으로 해석할 수 없으면 런타임 오류가 발생합니다.

아래 예제에서 CBool 함수는 식을 Boolean으로 변환합니다. 식이 0 값이 아니라면 CBool은 True를 반환하고 그렇지 않으면 False를 반환합니다.

Dim A, B, Check
A = 5: B = 5            ' 변수를 초기화합니다.
Check = CBool(A = B)    ' Check는 True를 가집니다.

A = 0                   ' 변수를 정의합니다.
Check = CBool(A)        ' Check는 False를 가집니다.


CBool 함수

CBool 함수
참고 		언어 참조

CByte 함수
CCur 함수
CDate 함수
CDbl 함수
CInt 함수
CLng 함수
CSng 함수
CStr 함수


CByte 함수

CByte 함수 		언어 참조
버전 1

참고

설명
Byte 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CByte(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 하위 형식의 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 통화, 단정밀도, 배정밀도 또는 정수 산술 연산을 할 경우에 CByte를 사용하면 바이트 산술 연산을 하게 됩니다.

CByte 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Byte 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

expression이 Byte 하위 형식의 허용 범위를 넘으면 오류가 발생합니다. 아래 예제에서 CByte 함수는 식을 바이트로 변환합니다.

Dim MyDouble, MyByte
MyDouble = 125.5678         ' MyDouble은 Double입니다.
MyByte = CByte(MyDouble)    ' MyByte는 값 126을 가집니다.


CByte 함수

CByte 함수
참고 		언어 참조

CBool 함수
CCur 함수
CDate 함수
CDbl 함수
CInt 함수
CLng 함수
CSng 함수
CStr 함수


CCur 함수

CCur 함수 		언어 참조
버전 1

참고

설명
Currency 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CCur(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 하위 형식의 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 정수 산술 연산을 할 경우에 CCur를 사용하면 통화 산술 연산이 실행되도록 할 수 있습니다.

CCur 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Currency 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

아래 예제에서 CCur 함수는 식을 Currency로 변환합니다.

Dim MyDouble, MyCurr
MyDouble = 543.214588          ' MyDouble은 Double입니다.
MyCurr = CCur(MyDouble * 2)    ' MyDouble에 2 (1086.429176)를 곱한 값을 Currency (1086.4292)로 변환합니다.


CCur 함수

CCur 함수
참고 		언어 참조

CBool 함수
CByte 함수
CDate 함수
CDbl 함수
CInt 함수
CLng 함수
CSng 함수
CStr 함수


CDate 함수

CDate 함수 		언어 참조
버전 1

참고

설명
Date 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CDate(date)

date 인수는 유효한 날짜식이면 됩니다.

참고
IsDate 함수를 사용하면 date 인수가 날짜나 시간으로 변환될 수 있는지 결정합니다. CDate 함수는 날짜 리터럴 및 시간 리터럴과 함께 날짜의 허용 범위 안에 있는 숫자를 인식합니다. 숫자를 날짜로 변환하면 정수 부분이 날짜로 변환합니다. 소수 부분은 자정을 시작으로 하는 하루 중의 시간으로 변환합니다.

CDate 함수는 컴퓨터의 로케일 설정에 따른 날짜 형식을 인식합니다. 인식하지 않는 날짜 형식을 제공하면 년, 월, 일 순서를 올바르게 결정할 수 없습니다. 또한 요일에 해당하는 문자열이 있을지라도 자세하게 표시 날짜 형식을 인식하지 않습니다.

아래 예제에서 CDate 함수는 문자열을 날짜로 변환합니다. 대개 이 예제에서와 같이 문자열로 하드 코드화된 날짜와 시간은 사용하기에 좋지 않습니다. 대신 #10/19/1962#, #4:45:23 PM#와 같은 날짜와 시간 리터럴을 사용합니다.

MyDate = "1962년 10월 19일"	' 날짜를 결정합니다.
MyShortDate = CDate(MyDate)	' Date 데이터 형식으로 변환합니다.
MyTime = "4:35:47 PM"		' 시간을 결정합니다.
MyShortTime = CDate(MyTime)	' Date 데이터 형식으로 변환합니다.


CDate 함수

CDate 함수
참고 		언어 참조

IsDate 함수


CDbl 함수

CDbl 함수 		언어 참조
버전 1

참고

설명
Double 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CDbl(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 하위 형식의 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 통화, 정수 산술 연산을 할 경우에 CDbl 또는 CSng를 사용하면 단정밀도나 배정밀도 산술 연산을 하게 됩니다.

CDbl 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Double 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

아래 예제에서 CDbl 함수는 식을 Double로 변환합니다.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)               ' MyCurr는 Currency입니다(234.4567).
MyDouble = CDbl(MyCurr * 8.2 * 0.01)    ' 결과를 Double로 변환합니다(19.2254576).


CDbl 함수

CDbl 함수
참고 		언어 참조

CBool 함수
CByte 함수
CCur 함수
CDate 함수
CInt 함수
CLng 함수
CSng 함수
CStr 함수


Chr 함수

Chr 함수 		언어 참조
버전 1

참고

설명
지정한 ANSI 문자 코드와 연관된 문자를 반환합니다.
구문
Chr(charcode)

charcode 인수는 문자를 식별하는 번호입니다.

참고
0번에서 31번까지는 인쇄할 수 없는 ASCII 표준 코드와 같습니다. 예를 들어 Chr(10)은 라인 피드 문자를 반환합니다.

아래 예제에서 Chr 함수는 지정한 문자 코드와 연관된 문자를 반환합니다.

Dim MyChar
MyChar = Chr(65)    ' A를 반환합니다.
MyChar = Chr(97)    ' a를 반환합니다.
MyChar = Chr(62)    ' >를 반환합니다.
MyChar = Chr(37)    ' %를 반환합니다.
메모 ChrB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. 1바이트나 2바이트 문자가 아니라 항상 1바이트를 반환합니다. ChrW 함수는 Unicode 문자를 사용하는 32비트 플랫폼을 위해 제공되고 있습니다. 이 함수의 인수는 Unicode 문자 코드이므로 ANSI에서 Unicode로 변환할 필요가 없습니다.


Chr 함수

Chr 함수
참고 		언어 참조

Asc 함수


CInt 함수

CInt 함수 		언어 참조
버전 1

참고

설명
Integer 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CInt(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 하위 형식의 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 통화, 단정밀도, 배정밀도 산술 연산을 할 경우에 CInt 또는 CLng 함수를 사용하면 정수 산술 연산을 하게 됩니다.

CInt 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Integer 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

expression이 Integer 하위 형식의 허용 범위를 넘으면 오류가 발생합니다.

아래 예제에서 CInt 함수는 값을 정수로 변환합니다.

Dim MyDouble, MyInt
MyDouble = 2345.5678      ' MyDouble은 Double입니다.
MyInt = CInt(MyDouble)    ' MyInt는 값 2346을 가집니다.
메모 CInt는 소수점 이하를 반올림하는 대신 잘라버리는 Fix, Int 함수 등과 다릅니다. 소수점 이하 부분이 정확히 0.5이면 CInt 함수는 항상 가장 가까운 짝수로 반올림합니다. 예를 들어 0.5는 0으로 반올림하고, 1.5는 2로 반올림합니다.


CInt 함수

CInt 함수
참고 		언어 참조

CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
CLng 함수
CSng 함수
CStr 함수
Int, Fix 함수


CLng 함수

CLng 함수 		언어 참조
버전 1

참고

설명
Long 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CLng(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 하위 형식의 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 통화, 단정밀도, 배정밀도 산술 연산을 할 경우에 CInt 또는 CLng 함수를 사용하면 정수 산술 연산을 하게 됩니다.

CLng 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Long 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

expression이 Long 하위 형식의 허용 범위를 넘으면 오류가 발생합니다.

아래 예제에서 CLng 함수는 값을 Long으로 변환합니다.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55	' MyVal1과 MyVal2는 Doubles입니다.
MyLong1 = CLng(MyVal1)			' MyLong1은 값 25427을 가집니다.
MyLong2 = CLng(MyVal2)			' MyLong2은 값 25428을 가집니다.
메모 CLng 함수는 소수점 이하를 반올림하는 대신 잘라버리는 Fix와 Int 함수와 다릅니다. 소수점 이하 부분이 정확히 0.5이면 CLng 함수는 항상 가장 가까운 짝수로 반올림합니다. 예를 들어 0.5는 0으로 반올림하고, 1.5는 2로 반올림합니다.


CLng 함수

CLng 함수
참고 		언어 참조

CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
CInt 함수
CSng 함수
CStr 함수
Int, Fix 함수


Cos 함수

Microsoft® Visual Basic® cripting Edition
Cos 함수 		언어 참조
버전 1

참고

설명
각의 코사인 값을 반환합니다.
구문
Cos(number)

number 인수는 각을 라디안으로 표시하는 유효한 수식이면 됩니다.

참고
Cos 함수는 각을 사용하고 직각 삼각형의 두 변의 비 즉, 각의 접변과 빗변 사이의 길이의 비를 반환합니다. 결과의 범위는 -1에서 1까지입니다.

각을 라디안으로 변환하려면 각에 pi/180를 곱하고, 라디안을 각으로 변환하려면 라디안에 180/pi를 곱합니다.

아래 예제에서 Cos 함수는 각의 코싸인 값을 반환합니다.

Dim MyAngle, MySecant
MyAngle = 1.3                ' 각을 라디안으로 정의합니다.
MySecant = 1 / Cos(MyAngle)  ' 시컨트 값을 계산합니다.


Cos 함수

Cos 함수
참고 		언어 참조

Atn 함수
Sin 함수
Tan 함수
파생된 수학 함수


CreateObject 함수

CreateObject 함수 		언어 참조
버전 2

참고

설명
자동화 개체에 대한 참조를 만들어 반환합니다.
구문
CreateObject(servername.typename [, location])

CreateObject 함수 구문은 다음과 같은 부분으로 되어 있습니다.

인수 | 설명
servername | 필수적인 인수. 개체를 제공하는 응용 프로그램의 이름입니다.
typename | 필수적인 인수. 만들 개체의 형식이나 클래스입니다.
location | 선택적인 인수. 개체가 작성되는 네트워크 서버의 이름입니다.

참고
자동화 서버에서는 적어도 하나 이상의 개체 형식을 제공합니다. 예를 들어 워드 프로세싱 프로그램은 응용 프로그램 개체, 문서 개체 및 도구 모음 개체를 제공합니다.

자동화 개체를 만들려면 아래와 같이 CreateObject 함수에서 반환한 개체를 개체 변수로 지정합니다.

Dim ExcelSheet
Set ExcelSheet = CreateObject("Excel.Sheet")
이 코드는 해당 개체, 즉 Microsoft Excel 스프레드 시트를 만드는 응용 프로그램을 시작합니다. 일단 개체를 만든 후에는 사용자가 정의한 개체 변수를 사용하여 코드 안에서 그 개체를 참조합니다. 아래 예제에서와 같이 Application 개체와 ActiveSheet.Cells 컬렉션을 포함하여 ExcelSheet 개체 변수 및 Excel 개체를 사용하여 새 개체의 속성과 메서드를 액세스할 수 있습니다.
' Application 개체를 통해 Excel 프로그램이 나타나도록 합니다.
ExcelSheet.Application.Visible = True
' 시트의 첫째 셀에 텍스트를 놓습니다.
ExcelSheet.ActiveSheet.Cells(1,1).Value = "A열 1행입니다."
' 시트를 저장합니다.
ExcelSheet.SaveAs "C:\DOCS\TEST.XLS"
' Application 개체의 Quit 메서드를 사용하여 Excel 프로그램을 닫습니다.
ExcelSheet.Application.Quit
' 개체 변수를 릴리즈합니다.
Set ExcelSheet = Nothing
인터넷 보안 기능이 꺼져 있을 때에만 원격 서버에 개체를 작성할 수 있습니다. 컴퓨터의 이름을 CreateObject의 servername 인수로 전달하여 원격 네트워크 서버에 개체를 작성할 수 있습니다. 이 이름은 공유 이름의 시스템 이름 부분과 동일합니다. 네트워크의 공유 이름이 "\\myserver\public"인 경우 servername은 "myserver"입니다. 또한 DNS 형식이나 IP 주소를 사용하여 servername을 지정할 수 있습니다.

다음 코드는 이름이 "myserver"인 원격 네트워크 컴퓨터에서 실행되는 Excel 인스턴스의 버전 번호를 반환합니다.

Function GetVersion
  Dim XLApp
  Set XLApp = CreateObject("Excel.Application", "MyServer")
  GetVersion = XLApp.Version
End Function
지정한 원격 서버가 존재하지 않거나 발견되지 않으면 오류가 발생합니다.


CreateObject 함수

CreateObject 함수
참고 		언어 참조

GetObject 함수


CSng 함수

CSng 함수 		언어 참조
버전 1

참고

설명
Single 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CSng(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 데이터 형식 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 일반적으로 통화나 정수 산술 연산을 할 경우에 CDbl 또는 CSng를 사용하면 단정밀도나 배정밀도 산술 연산을 하게 됩니다.

CSng 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 Single 하위 형식으로 변환합니다. 예를 들어 천 단위 구분 기호처럼 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

expression이 Single 하위 형식의 허용 범위를 넘으면 오류가 발생합니다.

아래 예제에서 CSng 함수는 값을 Single로 변환합니다.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2	' MyDouble1과 MyDouble2는 Doubles입니다.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)			' MySingle1은 값 75.34211을 가집니다.
MySingle2 = CSng(MyDouble2)			' MySingle2은 값 75.34216.을 가집니다.


CSng 함수

CSng 함수
참고 		언어 참조

CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
CInt 함수
CLng 함수
CStr 함수


CStr 함수

CStr 함수 		언어 참조
버전 1

참고

설명
String 하위 형식의 Variant로 변환된 식을 반환합니다.
구문
CStr(expression)

expression 인수는 유효한 식이면 됩니다.

참고
대개 데이터 형식 변환 함수를 사용하여 코드를 작성하면 연산 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 나타나는 것을 볼 수 있습니다. 예를 들어 CStr를 사용하면 이 결과를 String으로 표시하게 됩니다.

Str 함수 대신 CStr 함수를 사용하면 다른 형식의 데이터를 국제적으로 통용되는 String 하위 형식으로 변환합니다. 예를 들어 서로 다른 자릿수 구분 기호는 컴퓨터의 로케일 설정에 따라 적절하게 인식됩니다.

expression에서 사용하는 데이터는 아래 표처럼 반환되는 결과를 결정합니다.

expression의 데이터 | CStr 반환 결과
Boolean | True 또는 False를 포함하는 문자열
Date | 컴퓨터에서 설정된 간단하게 표시 날짜 형식의 날짜를 포함하는 문자열
Null | 런타임 오류
Empty | 길이가 0인 문자열("")
Error | Error 단어 다음에 오류 번호가 나타나는 문자열
기타 숫자 | 번호를 포함하는 문자열

아래 예제에서 CStr 함수는 숫자 값을 String으로 변환합니다.

Dim MyDouble, MyString
MyDouble = 437.324         ' MyDouble은 Double입니다.
MyString = CStr(MyDouble)  ' MyString은 값 "437.324"를 가집니다.


CStr 함수

CStr 함수
참고 		언어 참조

CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
CInt 함수
CLng 함수
CSng 함수


Date 함수

Date 함수 		언어 참조
버전 1

참고

설명
현재 시스템의 날짜를 반환합니다.
구문
Date
참고
아래 예제에서 Date 함수는 현재 시스템 날짜를 반환합니다.
Dim MyDate
MyDate = Date    ' MyDate는 현재 시스템 날짜를 가집니다.


DateAdd 함수

DateAdd 함수 		언어 참조
버전 2

참고

설명
지정된 시간 간격을 추가한 날짜를 반환합니다.
구문
DateAdd(interval, number, date)

DateAdd 함수 구문은 아래 인수를 가집니다.

인수 | 설명
interval | 필수적인 인수. interval을 추가한 날짜를 나타내는 문자식입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
number | 필수적인 인수. 추가할 간격 수의 수식입니다. 수식에서 양수는 미래의 날짜, 음수는 과거의 날짜입니다.
date | 필수적인 인수. interval을 추가한 날짜를 나타내는 Variant 또는 리터럴입니다.

설정
interval 인수의 값은 아래와 같습니다.

설정 | 설명
yyyy | 년
q | 분기
m | 월
y | 일(일년 기준)
d | 일
w | 요일
ww | 주(일년 기준)
h | 시
n | 분
s | 초

참고
DateAdd 함수를 사용하면 날짜에서 지정한 시간 간격을 더하거나 뺄 수 있습니다. 예를 들어 DateAdd 함수를 사용하면 오늘부터 30일 뒤의 날짜 또는 현재 시간에서 45분 뒤의 시간을 계산할 수 있습니다. date에 어느 날을 더하려면 일년을 기준으로 한 일("y"), 일("d") 또는 요일("w")을 사용하면 됩니다.

DateAdd 함수에서는 잘못된 날짜는 반환하지 않습니다. 아래 예제는 1월 31일에 한 달을 더합니다.

NewDate = DateAdd("m", 1, "31-Jan-95")
이 경우 DateAdd 함수에서는 31-Feb-95가 아니라 28-Feb-95를 반환합니다. date가 31-Jan-96이면 1996년이 윤년이므로 29-Feb-96을 반환합니다.

계산되는 날짜가 서기 100년 이전이면 오류가 발생합니다.

Long 값의 수가 아니면 계산하기 전에 먼저 가장 가까운 정수로 반올림합니다.


DateAdd 함수

DateAdd 함수
참고 		언어 참조

DateDiff 함수
DatePart 함수


Date 함수

Date 함수
참고 		언어 참조

CDate 함수
Now 함수
Time 함수


DateDiff 함수

DateDiff 함수 		언어 참조
버전 2

참고

설명
두 날짜 사이의 간격 수를 반환합니다.
구문
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 함수 구문은 아래 인수를 가집니다.

인수 | 설명
interval | 필수적인 인수. date1과 date2 사이의 차이를 계산하는 데 사용할 interval의 문자식. 그 값에 대해서는 아래의 설정을 참조하십시오.
date1, date2 | 필수적인 인수. 날짜식에서 계산에 사용할 두 날짜입니다.
firstdayofweek | 선택적인 인수. 평일을 지정하는 상수로 지정하지 않으면 일요일로 간주합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
firstweekofyear | 선택적인 인수. 연도를 기준으로 한 첫째 주를 지정하는 상수입니다. 지정하지 않으면 1월 1일을 포함하는 주를 첫째 주로 간주합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
interval 인수의 값은 아래와 같습니다.

설정 | 설명
yyyy | 년
q | 분기
m | 월
y | 일(일년 기준)
d | 일
w | 요일
ww | 주(일년 기준)
h | 시
n | 분
s | 초

firstdayofweek 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS(National Language Support) API 설정 사용
vbSunday | 1 | 일요일(기본값)
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일

firstweekofyear 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS(National Language Support) API 설정 사용
vbFirstJan1 | 1 | 1월 1일을 포함하는 주에서 시작(기본값)
vbFirstFourDays | 2 | 새해의 처음 4일을 포함하는 주에서 시작
vbFirstFullWeek | 3 | 새해의 처음 한 주일(7일)을 포함하는 주에서 시작

참고
DateDiff 함수를 사용하면 두 날짜 사이에 얼마만한 시간 간격이 있는지를 알 수 있습니다. 예를 들어 DateDiff 함수를 사용하여 두 날짜 사이의 일 수 또는 오늘부터 올해 말까지의 주일 수를 계산할 수 있습니다.

date1과 date2 사이의 날짜 수를 계산하려면 연도를 기준으로 한 일("y")이나 일("d")을 사용할 수 있습니다. interval이 요일("w")이면 DateDiff 함수는 두 날짜 사이의 주일 수를 반환합니다. date1이 월요일인 경우 DateDiff 함수는 date2까지의 월요일 수를 계산합니다. 즉, date1이 아니라 date2를 계산합니다. 그러나 interval이 주("ww")인 경우 DateDiff 함수는 두 날짜 사이의 달력 상의 주일 수를 반환합니다. 즉, date1에서 date2 사이의 일요일 수를 계산합니다. DateDiff 함수에서는 date2가 일요일이면 date2를 계산하지만, date1도 일요일인 경우 date1은 계산하지 않습니다.

date1이 date2보다 더 나중의 시점인 경우, DateDiff 함수는 음수를 반환합니다.

firstdayofweek 인수는 "w" 및 "ww" 간격 기호를 사용하는 계산에 영향을 미칩니다.

date1이나 date2가 날짜 리터럴인 경우 지정한 연도는 해당 날짜의 영구적인 요소가 됩니다. 그러나 date1이나 date2가 인용 부호(" ")로 둘러 싸이고 해당 연도를 생략할 경우 date1이나 date2 식을 계산할 때마다 사용자의 코드에 현재 연도가 삽입됩니다. 이런 방식으로 다음 연도에도 사용할 수 있는 코드를 작성할 수 있습니다.

12월 31일을 바로 다음 해의 1월 1일과 비교할 경우 단 하루가 경과했을지라도 DateDiff는 년("yyyy") 인수에 1을 반환합니다.

아래 예제에서 DateDiff 함수는 주어진 날짜로부터 현재까지의 경과일을 표시합니다.

Function DiffADate(theDate)
  DiffADate = "경과일: " & DateDiff("d", Now, theDate)
End Function


DateDiff 함수

DateDiff 함수
참고 		언어 참고

DateAdd 함수
DatePart 함수


DatePart 함수

DatePart 함수 		언어 참조
버전 2

참고

설명
주어진 날짜의 지정된 부분을 반환합니다.
구문
DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

DatePart 함수 구문은 아래 인수를 가집니다.

인수 | 설명
interval | 필수적인 인수. 반환할 시간 간격의 문자식입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
date | 필수적인 인수. 계산할 날짜식입니다.
firstdayof week | 선택적인 인수. 요일을 지정하는 상수로서 지정하지 않으면 일요일로 간주합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
firstweekofyear | 선택적인 인수. 연도를 기준으로 한 첫째 주를 지정하는 상수입니다. 지정하지 않으면 1월 1일을 포함하는 주를 첫째 주로 간주합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
interval 인수의 값은 아래와 같습니다.

설정 | 설명
yyyy | 년
q | 분기
m | 월
y | 일(일년 기준)
d | 일
w | 요일
ww | 주(일년 기준)
h | 시
n | 분
s | 초

firstdayofweek 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS(National Language Support) API 설정 사용
vbSunday | 1 | 일요일(기본값)
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일

firstweekofyear 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS(National Language Support) API 설정 사용
vbFirstJan1 | 1 | 1월 1일을 포함하는 주에서 시작(기본값)
vbFirstFourDays | 2 | 새해의 처음 4일을 포함하는 주에서 시작
vbFirstFullWeek | 3 | 새해의 처음 한 주일(7일)을 포함하는 주에서 시작

참고
DatePart 함수를 사용하면 날짜를 계산하고 특정 시간 간격을 반환합니다. 예를 들어 DatePart를 사용하여 요일이나 현재 시간을 계산할 수 있습니다.

firstdayofweek 인수는 "w" 및 "ww" 간격 기호를 사용하는 계산에 영향을 줍니다.

date가 날짜 리터럴인 경우 지정한 연도는 해당 날짜의 영구적인 요소가 됩니다. 그러나 date가 인용 부호(" ")로 둘러 싸이고 해당 연도를 생략할 경우 date식을 계산할 때마다 사용자의 코드에 현재 연도가 삽입됩니다. 이런 방식으로 다른 해에도 사용할 수 있는 코드를 작성할 수 있습니다.

아래 예제는 날짜를 가지고 DatePart 함수를 사용하여 해당 연도의 분기를 표시합니다.

Function GetQuarter(TheDate)
  GetQuarter = DatePart("q", TheDate)
End Funtion


DatePart 함수

DatePart 함수
참고 		언어 참조

DateAdd 함수
DateDiff 함수


DateSerial 함수

DateSerial 함수 		언어 참조
버전 1

참고

설명
지정된 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
구문
DateSerial(year, month, day)

DateSerial 함수 구문은 아래 인수를 가집니다.

인수 | 설명
year | 100에서 9999까지의 수 또는 수식
month | 모든 수식
day | 모든 수식

참고
예를 들어 1991년 12월 31일처럼 어떤 날짜를 지정하려면 각 DateSerial 인수의 숫자는 해당 인수의 허용 범위 안에 있어야 합니다. 즉, 일은 1-31이며, 월은 1-12입니다. 그러나 특정 날짜의 앞 뒤에 년, 월, 일 등을 나타내는 수식을 사용하여 각 인수의 상대 날짜를 지정할 수 있습니다.

아래 예제는 절대 날짜 수 대신 수식을 사용합니다. 여기서 DateSerial 함수는 1990년의 10년 전(1990-10) 8월의 2개월 전(8-2) 첫째 날에서 하루를 뺀 날짜(1-1), 즉 1980년 5월 31일을 반환합니다.

Dim MyDate1, MyDate2
MyDate1 = DateSerial(1970, 1, 1)		' 1970년 1월 1일을 반환합니다.
MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1)	' 1980년 5월 31을 반환합니다.
year 인수의 값이 0에서 99까지의 값이면1900년에서 1999년까지로 해석됩니다. 그 밖의 모든 year 인수에서는 1800년처럼 4자릿수의 완전한 연도를 사용합니다.

인수가 허용되는 범위를 넘으면 그 다음으로 큰 단위로 넘어갑니다. 예를 들어 35일을 지정하면 적용 연도에 따라 1개월 며칠로 계산합니다. 그러나 어느 한 인수가 -32,768~32,767 범위를 넘는 인수이거나 세 인수를 사용하여 직접 또는 식으로 지정한 날짜가 허용 범위를 넘을 경우 오류가 발생합니다.


DateSerial 함수

DateSerial 함수
참고 		언어 참조

Date 함수
DateValue 함수
Day 함수
Month 함수
Now 함수
TimeSerial 함수
TimeValue 함수
Weekday 함수
Year 함수


DateValue 함수

DateValue 함수 		언어 참조
버전 1

참고

설명
Date 하위 형식의 Variant를 반환합니다.
구문
DateValue(date)

대개 date 인수는 100년 1월 1일에서 9999년 12월 31일까지를 나타내는 문자식으로 이 범위에 있는 날짜, 시간 또는 날짜/시간을 나타내는 식입니다.

참고
date 인수에 시간 정보가 있는 경우 DateValue 함수에서는 그 정보를 반환하지 않습니다. 그러나 date 인수에 "89:98"처럼 잘못된 시간 정보가 있으면 오류가 발생합니다.

date 인수가 유효한 날짜 구분 기호로 분리된 숫자만 있는 문자열인 경우, DateValue 함수에서는 컴퓨터에 설정한 간단한 표시 날짜 형식에 따라 년, 월, 일에 대한 순서로 인식하게 됩니다. 또한 정식이나 약식의 월 이름을 포함하고 있는 명확한 날짜도 인식합니다. 예를 들어 DateValue 함수는 2/30/1991과 12/30/91 뿐만 아니라 December 30,1991과 Dec 30,1991을 모두 인식합니다.

date 인수에서 연도 부분을 생략할 경우 DateValue 함수는 컴퓨터 시스템에 설정되어 있는 현재 연도를 사용합니다.

아래 예제에서 DateValue 함수는 문자열을 날짜로 변환합니다. 날짜 리터럴을 사용하여 직접 날짜를 Variant 변수에 할당할 수도 있습니다.(예: MyDate = #9/11/63#).

Dim MyDate
MyDate = DateValue("September 11, 1963")    ' 날짜를 반환합니다.


DateValue 함수

DateValue 함수
참고 		언어 참조

CDate 함수
DateSerial 함수
Day 함수
Month 함수
Now 함수
TimeSerial 함수
TimeValue 함수
Weekday 함수
Year 함수


Day 함수

Day 함수 		언어 참조
버전 1

참고

설명
날짜를 나타내는 1에서 31까지의 정수를 반환합니다.
구문
Day(date)

date 인수는 날짜를 표현하는 식입니다. date 인수에 Null이 있으면 Null을 반환합니다.

아래 예제에서 Day 함수는 지정한 날짜로부터 그 달의 날짜를 가져옵니다.

Dim MyDay
MyDay = Day("1962년 10월 19일")  'MyDay는 값 19를 가집니다.


Day 함수

Day 함수
참고 		언어 참조

Date 함수
Hour 함수
Minute 함수
Month 함수
Now 함수
Second 함수
Weekday 함수
Year 함수


Eval 함수

Eval 함수 		언어 참조
버전 5

참고

설명
식을 계산하고 결과를 반환합니다.
구문
[result = ]Eval(expression)

Eval 함수 구문은 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
result | 선택적인 요소. 반환값을 지정할 변수. result가 지정되지 않은 경우 Execute 문을 대신 사용할 수도 있습니다.
expression | 필수적인 요소. 올바른 VBScript 식이 들어 있는 문자열.

참고
VBScript에서는 x = y가 두 가지 방법으로 해석될 수 있습니다. 첫째는 지정문인 경우로서 y 값이 x에 지정됩니다. 둘째는 x와 y가 동일한 값을 가지고 있는지 검사하는 식입니다. 이 경우에 result는 True이며, 그렇지 않은 경우 result는 False입니다. Eval 메서드에서는 항상 둘째 방법을 사용하지만, Execute 문은 첫째 방법을 사용합니다.

참고 Microsoft® JScript®에서는 지정 연산자(=)와 비교 연산자(==)가 다르기 때문에 혼동을 일으킬 염려가 없습니다.

다음은 Eval 함수 사용에 대한 예입니다.

Sub GuessANumber
  Dim Guess, RndNum
  RndNum = Int((100) * Rnd(1) + 1)
  Guess = CInt(InputBox("예상값을 입력하십시오:",,0))
  Do
    If Eval("Guess = RndNum") Then
      MsgBox "축하합니다! 정확하게 맞추셨습니다!"
      Exit Sub
    Else
      Guess = CInt(InputBox("죄송하지만 다시 하십시오.",,0))
    End If
  Loop Until Guess = 0
End Sub


Eval 함수

Eval 함수
참고 		언어 참조

Execute 문


Exp 함수

Exp 함수 		언어 참조
버전 1

참고

설명
승수로 거듭 제곱하는 자연 로그의 밑인 e를 반환합니다.
구문
Exp(number)

number 인수는 유효한 수식이면 됩니다.

참고
number의 값이 709.782712893을 넘으면 오류가 발생합니다. 상수 e는 대략 2.718282입니다.
메모 Exp 함수는 Log 함수와 보완 관계에 있으며 때로 역대수라고 합니다.

아래 예제에서 Exp 함수는 멱에 대한 e를 반환합니다.

Dim MyAngle, MyHSin  ' 각을 라디안으로 정의합니다.
MyAngle = 1.3        ' 쌍곡선의 싸인 값을 계산합니다.
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2


Exp 함수

Exp 함수
참고 		언어 참조

Log 함수
파생된 수학 함수


Filter 함수

Filter 함수 		언어 참조
버전 2

참고

설명
지정한 필터 기준에 따라 문자열 배열의 부분 집합을 가지고 있는 0 기준 배열을 반환합니다.
구문
Filter(InputStrings, Value[, Include[, Compare]])

Filter 함수 구문은 아래 인수를 가집니다.

인수 | 설명
InputStrings | 필수적인 인수. 검색할 문자열의 1차원 배열입니다.
Value | 필수적인 인수. 검색할 문자열입니다.
Include | 선택적인 인수. Value을 포함하거나 제외한 하위 문자열을 반환할지 여부를 나타내는 부울 값입니다. True인 경우 Filter 함수는 Value에 해당하는 배열의 부분 집합을 하위 문자열로 반환합니다. False인 경우 Filter 함수는 Value에 해당하지 않는 배열의 부분 집합을 하위 문자열로 반환합니다.
Compare | 선택적인 인수. 사용할 비교 형식을 나타내는 숫자 값입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
Compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

참고
InputStrings에 일치하는 Value가 없는 경우 Filter 함수에서는 빈 배열을 반환합니다. InputStrings가 Null이거나 1차원 배열이 아닌 경우 오류가 발생합니다.

Filter 함수에서 반환하는 배열은 일치하는 항목 수를 포함하는 데 충분한 요소만 가집니다.

아래 예제에서 Filter 함수는 "Mon" 검색 기준을 가지고 있는 배열을 반환합니다.

Dim MyIndex
Dim MyArray (3)
MyArray(0) = "일요일"
MyArray(1) = "월요일"
MyArray(2) = "화요일"
MyIndex = Filter(MyArray, "Mon") 'MyIndex(0)에 "월요일"이 포함되어 있습니다.


Filter 함수

Filter 함수
참고 		언어 참조

Replace 함수


FormatCurrency 함수

FormatCurrency 함수 		언어 참조
버전 2

참고

설명
컴퓨터의 제어판에 정의된 통화 기호를 사용하는 통화 값으로 형식화된 식을 반환합니다.
구문
FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatCurrency 함수 구문은 아래 인수를 가집니다.

인수 | 설명
Expression | 필수적인 인수. 형식이 지정되는 식입니다.
NumDigitsAfterDecimal | 선택적인 인수. 소수점 이하의 자릿수를 나타내는 숫자 값입니다. 기본값은 -1로 컴퓨터의 국가별 설정 사용을 나타냅니다.
IncludeLeadingDigit | 선택적인 인수. 소수점 이하의 유효 숫자 앞에 0을 표시할지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
UseParensForNegativeNumbers | 선택적인 인수. 음수 값을 괄호 안에 넣을지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
GroupDigits | 선택적인 인수. 컴퓨터의 국가별 설정에서 지정한 그룹 구분 기호로 숫자를 구분할지 여부를 나타내는 Tristate 상수입니다.

설정
IncludeLeadingDigit, UseParensForNegativeNumbers, GroupDigits 인수는 아래 설정을 가집니다.

상수 | 값 | 설명
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | 컴퓨터의 국가별 설정 값 사용

참고
하나 이상의 인수를 생략하면 컴퓨터의 국가별 설정 값을 생략된 인수 값으로 사용합니다. 통화 가치와 관련된 통화 기호의 위치는 컴퓨터의 국가별 설정값에 의해 결정됩니다.

메모 숫자 탭에 있는 선행 0(영)을 제외한 모든 설정 정보는 국가별 설정의 통화 탭에 있습니다.

아래 예제에서 FormatCurrency 함수는 식을 통화로 형식 지정하고 이를 MyCurrency에 보냅니다.

Dim MyCurrency
MyCurrency = FormatCurrency(1000)  'MyCurrency는 $1000.00을 가집니다.


FormatCurrency 함수

FormatCurrency 함수
참고 		언어 참조

FormatDateTime 함수
FormatNumber 함수
FormatPercent 함수


FormatDateTime 함수

FormatDateTime 함수 		언어 참조
버전 2

참고

설명
날짜 또는 시간으로 형식화된 식을 반환합니다.
구문
FormatDateTime(Date[,NamedFormat])

FormatDateTime 함수 구문은 아래 인수를 가집니다.

인수 | 설명
Date | 필수적인 인수. 날짜식을 지정합니다.
NamedFormat | 선택적인 인수. 사용한 날짜/시간 형식을 나타내는 숫자 값입니다. 이 인수를 생략하면 vbGeneralDate를 사용합니다.

설정
NamedFormat 인수는 아래 설정을 가집니다.

상수 | 값 | 설명
vbGeneralDate | 0 | 날짜 또는 시간을 표시합니다. 날짜 부분이 있으면 간단하게 표시 날짜 형식으로 날짜를 표시하며, 시간 부분이 있으면 자세하게 표시 시간 형식으로 시간을 표시합니다. 날짜와 시간이 같이 있으면 두 부분을 모두 표시합니다.
vbLongDate | 1 | 컴퓨터의 국가별 설정에서 지정한 자세하게 표시 날짜 형식으로 날짜를 표시합니다.
vbShortDate | 2 | 컴퓨터의 국가별 설정에서 지정한 간단하게 표시 날짜 형식으로 날짜를 표시합니다.
vbLongTime | 3 | 컴퓨터의 국가별 설정에서 지정한 시간 형식으로 시간을 표시합니다.
vbShortTime | 4 | 24시간 형식(hh:mm)의 시간을 표시합니다.

참고
아래 예제에서 FormatDateTime 함수는 식을 긴 날짜 형식으로 형식 지정하고 이를 MyDateTime에 보냅니다.
Function GetCurrentDate
  'FormatDateTime은 Date를 긴 날짜 형식으로 지정합니다.
  GetCurrentDate = FormatDateTime(Date, 1)
End Function


FormatDateTime 함수

FormatDateTime 함수
참고 		언어 참조

FormatCurrency 함수
FormatNumber 함수
FormatPercent 함수


FormatNumber 함수

FormatNumber 함수 		언어 참조
버전 2

참고

설명
숫자로 형식화된 식을 반환합니다.
구문
FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatNumber 함수 구문은 아래 인수를 가집니다.

인수 | 설명
Expression | 필수적인 인수. 형식이 지정되는 식입니다.
NumDigitsAfterDecimal | 선택적인 인수. 표시될 소수점 이하의 자릿수를 나타내는 숫자 값입니다. 기본값인 -1은 컴퓨터의 국가별 설정을 사용함을 나타냅니다.
IncludeLeadingDigit | 선택적인 인수. 소수점 이하의 유효 숫자 앞에 0을 표시할지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
UseParensForNegativeNumbers | 선택적인 인수. 음수 값을 괄호 안에 넣을지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
GroupDigits | 선택적인 인수. 제어판에 설정된 그룹 구분 기호를 사용하여 숫자를 구분할지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
IncludeLeadingDigit, UseParensForNegativeNumbers, GroupDigits 인수는 아래 설정을 가집니다.

상수 | 값 | 설명
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | 컴퓨터의 국가별 설정 값을 사용합니다.

참고
하나 이상의 선택적인 인수를 생략하면 컴퓨터의 국가별 설정 값을 생략된 인수 값으로 사용합니다.
메모 모든 설정 정보는 국가별 설정의 숫자 탭에 있습니다.

아래 예제에서 FormatNumber 함수는 십진법의 네 자릿수로 숫자를 형식 지정합니다.

Function FormatNumberDemo
  Dim MyAngle, MySecant, MyNumber
  MyAngle = 1.3                ' 각을 라디안으로 정의합니다.
  MySecant = 1 / Cos(MyAngle)  ' 시컨트 값을 계산합니다.
  FormatNumberDemo = FormatNumber(MySecant,4) ' MySecant를 십진법 네 자릿수로 형식 지정합니다.
End Function


FormatNumber 함수

FormatNumber 함수
참고 		언어 참조

FormatCurrency 함수
FormatDateTime 함수
FormatPercent 함수


FormatPercent 함수

FormatPercent 함수 		언어 참조
버전 2

참고

설명
끝에 % 문자가 있고 100으로 곱해진 백분율로 형식이 지정된 식을 반환합니다.
구문
FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

FormatPercent 함수 구문은 아래 인수를 가집니다.

인수 | 설명
Expression | 필수적인 인수. 형식화된 식을 반환합니다.
NumDigitsAfterDecimal | 선택적인 인수. 표시될 소수점 이하의 자릿수를 나타내는 숫자값입니다. 기본값인 -1은 컴퓨터의 국가별 설정을 사용함을 나타냅니다.
IncludeLeadingDigit | 선택적인 인수. 소수점 이하의 유효 숫자 앞에 0을 표시할지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
UseParensForNegativeNumbers | 선택적인 인수. 음수 값을 괄호 안에 넣을지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.
GroupDigits | 선택적인 인수. 제어판에 설정된 그룹 구분 기호로 숫자를 구분할지 여부를 나타내는 Tristate 상수입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
IncludeLeadingDigit, UseParensForNegativeNumbers, GroupDigits 인수는 아래 설정을 가집니다.

상수 | 값 | 설명
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | 컴퓨터의 국가별 설정값 사용

참고
하나 이상의 선택적인 인수를 생략하면 컴퓨터의 국가별 설정값을 생략한 인수 값으로 사용합니다.
메모 모든 설정 정보는 국가별 설정의 숫자 탭에 있습니다.

아래 예제에서 FormatPercent 함수는 식을 백분율로 형식 지정합니다.

Dim MyPercent
MyPercent = FormatPercent(2/32) 'MyPercent는 6.25%를 가집니다.


FormatPercent 함수

FormatPercent 함수
참고 		언어 참조

FormatCurrency 함수
FormatDateTime 함수
FormatNumber 함수


GetObject 함수

GetObject 함수 		언어 참조
버전 2

참고

설명
파일에서 자동화 개체에 대한 참조를 반환합니다.
구문
GetObject([pathname] [, class])

GetObject 함수 구문은 아래 인수를 가집니다.

인수 | 설명
pathname | 선택적인 인수. 검색할 개체가 있는 파일 이름과 그 파일의 전체 경로를 나타내는 문자열입니다. pathname을 생략하면 class가 반드시 있어야 합니다.
class | 선택적인 인수. 개체의 클래스인 문자열입니다.

class 인수는 appname.objectype 구문을 사용하며, 그 구성 요소는 아래와 같이 설명됩니다.

구성 요소 | 설명
appname | 필수적인 인수. 개체를 제공하는 응용 프로그램의 이름인 문자열입니다.
objectype | 필수적인 인수. 만들 개체의 클래스나 형식을 나타내는 문자열입니다.

참고
GetObject 함수는 파일에 있는 자동화 개체를 액세스하여 개체 변수에 그 개체를 지정합니다. Set문을 사용하여 GetObject 함수에서 반환한 개체를 개체 변수에 지정합니다. 사용 예는 아래와 같습니다.
Dim CADObject
Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")
이 코드를 실행하면 지정한 경로 이름에 연관된 응용 프로그램이 실행되며 지정한 파일에 있는 개체가 활성화됩니다. GetObject 함수는 pathname이 길이가 0인 문자열("")인 경우 지정한 형식의 새 개체 인스턴스를 반환하고, pathname 인수가 없는 경우 지정한 형식의 현재 활성 개체를 반환합니다. 지정한 형식의 개체가 없는 경우 오류가 발생합니다.

일부 응용 프로그램에서 파일 일부를 활성화하려면 파일 이름 뒤에 느낌표(!)와 활성화할 파일의 해당 부분을 식별하는 문자열을 차례로 붙입니다. 이 문자열의 작성 방법에 관한 정보는 해당 개체를 만든 응용 프로그램의 설명서를 참조하십시오.

예를 들어 도면 작성 프로그램에서 파일에 저장되어 있는 한 도면에 여러 레이어가 있을 수 있습니다. 아래 코드를 사용하면 SCHEMA.CAD라는 도면 안에서 레이어를 활성화할 수 있습니다.

Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
개체의 클래스를 지정하지 않으면 자동화 개체는 사용자가 제공한 파일 이름을 사용하여 시작할 응용 프로그램과 활성화할 개체를 결정합니다. 그러나 어떤 파일은 둘 이상의 개체 클래스를 지원할 수도 있습니다. 예를 들어 한 도면에서 모두 같은 파일의 일부인 세 가지 다른 형식의 개체, 즉 Application 개체, Drawing 개체 및 Toolbar 개체를 지원할 수 있습니다. 선택적인 class 인수를 사용하여 활성화할 파일의 개체를 지정합니다. 사용 예는 아래와 같습니다.
Dim MyObject
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
앞서의 예제에서 FIGMENT는 도면 작성 프로그램의 이름이고, DRAWING은 그 응용 프로그램에서 지원하는 개체 형식의 하나입니다. 일단 개체가 활성화되면 사용자가 정의한 개체 변수를 사용하여 해당 코드 안에서 이 개체를 참조합니다. 또 MyObject 개체 변수를 사용하여 새 개체의 속성과 메서드를 액세스합니다. 사용 예는 아래와 같습니다.
MyObject.Line 9, 90
MyObject.InsertText 9, 100, "Hello, world."
MyObject.SaveAs "C:\DRAWINGS\SAMPLE.DRW"
메모 개체의 현재 인스턴스가 있거나 이전에 로드한 파일로 개체를 만들려면 GetObject 함수를 사용하지만, 현재 인스턴스가 없고 로드한 파일로 개체를 시작하지 않으려면 CreateObject 함수를 사용합니다.

한 개체가 그 자체를 단일 인스턴스 개체로 등록한 경우 CreateObject 함수를 여러 번 실행해도 그 개체에 대한 인스턴스는 하나만 만들어집니다. 길이가 0인 문자열("") 구문으로 GetObject 함수를 호출하면 이 함수는 항상 같은 인스턴스를 반환하지만, pathname 인수를 생략하면 오류가 발생합니다.


GetObject 함수

GetObject 함수
참고 		언어 참조

CreateObject 함수


GetRef 함수

GetRef 함수 		언어 참조
버전 5

참고

설명
이벤트에 바인딩될 수 있는 프로시저에 대한 참조를 반환합니다.
구문
Set object.Eventname = GetRef(procname)

GetRef 함수 구문은 아래 인수를 가집니다.

인수 | 설명
object | 필수적인 인수. 이벤트와 연결된 개체 이름입니다.
event | 필수적인 인수. 함수가 바인딩된 이벤트 이름입니다.
procname | 필수적인 인수. 이벤트와 연결된 Sub 또는 Function 프로시저 이름을 포함하는 문자열입니다.

참고
GetRef 함수는 VBScript 프로시저(Function or Sub)를 DHTML(동적 HTML) 페이지에 있는 모든 사용 가능한 이벤트에 연결시켜 줍니다. DHTML 개체 모델은 각각의 다양한 개체에 필요한 이벤트에 대한 정보를 제공합니다.

다른 scripting 및 프로그래밍 언어에서는 함수 포인터로서 GetRef가 제공하는 기능을 참조합니다. 즉, 함수 포인터는 지정한 이벤트가 발생할 때 실행되는 프로시저 이름을 가리킵니다.

GetRef 함수의 사용 예는 아래와 같습니다.

<SCRIPT Language="VBScript">

Function GetRefTest()
  Dim Splash
  Splash = "GetRefTest 버전 1.0"  & vbCrLf
  Splash = Splash & Chr(169) & " YourCompany 1998 "
  MsgBox Splash
End Function

Set Window.Onload = GetRef("GetRefTest")

</SCRIPT>


GetRef 함수

GetRef 함수
참고 		언어 참조

Function 문
Set 문
Sub 문


Hex 함수

Hex 함수 		언어 참조
버전 1

참고

설명
숫자의 16진수 값을 나타내는 문자열을 반환합니다.
구문
Hex(number)

number 인수는 유효한 식이면 됩니다.

참고
정수가 아닌 number는 계산하기 전에 가장 가까운 정수로 반올림됩니다.

number의 값 | Hex 함수의 결과
Null | Null
Empty | 0
위 두 값을 제외한 모든 수 | 8개 이하의 16진수 문자

유효한 범위의 숫자 앞에 &H를 붙여 16진수를 표현할 수 있습니다. 예를 들어 &H10은 십진수 16의 16진수 표기를 나타냅니다.

아래 예제에서 Hex 함수는 수의 16진 값을 반환합니다.

Dim MyHex
MyHex = Hex(5)    ' 5를 반환합니다.
MyHex = Hex(10)   ' A를 반환합니다.
MyHex = Hex(459)  ' 1CB를 반환합니다.


Hex 함수

Hex 함수
참고 		언어 참조

Oct 함수


Hour 함수

Hour 함수 		언어 참조
버전 1

참고

설명
하루의 시간을 나타내는 0에서 23까지의 정수를 반환합니다.
구문
Hour(time)

time 인수는 시간을 나타내는 식입니다. time이 Null이면 Null을 반환합니다.

아래 예제에서 Hour 함수는 현재 시간으로부터 시(hour)를 가져옵니다.

Dim MyTime, MyHour
MyTime = Now
MyHour = Hour(MyTime) ' MyHour는 현재 시각을 나타내는 숫자를 가집니다.


Hour 함수

Hour 함수
참고 		언어 참조

Day 함수
Minute 함수
Now 함수
Second 함수
Time 함수


InputBox 함수

InputBox 함수 		언어 참조
버전 1

참고

설명
대화 상자에 프롬프트를 표시하거나, 텍스트 입력이나 단추 누르기를 기다리거나, 입력란의 내용을 반환합니다.
구문
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])

InputBox 함수 구문은 아래 인수를 가집니다.

인수 | 설명
prompt | 대화 상자에서 메시지로 나타나는 문자식입니다. prompt의 최대 길이는 사용되는 문자의 너비에 따라 다르지만 약 1,024자입니다. 두 줄 이상의 prompt면 캐리지 리턴 문자(Chr(13)), 라인 피드 문자(Chr(10)) 또는 캐리지 리턴-라인 피드 문자의 조합(Chr(13) & Chr(10))을 사용하여 줄을 구분할 수 있습니다.
title | 대화 상자의 제목 표시줄에 나타나는 문자식입니다. title을 생략하면 제목 표시줄에 응용 프로그램 이름이 나타납니다.
default | 아무 것도 입력하지 않았을 때 기본 응답으로 입력란에 나타나는 문자식입니다. default를 생략하면 빈 입력란이 나타납니다.
xpos | 화면의 왼쪽 끝에서 대화 상자의 왼쪽 끝까지의 수평 길이를 트윕 단위로 지정한 수식입니다. xpos를 생략하면 대화 상자가 화면의 수평을 기준으로 가운데 위치합니다.
ypos | 화면의 위쪽 끝에서 대화 상자의 위쪽 끝까지의 수직 길이를 트윕 단위로 지정한 수식입니다. ypos를 생략하면 대화 상자가 화면 밑에서 수직으로 1/3 지점에 위치합니다.
helpfile | 대화 상자의 상황에 맞는 도움말을 제공하기 위해 사용할 도움말 파일을 식별하는 문자식입니다. helpfile을 제공하면 context도 제공해야 합니다.
context | 도움말 작성자가 해당 도움말 항목으로 지정한 도움말 컨텍스트 번호를 식별하는 수식입니다. context를 제공하면 helpfile도 제공해야 합니다.

참고
helpfile과 context를 모두 제공하면 대화 상자에 도움말 단추를 자동으로 추가합니다.

InputBox 함수에서는 확인을 누르거나 Enter키를 누르면 입력란의 내용을 반환합니다. 취소를 누르면 길이가 0인 문자열("")을 반환합니다.

아래 예제에서 InputBox 함수는 입력 상자를 표시하고 문자열을 변수 입력에 지정합니다.

Dim Input
Input = InputBox("이름을 입력하십시오")
MsgBox ("다음 이름이 입력되었습니다: " & Input)


InputBox 함수

InputBox 함수
참고 		언어 참조

MsgBox 함수


InStr 함수

InStr 함수 		언어 참조
버전 1

참고

설명
한 문자열이 다른 문자열에서 처음 나타나는 위치를 반환합니다.
구문
InStr([start, ]string1, string2[, compare])

InStr 함수 구문은 아래 인수를 가집니다.

인수 | 설명
start | 선택적인 인수. 각 검색을 시작할 위치를 지정하는 수식입니다. 생략하면 첫째 문자에서 검색합니다. start 인수가 Null이면 오류가 발생합니다. compare를 지정하려면 start 인수가 필요합니다.
string1 | 필수적인 인수. 찾을 문자식입니다.
string2 | 필수적인 인수. 찾기 대상이 되는 문자식입니다.
compare | 선택적인 인수. 하위 문자열을 평가하는 데 사용할 비교 형식을 나타내는 숫자 값입니다. 그 값에 대해서는 아래의 설정을 참조하십시오. 생략하면 이진 비교를 실행합니다.

설정
compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

결과 값
InStr 함수는 아래 값을 반환합니다.

경우 | InStr 함수의 결과
string1의 길이가 0인 경우 | 0
string1이 Null인 경우 | Null
string2가 0인 경우 | start
string2가 Null인 경우 | Null
string2가 없는 경우 | 0
string1에 string2가 있는 경우 | string1에서의 일치하는 해당 위치
start > Len(string2) | 0

참고
아래 예제에서 InStr은 문자열을 검색합니다.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"            ' 검색할 문자열
SearchChar = "P"                        ' "P"를 검색합니다.

MyPos = Instr(4, SearchString, SearchChar, 1)
' 4가 있는 위치에서 텍스트 비교를 시작합니다. 6을 반환합니다.

MyPos = Instr(1, SearchString, SearchChar, 0)
' 1이 있는 위치에서 이진 비교를 시작합니다. 9를 반환합니다.

MyPos = Instr(SearchString, SearchChar)
비교는 기본값이 이진입니다(마지막 인수는 생략). 9를 반환합니다.

MyPos = Instr(1, SearchString, "W")
' 1이 있는 위치에서 이진 비교를 시작합니다. 0을 반환합니다("W"는 발견되지 않음).
메모 InStrB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. InStrB 함수는 한 문자열이 다른 문자열에서 처음 나타나는 위치를 반환하는 대신 바이트 위치를 반환합니다.


Instr 함수

InStr 함수
참고 		언어 참조

InstrRev 함수


InStrRev 함수

InStrRev 함수 		언어 참조
버전 2

참고

설명
한 문자열이 다른 문자열에 나타나는 위치를 문자열 끝에서 반환합니다.
구문
InStrRev(string1, string2[, start[, compare]])

InStrRev 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string1 | 필수적인 인수. 찾을 범위가 되는 문자식입니다.
string2 | 필수적인 인수. 찾기 대상이 되는 문자식입니다.
start | 선택적인 인수. 각 검색의 시작 위치를 지정하는 수식입니다. 생략하면 -1을 사용하는데 마지막 문자에서 검색함을 의미합니다. start이 Null이면 오류가 발생합니다.
compare | 선택적인 인수. 하위 문자열을 평가하는 데 사용할 비교 형식을 나타내는 숫자 값입니다. 생략하면 이진 비교를 실행합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

결과 값
InStrRev 함수는 아래 값을 반환합니다.

경우 | InStrRev 함수의 결과
string1의 길이가 0인 경우 | 0
string1이 Null인 경우 | Null
string2의 길이가 0인 경우 | start
string2가 Null인 경우 | Null
string2가 없는 경우 | 0
string1에 string2가 있는 경우 | string1에서의 일치하는 해당 위치
start > Len(string2) | 0

참고
아래 예제에서 InStrRev 함수는 문자열을 검색합니다.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"            ' 검색할 문자열
SearchChar = "P"                        ' "P" 검색

MyPos = InstrRev(SearchString, SearchChar, 10, 0)
' 10이 있는 위치에서 2진 비교 시작. 9를 반환합니다.

MyPos = InstrRev(SearchString, SearchChar, -1, 1)
' 마지막 위치에서 텍스트 비교 시작. 12를 반환합니다.

MyPos = InstrRev(SearchString, SearchChar, 8)
' 비교는 기본값이 2진입니다(마지막 인수는 생략됨). 0을 반환합니다.
메모 InStrRev 함수 구문은 InStr 함수 구문과 다릅니다.


InstrRev 함수

InstrRev 함수
참고 		언어 참조

Instr 함수


Int, Fix 함수

Int, Fix 함수 		언어 참조
버전 1

참고

설명
숫자의 정수 부분을 반환합니다.
구문
Int(number)

Fix(number)

number 인수는 유효한 수식이면 됩니다. number에 Null이 있으면 Null을 반환합니다.

참고
Int 함수와 Fix 함수는 모두 number의 소숫점 이하 부분을 없앤 그 결과로 나타나는 정수 값을 반환합니다.

Int 함수와 Fix 함수의 차이점은 number가 음수일 경우 Int 함수는 number보다 작거나 같은 첫째 음의 정수를 반환하지만, Fix 함수는 number보다 크거나 같은 첫째 음의 정수를 반환합니다. 예를 들어 Int 함수는 -8.4를 -9로, Fix 함수는 -8.4를 -8로 변환합니다.

Fix(number) 함수는 아래 식과 같습니다.

Sgn(number) * Int(Abs(number))
아래 예제는 Int와 Fix 함수가 수의 정수 부분을 어떻게 반환하는 지를 보여줍니다.
MyNumber = Int(99.8)    ' 99를 반환합니다.
MyNumber = Fix(99.2)    ' 99를 반환합니다.
MyNumber = Int(-99.8)   ' -100을 반환합니다.
MyNumber = Fix(-99.8)   ' -99를 반환합니다.
MyNumber = Int(-99.2)   ' -100을 반환합니다.
MyNumber = Fix(-99.2)   ' -99를 반환합니다.


Int, Fix 함수

Int, Fix 함수
참고 		언어 참조

CInt 함수
Round 함수


IsArray 함수

IsArray 함수 		언어 참조
버전 1

참고

설명
변수가 배열인지 여부를 나타내는 부울 값을 반환합니다.
구문
IsArray(varname)

varname 인수는 변수입니다.

참고
IsArray 함수는 변수가 배열이면 True를, 변수가 배열이 아니면 False를 반환합니다. IsArray 함수는 배열을 포함하는 Variant를 사용할 경우 특히 유용합니다.

아래 예제에서 IsArray 함수는 MyVariable이 배열인 지를 테스트합니다.

Dim MyVariable
Dim MyArray(3)
MyArray(0) = "일요일"
MyArray(1) = "월요일"
MyArray(2) = "화요일"
MyVariable = IsArray(MyArray) ' MyVariable "True"를 가집니다.


IsArray 함수

IsArray 함수
참고 		언어 참조

IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
VarType 함수


IsDate 함수

IsDate 함수 		언어 참조
버전 1

참고

설명
한 식이 날짜로 변환될 수 있는지 여부를 나타내는 부울값을 반환합니다.
구문
IsDate(expression)

expression 인수는 날짜식 또는 날짜나 시간으로 인식될 수 있는 문자식입니다.

참고
IsDate 함수는 해당 식이 날짜이거나 유효한 날짜로 변환될 수 있는 경우 True를, 그렇지 않으면 False를 반환합니다. Microsoft Windows의 유효한 날짜 범위는 서기 100년 1월 1일에서 서기 9999년 12월 31일까지이지만, 운영 체제에 따라 그 범위가 달라집니다.

아래 예제에서 IsDate 함수는 식이 날짜로 변환될 수 있는 지 여부를 결정합니다.

Dim MyDate, YourDate, NoDate, MyCheck
MyDate = "1962년 10월 19일": YourDate = #10/19/62#: NoDate = "안녕하십니까?"
MyCheck = IsDate(MyDate)            ' True를 반환합니다.
MyCheck = IsDate(YourDate)          ' True를 반환합니다.
MyCheck = IsDate(NoDate)            ' False를 반환합니다.


IsDate 함수

IsDate 함수
참고 		언어 참조

CDate 함수
IsArray 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
VarType 함수


IsEmpty 함수

IsEmpty 함수 		언어 참조
버전 1

참고

설명
변수가 초기화되었는지 여부를 나타내는 부울값을 반환합니다.
구문
IsEmpty(expression)

expression 인수는 아무 식이면 됩니다. 그러나 IsEmpty 함수는 개별 변수가 초기화되었는지 여부를 확인하는 데 사용하므로 대개 expression 인수는 단일 변수의 이름입니다.

참고
IsEmpty 함수는 변수가 초기화되지 않았거나 명시적으로 변수를 Empty로 지정한 경우 True를, 그렇지 않으면 False를 반환합니다. expression에 둘 이상의 변수가 있으면 항상 False를 반환합니다.

아래 예제에서 IsEmpty 함수는 변수가 초기화되었는 지 여부를 판단합니다.

Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar)      ' True를 반환합니다.

MyVar = Null                  ' Null을 지정합니다.
MyCheck = IsEmpty(MyVar)      ' False를 반환합니다.

MyVar = Empty                 ' Empty를 지정합니다.
MyCheck = IsEmpty(MyVar)      ' True를 반환합니다.


IsEmpty 함수

IsEmpty 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
VarType 함수


IsNull 함수

IsNull 함수 		언어 참조
버전 1

참고

설명
Null식에 유효한 데이터가 없는지, 즉 Null인지 여부를 나타내는 부울값을 반환합니다.
구문
IsNull(expression)

expression 인수는 아무 식이면 됩니다.

참고
IsNull 함수는 expression이 Null인 경우, 즉 유효한 데이터가 없는 경우 True를, 그렇지 않은 경우 False를 반환합니다. expression이 둘 이상의 변수로 이루어진 경우 모든 구성 변수에 들어 있는 Null은 전체 식에 대해 True를 반환하도록 합니다.

Null 값은 해당 변수에 유효한 데이터가 없음을 나타냅니다. Null은 변수가 아직 초기화되지 않았음을 나타내는 Empty와 다르며, 때때로 널 문자열이라고 하는 길이가 0인 문자열("")과도 다릅니다.

메모 IsNull 함수를 사용하여 식에 Null 값이 있는지 여부를 결정합니다. If Var = Null 및 If Var <> Null과 같은 식처럼 어떤 경우에는 True일 것으로 예상할 수도 있는 식조차도 항상 False입니다. 왜냐하면 Null을 포함하는 식 자체가 Null이므로 False가 되기 때문입니다.

아래 예제에서 IsNull 함수는 변수가 Null 값을 가지는 지 여부를 결정합니다.

Dim MyVar, MyCheck
MyCheck = IsNull(MyVar)      ' False를 반환합니다.

MyVar = Null                 ' Null을 지정합니다.
MyCheck = IsNull(MyVar)      ' True를 반환합니다.

MyVar = Empty                ' Empty를 지정합니다.
MyCheck = IsNull(MyVar)      ' False를 지정합니다.


IsNull 함수

IsNull 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsEmpty 함수
IsNumeric 함수
IsObject 함수
VarType 함수


IsNumeric 함수

IsNumeric 함수 		언어 참조
버전 1

참고

설명
식이 숫자로 평가될 수 있는지 여부를 나타내는 부울값을 반환합니다.
구문
IsNumeric(expression)

expression 인수는 아무 식이면 됩니다.

참고
IsNumeric은 전체 식이 숫자로 인식되면 True를, 그렇지 않으면 False를 반환합니다. IsNumeric은 식이 날짜식이면 False를 반환합니다..

아래 예제에서 IsNumeric 함수는 변수가 숫자로 평가될 수 있는 지 여부를 결정합니다.

Dim MyVar, MyCheck
MyVar = 53                    ' 값을 지정합니다.
MyCheck = IsNumeric(MyVar)    ' True를 반환합니다.

MyVar = "459.95"              ' 값을 지정합니다.
MyCheck = IsNumeric(MyVar)    ' True를 반환합니다.

MyVar = "45 Help"             ' 값을 지정합니다.
MyCheck = IsNumeric(MyVar)    ' False를 반환합니다.


IsNumeric 함수

IsNumeric 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsObject 함수
VarType 함수


IsObject 함수

IsObject 함수 		언어 참조
버전 1

참고

설명
식이 유효한 자동화 개체를 참조하는지 여부를 나타내는 부울 값을 반환합니다.
구문
IsObject(expression)

expression 인수는 아무 식이면 됩니다.

참고
IsObject 함수는 해당 expression이 Object 하위 형식의 변수이거나 사용자 정의 개체인 경우 True를, 그렇지 않으면 False를 반환합니다.

아래 예제에서 IsObject 함수는 식별자가 개체 변수를 나타낼 지 여부를 결정합니다.

Dim MyInt, MyCheck, MyObject
Set MyObject = Me
MyCheck = IsObject(MyObject)  ' True를 반환합니다.
MyCheck = IsObject(MyInt)     ' False를 반환합니다.


IsObject 함수

IsObject 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
Set 문
VarType 함수


Join 함수

Join 함수 		언어 참조
버전 2

참고

설명
배열에 포함되어 있는 여러 하위 문자열을 결합하여 만든 문자열을 반환합니다.
구문
Join(list[, delimiter])

Join 함수 구문은 아래 인수를 가집니다.

인수 | 설명
list | 필수적인 인수. 결합할 하위 문자열을 포함하는 1차원 배열입니다.
delimiter | 선택적인 인수. 반환되는 문자열의 하위 문자열을 분리하는 데 사용하는 문자입니다. 생략하면 공백 문자(" ")를 사용합니다. delimiter가 길이가 0인 문자열이면 목록에 있는 모든 항목을 구분 기호없이 연결합니다.

참고
아래 예제에서 Join 함수는 MyArray의 하위 문자열을 결합시킵니다.
Dim MyString
Dim MyArray(4)
MyArray(0) = "Mr."
MyArray(1) = "John "
MyArray(2) = "Doe "
MyArray(3) = "III"
MyString = Join(MyArray) 'MyString에 "Mr. John Doe III"을 포함합니다.


Join 함수

Join 함수
참고 		언어 참조

Split 함수


LBound 함수

LBound 함수 		언어 참조
버전 1

참고

설명
지정한 배열 차원에 사용할 수 있는 가장 작은 첨자를 반환합니다.
구문
LBound(arrayname[, dimension])

LBound 함수 구문은 아래 인수를 가집니다.

인수 | 설명
arrayname | 배열 변수의 이름으로 일반 변수 명명 규칙을 따릅니다.
dimension | 반환될 차원의 하한값을 나타내는 정수를 반환합니다. 1차원은 1, 2차원은 2, 등등으로 사용합니다. dimension을 생략하면 1로 간주합니다.

참고
LBound 함수는 UBound 함수와 함께 사용하여 배열의 크기를 결정합니다. UBound 함수를 사용하면 배열 차원의 상한값을 알 수 있습니다.

모든 차원의 하한값은 항상 0입니다.


LBound 함수

LBound 함수
참고 		언어 참조

Dim 문
ReDim 문
UBound 함수


LCase 함수

LCase 함수 		언어 참조
버전 1

참고

설명
소문자로 변환된 문자열을 반환합니다.
구문
LCase(string)

string 인수는 유효한 문자식이면 됩니다. string에 Null이 있으면 Null을 반환합니다.

참고
대문자만 소문자로 변환하고 소문자와 글자가 아닌 문자는 변환하지 않고 그대로 둡니다.

아래 예제에서 LCase 함수는 대문자를 소문자로 변환합니다.
Dim MyString
Dim LCaseString
MyString = "VBSCript"
LCaseString = LCase(MyString) ' LCaseString은 "vbscript"를 가집니다.


LCase 함수

LCase 함수
참고 		언어 참조

UCase 함수


Left 함수

Left 함수 		언어 참조
버전 1

참고

설명
문자열의 왼쪽부터 지정한 수만큼의 문자를 반환합니다.
구문
Left(string, length)

Left 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string | 왼쪽 끝 문자부터 반환될 문자식입니다. string에 Null이 있으면 Null을 반환합니다.
length | 반환할 문자 개수를 나타내는 수식입니다. 0이면 길이가 0인 문자열("")을 반환합니다. string에 있는 문자 개수보다 크거나 같으면 전체 문자열을 반환합니다.

참고
string의 문자 개수를 결정하려면 Len 함수를 사용합니다.

아래 예제에서 Left 함수는 MyString의 처음 세 문자를 반환합니다.

Dim MyString, LeftString
MyString = "VBSCript"
LeftString = Left(MyString, 3) 'LeftString은 "VBS"를 가집니다.
메모 LeftB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. length 인수에 반환할 문자 개수를 지정하는 대신 바이트 수를 지정합니다.


Left 함수

Left 함수
참고 		언어 참조

Len 함수
Mid 함수
Right 함수


Len 함수

Len 함수 		언어 참조
버전 1

참고

설명
문자열에 있는 문자수 또는 변수를 저장하는 데 필요한 바이트 수를 반환합니다.
구문
Len(string | varname)

Len 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string | 문자식입니다. string에 Null이 있으면 Null을 반환합니다.
varname | 유효한 변수 이름이면 됩니다. varname에 Null이 있으면 Null을 반환합니다.

참고
아래 예제에서 Len 함수는 한 문자열의 문자 개수를 반환합니다.
Dim MyString
MyString = Len("VBSCRIPT") 'MyString은 값 8을 가집니다.
메모 LenB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. 문자열에 있는 문자수를 반환하는 대신 LenB는 이 문자열을 표현하는 데 사용된 바이트 수를 반환합니다.


Len 함수

Len 함수
참고 		언어 참조

InStr 함수


LoadPicture 함수

LoadPicture 함수 		언어 참조
버전 2

설명
그림 개체를 반환하며 32비트 플랫폼에서만 사용할 수 있습니다.
구문
LoadPicture(picturename)

picturename 인수는 로드할 그림 파일의 이름을 나타내는 문자식입니다.

참고
LoadPicture 함수에서 인식하는 그래픽 형식은 비트맵 파일(.bmp), 아이콘 파일(.ico), 실행 길이 부호화 파일(.rle), 메타 파일(.wmf), 향상된 메타 파일(.emf), GIF 파일(.gif) 및 JPEG 파일(.jpg)입니다.


Log 함수

Log 함수 		언어 참조
버전 1

참고

설명
수의 자연 로그를 반환합니다.
구문
Log(number)

number 인수는 0보다 큰 유효한 수식이면 됩니다.

참고
자연 로그는 밑이 e인 로그입니다. 상수 e는 약 2.718282입니다.

아래와 같이 자연 로그 log(x)를 자연 로그 log(n)으로 나누면 밑이 n이고 값이 x인 자연 로그 logn(x)를 계산할 수 있습니다.

Logn(x) = Log(x) / Log(n)
아래 예제는 밑이 10인 로그 함수를 계산하는 사용자 정의 함수입니다.
Function Log10(X)
    Log10 = Log(X) / Log(10)
End Function


Log 함수

Log 함수
참고 		언어 참조

Exp 함수
파생된 수학 함수


LTrim, RTrim 및 Trim 함수

LTrim, RTrim 및 Trim 함수 		언어 참조
버전 1

참고

설명
LTrim 함수는 선행 공백이 없는, RTrim 함수는 후미 공백이 없는,Trim 함수는 선행 공백과 후미 공백이 모두 없는 문자열 사본을 반환합니다.
구문
LTrim(string)

RTrim(string)

Trim(string)

string 인수는 유효한 문자식이면 됩니다. string에 Null이 있으면 Null을 반환합니다.

참고
아래 예제에서 LTrim 함수는 선행 공백을, RTrim함수는 후미 공백을, Trim 함수는 선행 공백과 후미 공백 모두를 각각 잘라냅니다.
Dim MyVar
MyVar = LTrim("  vbscript ")  'MyVar는 "vbscript "를 가집니다.
MyVar = RTrim("  vbscript ")  'MyVar는 "  vbscript"를 가집니다.
MyVar = Trim("  vbscript ")   'MyVar는 "vbscript"를 가집니다.


LTrim, RTrim 및 Trim 함수

LTrim, RTrim 및 Trim 함수
참고 		언어 참조

Left 함수
Right 함수


Mid 함수

Mid 함수 		언어 참조
버전 1

참고

설명
문자열에서 지정한 개수의 문자를 반환합니다.
구문
Mid(string, start[, length])

Mid 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string | 반환될 문자가 들어 있는 문자식입니다. string에 Null이 있으면 Null을 반환합니다.
start | string에서 반환을 시작하는 문자 위치입니다. start 인수가 string의 문자 개수보다 크면 Mid 함수는 길이가 0인 문자열("")을 반환합니다.
length | 반환할 문자 개수입니다. 생략하거나 실제의 문자 개수가 start 인수의 문자를 포함하여 length 인수의 문자보다 작으면, start 위치에서 해당 문자열의 마지막 문자까지 모두 반환합니다.

참고
Len 함수를 사용하면 string의 문자 개수를 결정합니다.

아래 예제에서 Mid 함수는 한 문자열의 4번째 문자에서부터 시작하는 6개의 문자를 반환합니다.

Dim MyVar
MyVar = Mid("VB Script is fun!", 4, 6) 'MyVar는 "Script"를 반환합니다.
메모 MidB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. 이 함수에서는 문자 개수를 지정하는 대신 바이트 수를 지정합니다.


Mid 함수

Mid 함수
참고 		언어 참조

Left 함수
Len 함수
LTrim, RTrim 및 Trim 함수
Right 함수


Minute 함수

Minute 함수 		언어 참조
버전 1

참고

설명
시간의 분을 나타내는 0에서 59까지의 정수를 반환합니다.
구문
Minute(time)

time 인수는 시간을 나타내는 식입니다. time에 Null이 있으면 Null을 반환합니다.

참고
아래 예제에서 Minute 함수는 분을 반환합니다.
Dim MyVar
MyVar = Minute(Now)


Minute 함수

Minute 함수
참고 		언어 참조

Day 함수
Hour 함수
Now 함수
Second 함수
Time 함수


Month 함수

Month 함수 		언어 참조
버전 1

참고

설명
년의 월을 나타내는 1에서 12까지의 정수를 반환합니다.
구문
Month(date)

date 인수는 날짜를 나타내는 식입니다. date에 Null이 있으면 Null을 반환합니다.

참고
아래 예제에서 Month 함수는 현재의 월을 반환합니다.
Dim MyVar
MyVar = Month(Now) ' MyVar는 현재의 월에 해당하는 숫자를 가집니다.


Month 함수

Month 함수
참고 		언어 참조

Date 함수
Day 함수
Now 함수
Weekday 함수
Year 함수


MonthName 함수

MonthName 함수 		언어 참조
버전 2

참고

설명
지정한 월을 나타내는 문자열을 반환합니다.
구문
MonthName(month[, abbreviate])

MonthName 함수 구문은 아래 인수를 가집니다.

인수 | 설명
month | 필수적인 인수. 1월은 1, 2월은 2 등으로 월을 나타내는 숫자입니다.
abbreviate | 선택적인 인수. 월 이름을 약어 형태로 표시할지 여부를 나타내는 부울값입니다. 생략하면 기본값인 False가 되며, 월 이름을 완전한 형태로 표시합니다.

참고
아래 예제에서 MonthName 함수는 날짜식에 들어갈 월 이름의 약어를 반환합니다.
Dim MyVar
MyVar = MonthName(10, True) ' MyVar는 "Oct"를 가집니다.


MonthName 함수

MonthName 함수
참고 		언어 참조

WeekDayName 함수


MsgBox 함수

MsgBox 함수 		언어 참조
버전 1

참고

설명
대화 상자에 메시지를 표시하거나 단추 누르기를 기다리거나, 사용자가 누른 단추를 가리키는 값을 반환합니다.
구문
MsgBox(prompt[, button][, title][, helpfile, context])

MsgBox 함수 구문은 아래 인수를 가집니다.

인수 | 설명
prompt | 대화 상자에서 메시지로 나타나는 문자식입니다. prompt의 최대 길이는 사용되는 문자의 너비에 따라 다르지만 약 1,024자입니다. 두 줄 이상의 prompt이면 캐리지 리턴 문자(Chr(13)), 라인 피드 문자(Chr(10)) 또는 캐리지 리턴-라인 피드 문자의 조합(Chr(13) & Chr(10))을 사용하여 줄을 구분할 수 있습니다.
button | 표시할 단추의 종류와 번호, 사용할 아이콘 유형, 기본 단추의 확인 및 메시지 상자의 모달성을 지정하는 값들의 합계인 수식입니다. 그 값에 대해서는 아래의 설정을 참조하십시오. 생략하면 단추의 기본값은 0입니다.
title | 대화 상자의 제목 표시줄에 나타나는 문자식입니다. title을 생략하면 제목 표시줄에 응용 프로그램 이름이 나타납니다.
helpfile | 대화 상자의 상황에 맞는 도움말을 제공하기 위해 사용할 도움말 파일을 식별하는 문자식입니다. helpfile을 제공하면 context도 제공해야 합니다. 16비트 플랫폼에서는 사용할 수 없습니다.
context | 도움말 작성자가 해당 도움말 항목으로 지정한 도움말 컨텍스트 번호를 식별하는 수식입니다. context을 제공하면 helpfile 파일도 제공해야 합니다. 16비트 플랫폼에서는 사용할 수 없습니다.

설정
button 인수 설정은 아래와 같습니다.

상수 | 값 | 설명
vbOKOnly | 0 | 확인 단추만 표시합니다.
vbOKCancel | 1 | 확인 및 취소 단추를 표시합니다.
vbAbortRetryIgnore | 2 | 중지, 다시 시도 및 무시 단추를 표시합니다.
vbYesNoCancel | 3 | 예, 아니오 및 취소 단추를 표시합니다.
vbYesNo | 4 | 예 및 아니오 단추를 표시합니다.
vbRetryCancel | 5 | 다시 하기 및 취소 단추를 표시합니다.
vbCritical | 16 | 중대 오류 메시지 아이콘을 표시합니다.
vbQuestion | 32 | 경고 쿼리 아이콘을 표시합니다.
vbExclamation | 48 | 경고 메시지 아이콘을 표시합니다.
vbInformation | 64 | 정보 메시지 아이콘을 표시합니다.
vbDefaultButton1 | 0 | 첫째 단추가 기본 단추입니다.
vbDefaultButton2 | 256 | 둘째 단추가 기본 단추입니다.
vbDefaultButton3 | 512 | 셋째 단추가 기본 단추입니다.
vbDefaultButton4 | 768 | 넷째 단추가 기본 단추입니다.
vbApplicationModal | 0 | 응용 프로그램 모달입니다. 사용자는 현재 응용 프로그램에서 작업을 계속하기 전에 메시지 상자에 응답해야 합니다.
vbSystemModal | 4096 | 시스템 모달입니다. 사용자가 메시지 상자에 응답할 때까지 모든 응용 프로그램은 정지하고 있습니다.

첫째 그룹의 값(0-5)은 대화 상자에 표시되는 단추의 유형과 번호를 나타냅니다. 둘째 그룹(16, 32, 48, 64)은 아이콘 유형을 나타냅니다. 셋째 그룹(0, 256, 512, 768)은 기본 단추를 결정하고, 넷째 그룹(0, 4096)은 메시지 상자의 모달성을 결정합니다. 값들을 합산하여 단추 인수의 최종 값을 만들 때 각 그룹으로부터 하나의 숫자만 사용합니다.

결과 값
MsgBox 함수는 아래 값을 반환합니다.

상수 | 값 | 단추
vbOK | 1 | 확인
vbCancel | 2 | 취소
vbAbort | 3 | 중단
vbRetry | 4 | 다시 하기
vbIgnore | 5 | 무시
vbYes | 6 | 예
vbNo | 7 | 아니오

참고
helpfile과 context를 모두 제공하면 F1 키를 눌러 상황에 맞는 도움말 항목을 볼 수 있습니다.

대화 상자에 취소 단추가 있으면 Esc 키를 눌러도 취소 단추를 누르는 것과 같은 결과를 얻습니다. 대화 상자에 도움말 단추가 있는 경우 해당 대화 상자에 대한 상황에 맞는 도움말이 제공됩니다. 그러나 다른 단추 중 하나를 누를 때까지는 어떤 값도 반환하지 않습니다.

아래 예제에서 MsgBox 함수는 메시지 상자를 표시하고 선택한 단추를 설명하는 값을 반환합니다.

Dim MyVar
MyVar = MsgBox ("안녕하십니까?", 65, "메시지 상자 예제") ' MyVar는 선택한 단추에 따라 값 1이나 2를 가집니다.


MsgBox 함수

MsgBox 함수
참고 		언어 참조

InputBox 함수


Now 함수

Now 함수 		언어 참조
버전 1

참고

설명
컴퓨터의 시스템 날짜와 시간에 따른 현재 날짜와 시간을 반환합니다.
구문
Now
참고
아래 예제에서 Now 함수는 현재 날짜와 시간을 반환합니다.
Dim MyVar
MyVar = Now ' MyVar는 현재 날짜와 시간을 가집니다.


Now 함수

Now 함수
참고 		언어 참조

Date 함수
Day 함수
Hour 함수
Minute 함수
Month 함수
Second 함수
Time 함수
Weekday 함수
Year 함수


Oct 함수

Oct 함수 		언어 참조
버전 1

참고

설명
숫자의 8진수 값을 반환합니다.
구문
Oct(number)

number 인수는 유효한 식이면 됩니다.

참고
정수가 아닌 number는 계산하기 전에 가장 가까운 정수로 반올림됩니다.

수의 값 종류 | Oct 함수의 결과
Null | Null
Empty | 0
위 두 값을 제외한 모든 수 | 11개 이하의 8진수 문자

유효한 범위의 숫자 바로 앞에 &O를 붙여 8진수를 표현할 수 있습니다. 예를 들어 &O10은 십진수 8의 8진수 표기를 나타냅니다.

아래 예제에서 Oct 함수는 8진수 값을 반환합니다.

Dim MyOct
MyOct = Oct(4)     ' 4를 반환합니다.
MyOct = Oct(8)     ' 10을 반환합니다.
MyOct = Oct(459)   ' 713을 반환합니다.


Oct 함수

Oct 함수
참고 		언어 참조

Hex 함수


Replace 함수

Replace 함수 		언어 참조
버전 2

참고

설명
지정한 하위 문자열을 지정한 횟수만큼 다른 하위 문자열로 바꾼 문자열을 반환합니다.
구문
Replace(expression, find, replacewith[, start[, count[, compare]]])

Replace 함수 구문은 아래 인수를 가집니다.

인수 | 설명
expression | 필수적인 인수. 바꿀 하위 문자열이 들어 있는 문자식입니다.
find | 필수적인 인수. 찾을 하위 문자열입니다.
replacewith | 필수적인 인수. 바꿀 하위 문자열입니다.
start | 선택적인 인수. expression에서의 하위 문자열 검색을 시작하는 위치입니다. 생략하면 1로 간주합니다. 반드시 count와 함께 사용해야 합니다.
number | 선택적인 인수. 하위 문자열의 바꾸기 횟수입니다. 생략하면 기본값이 -1이 되며 해당하는 문자열을 모두 바꿉니다. 반드시 start과 함께 사용해야 합니다.
compare | 선택적인 인수. 사용할 하위 문자열 비교 형식을 나타내는 숫자 값입니다. 그 값에 대해서는 아래의 설정을 참조하십시오. 생략하면 기본값은 0이되며 이진 비교를 수행합니다.

설정
compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

결과 값
Replace 함수는 아래 값을 반환합니다.

경우 | Replace 함수의 결과
길이가 0인 expression인 경우 | 길이가 0인 문자열("")
expression이 Null인 경우 | 오류
길이가 0인 find인 경우 | expression의 사본
길이가 0인 replacewith인 경우 | find에 대한 모든 검색 생략과 함께 expression의 사본
start > Len(expression) | 길이가 0인 문자열
number가 0인 경우 | expression 사본

참고
Replace 함수는 start로 지정한 위치에서 시작하여 expression의 문자열 끝에서 바꾼 다음 문자열을 반환합니다. 즉, 결과로 반환되는 문자열은 원래의 전체 문자열의 사본이 아닙니다.

아래 예제에서 Replace 함수는 문자열을 반환합니다.

Dim MyString

MyString = Replace("XXpXXPXXp", "p", "Y")
'문자열의 처음부터 시작하는 이진 비교입니다. "XXYXXPXXY"를 반환합니다.
MyString = Replace("XXpXXPXXp", "p", "Y")

'3 위치에서 시작하는 텍스트 비교입니다. "YXXYXXY"를 반환합니다.
 (3, -1, 1)


Replace 함수

Replace 함수
참고 		언어 참조

Filter 함수


RGB 함수

RGB 함수 		언어 참조
버전 2

설명
RGB 색상 값을 나타내는 정수를 반환합니다.
구문
RGB(red, green, blue)

RGB 함수는 아래 인수를 가집니다.

인수 | 설명
red | 필수적인 인수. 빨간색 성분을 나타내는 0-255 범위의 숫자입니다.
green | 필수적인 인수. 녹색 성분을 나타내는 0-255 범위의 숫자입니다.
blue | 필수적인 인수. 파란색 성분을 나타내는 0-255 범위의 숫자입니다.

참고
색상 지정을 받아들이는 응용 프로그램의 메서드와 속성에는 RGB 색상 값을 나타내는 숫자가 필요합니다. RGB 색상 값은 빨강, 녹색 및 파랑의 상대적 농도를 지정하여 특정 색을 나타내도록 합니다.

하위 바이트에는 빨강 값, 중간 바이트에는 녹색 값, 상위 바이트에는 파랑 값이 포함됩니다.

아래 함수는 거꾸로 된 바이트 순서이지만 그 순서가 필요한 응용 프로그램에 동일한 정보를 제공합니다.

Function RevRGB(red, green, blue)
    RevRGB= CLng(blue + (green * 256) + (red * 65536))
End Function

255를 초과하는 RGB 함수의 인수 값은 255로 간주됩니다.


Right 함수

Right 함수 		언어 참조
버전 1

참고

설명
문자열의 오른쪽부터 정해진 수 만큼의 문자를 반환합니다.
구문
Right(string, length)

Right 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string | 오른쪽 끝 문자부터 반환될 문자식입니다. string에 Null이 있으면 Null을 반환합니다
length | 반환할 문자 개수를 나타내는 수식입니다. 0이면 길이가 0인 문자열을 반환합니다. string에 있는 문자 개수보다 크거나 같으면 전체 문자열을 반환합니다.

참고
string의 문자 개수를 결정하려면 Len 함수를 사용합니다.

아래 예제에서 Right 함수는 문자열의 오른쪽부터 정해진 수 만큼의 문자를 반환합니다.

Dim AnyString, MyStr
AnyString = "안녕하십니까?"      '문자열을 지정합니다.
MyStr = Right(AnyString, 1)    ' "?"를 반환합니다.
MyStr = Right(AnyString, 6)    ' "녕하십니까?"를 반환합니다.
MyStr = Right(AnyString, 20)   ' "안녕하십니까?"를 반환합니다.
메모 RightB 함수는 문자열이 가지는 바이트 데이터를 사용합니다. length 인수에 반환할 문자 개수를 지정하는 대신 바이트 수를 지정합니다.


Right 함수

Right 함수
참고 		언어 참조

Left 함수
Len 함수
Mid 함수


Rnd 함수

Rnd 함수 		언어 참조
버전 1

참고

설명
난수를 반환합니다.
구문
Rnd[(number)]

number 인수는 유효한 수식이면 됩니다.

참고
Rnd 함수는 0보다 크거나 같고 1보다 작은 값을 반환합니다. number의 값은 Rnd 함수가 난수를 발생시키는 방식을 결정합니다.

number의 값 | Rnd 함수의 결과
0보다 작을 경우 | number를 시드로 하여 매번 같은 수
0보다 클 경우 | 순차적으로 생성되는 그 다음의 난수
0과 같을 경우 | 가장 최근에 생성한 난수
생략한 경우 | 순차적으로 생성되는 그 다음의 난수

주어진 임의의 초기 시드의 경우 Rnd 함수에 대한 매번의 연속적인 호출에서 순차적인 다음 숫자를 위해 이전 숫자를 시드로 사용하기 때문에 같은 순차에 따른 숫자가 발생하게 됩니다.

Rnd를 호출하기 전에 Randomize문을 사용하여 시스템 타이머에 기반한 시드로 난수 발생기를 초기화합니다.

주어진 범위의 무작위 정수를 만들려면 아래 공식을 사용합니다.

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
upperbound는 범위에서 가장 큰 수이고 lowerbound는 범위에서 가장 작은 수입니다.

메모 난수 발생 순차를 반복하려면 숫자 인수로 Randomize를 사용하기 바로 전에 Rnd 함수를 음수 인수로 호출합니다. 같은 값의 number로 Randomize를 사용하면 이전의 순차를 반복하지 않습니다.


Rnd 함수

Rnd 함수
참고 		언어 참조

Randomize 문


Round 함수

Round 함수 		언어 참조
버전 2

참고

설명
지정한 소수점 자리에서 반올림한 수를 반환합니다.
구문
Round(expression[, numdecimalplaces])

Round 함수 구문은 아래 인수를 가집니다.

인수 | 설명
expression | 필수적인 인수. 반올림할 수식입니다.
numdecimalplaces | 선택적인 인수. 소수점 이하의 자릿수를 나타내는 수입니다. 생략하면 Round 함수는 정수를 반환합니다.

참고
아래 예제에서 Round 함수는 하나의 수를 두자리의 십진수로 반올림합니다.
Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi, 2) 'MyVar는 3.14를 가집니다.


Round 함수

Round 함수
참고 		언어 참조

Int, Fix 함수


ScriptEngine 함수

ScriptEngine 함수 		언어 참조
버전 2

참고

설명
사용 중인 스크립트 언어를 나타내는 문자열을 반환합니다.
구문
ScriptEngine
결과 값
ScriptEngine 함수는 아래 문자열을 반환합니다.

문자열 | 설명
VBScript | Microsoft® Visual Basic® Scripting Edition이 현재의 스크립트 엔진임을 나타냅니다.
JScript | Microsoft JScript®가 현재의 스크립트 엔진임을 나타냅니다.
VBA | Microsoft Visual Basic for Applications가 현재의 스크립트 엔진임을 나타냅니다.

참고
아래 예제에서 ScriptEngine 함수는 사용 중인 스크립트 언어를 설명하는 문자열을 반환합니다.
Function GetScriptEngineInfo
  Dim s
  s = ""   	    ' 필요한 정보로 문자열을 작성합니다.
  s = ScriptEngine & " 버전 "
  s = s & ScriptEngineMajorVersion & "."
  s = s & ScriptEngineMinorVersion & "."
  s = s & ScriptEngineBuildVersion
  GetScriptEngineInfo =  s  '결과를 반환합니다.
End Function


ScriptEngineBuildVersion 함수

ScriptEngineBuildVersion 함수 		언어 참조
버전 2

참고

설명
사용 중인 스크립트 엔진의 구성 버전 번호를 반환합니다.

구문
ScriptEngineBuildVersion

참고
반환되는 결과 값은 사용 중인 스크립트 언어의 DLL에 들어 있는 버전 정보와 같습니다.

아래 예제에서 ScriptEngineBuildVersion 함수는 스크립트 엔진의 구성 버전 번호를 반환합니다.

Function GetScriptEngineInfo
 Dim s
 s = ""  		  '필요한 정보로 문자열을 작성합니다.
 s = ScriptEngine & " 버전 "
 s = s & ScriptEngineMajorVersion & "."
 s = s & ScriptEngineMinorVersion & "."
 s = s & ScriptEngineBuildVersion
 GetScriptEngineInfo = s  '결과를 반환합니다.
End Function


ScriptEngineBuildVersion 함수

ScriptEngineBuildVersion 함수
참고 		언어 참조

ScriptEngine 함수
ScriptEngineMajorVersion 함수
ScriptEngineMinorVersion 함수


ScriptEngine 함수

ScriptEngine 함수
참고 		언어 참조

ScriptEngineBuildVersion 함수
ScriptEngineMajorVersion 함수
ScriptEngineMinorVersion 함수


ScriptEngineMajorVersion 함수

ScriptEngineMajorVersion 함수 		언어 참조
버전 2

참고

설명
사용 중인 스크립트 엔진의 주 버전 번호를 반환합니다.
구문
ScriptEngineMajorVersion
참고
반환되는 결과 값은 사용 중인 스크립트 언어의 DLL에 들어 있는 버전 정보와 같습니다.

아래 예제에서 ScriptEngineMajorVersion 함수는 스크립트 엔진의 버전 번호를 반환합니다.

Function GetScriptEngineInfo
  Dim s
  s = "" 		   '필요한 정보로 문자열을 작성합니다.
  s = ScriptEngine & " 버전 "
  s = s & ScriptEngineMajorVersion & "."
  s = s & ScriptEngineMinorVersion & "."
  s = s & ScriptEngineBuildVersion
  GetScriptEngineInfo = s  '결과를 반환합니다.
End Function


ScriptEngineMajorVersion 함수

ScriptEngineMajorVersion 함수
참고 		언어 참조

ScriptEngine 함수
ScriptEngineBuildVersion 함수
ScriptEngineMinorVersion 함수


ScriptEngineMinorVersion 함수

ScriptEngineMinorVersion 함수 		언어 참조
버전 2

참고

설명
사용 중인 엔진 스크립트의 보조 버전 번호를 반환합니다.
구문
ScriptEngineMinorVersion
참고
반환되는 결과 값은 사용 중인 스크립트 언어의 DLL에 들어 있는 버전 정보와 같습니다.

아래 예제에서 ScriptEngineMinorVersion 함수는 스크립트 엔진의 보조 버전 번호를 반환합니다.

Function GetScriptEngineInfo
  Dim s
  s = ""   	 '필요한 정보로 문자열을 작성합니다.
  s = ScriptEngine & " 버전 "
  s = s & ScriptEngineMajorVersion & "."
  s = s & ScriptEngineMinorVersion & "."
  s = s & ScriptEngineBuildVersion
  GetScriptEngineInfo = s  '결과를 반환합니다.
End Function


ScriptEngineMinorVersion 함수

ScriptEngineMinorVersion 함수
참고 		언어 참조

ScriptEngine 함수
ScriptEngineBuildVersion 함수
ScriptEngineMajorVersion 함수


Second 함수

Second 함수 		언어 참조
버전 1

참고

설명
분의 초를 나타내는 0에서 59까지의 정수를 반환합니다.
구문
Second(time)

time 인수는 시간을 나타내는 식입니다. time 인수에 Null이 있으면 Null을 반환합니다.

참고
아래 예제에서 Second 함수는 현재 시간의 초를 반환합니다.
Dim MySec
MySec = Second(Now) 'MySec는 현재 몇 초인 지에 대한 정보를 가집니다.


Second 함수

Second 함수
참고 		언어 참조

Day 함수
Hour 함수
Minute 함수
Now 함수
Time 함수


Sgn 함수

Sgn 함수 		언어 참조
버전 1

참고

설명
수의 부호를 나타내는 정수를 반환합니다.
구문
Sgn(number)

number 인수는 유효한 수식이면 됩니다.

결과값
Sgn 함수는 아래 값을 반환합니다.

number의 값 | Sgn 함수의 결과
0보다 큰 경우 | 1
0과 같은 경우 | 0
0보다 작은 경우 | -1

참고
number 인수의 부호가 Sgn 함수의 결과값을 결정합니다.

아래 예제에서 Sgn 함수는 수의 부호를 결정합니다.

Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1)    ' 1을 반환합니다.
MySign = Sgn(MyVar2)    ' -1을 반환합니다.
MySign = Sgn(MyVar3)    ' 0을 반환합니다.


Sgn 함수

Sgn 함수
참고 		언어 참조

Abs 함수


Sin 함수

Sin 함수 		언어 참조
버전 1

참고

설명
각도의 싸인 값을 반환합니다.
구문
Sin(number)

number 인수는 각을 라디안으로 나타내는 유효한 수식이면 됩니다.

참고
Sin 함수는 직각 삼각형의 동위각을 사용하여 두 변의 길이에 의한 비를 반환합니다. 이 비는 해당 각의 맞은 쪽 변의 길이를 직각 삼각형의 사변의 길이로 나눈 비율입니다. 반환되는 결과의 범위는 -1에서 1까지입니다.

각을 라디안으로 변환하려면 각에 pi/180를 곱하고, 라디안을 각으로 변환하려면 라디안에 180/pi를 곱합니다.

아래 예제에서 Sin 함수는 각의 싸인 값을 반환합니다.

Dim MyAngle, MyCosecant
MyAngle = 1.3                   ' 각을 라디안으로 정의합니다.
MyCosecant = 1 / Sin(MyAngle)   ' 코씨컨트 값을 계산합니다.


Sin 함수

Sin 함수
참고 		언어 참조

Atn 함수
Cos 함수
Tan 함수
파생된 수학 함수


Space 함수

Space 함수 		언어 참조
버전 1

참고

설명
지정된 수 만큼의 공백이 들어있는 문자열을 반환합니다.
구문
Space(number)

number 인수는 문자열에 채워 넣을 공백의 개수입니다.

참고
아래 예제에서 Space 함수는 지정된 수 만큼의 공백이 들어 있는 문자열을 반환합니다.
Dim MyString
MyString = Space(10)                      ' 10개의 공백이 있는 문자열을 반환합니다.
MyString = "안녕" & Space(10) & "하십니까?" ' 두 문자열 사이에 10개의 공백을 삽입합니다.


Space 함수

Space 함수
참고 		언어 참조

String 함수


Split 함수

Split 함수 		언어 참조
버전 2

참고

설명
지정한 개수의 하위 문자열을 포함하는 0 기준 1차원 배열을 반환합니다.
구문
Split(expression[, delimiter[, number[, compare]]])

Split 함수 구문은 아래 인수를 가집니다.

인수 | 설명
expression | 필수적인 인수. 하위 문자열과 구분 기호를 포함하는 문자식입니다. expression이 길이가 0인 문자열이면 Split는 빈 배열, 즉 구성 요소와 데이터가 없는 배열을 반환합니다.
delimiter | 선택적인 인수. 하위 문자열의 한계를 식별하는 데 사용하는 문자열 문자입니다. 생략하면 공백 문자(" ")를 구분 기호로 간주합니다. delimiter의 길이가 0인 문자열이면 전체 expression 문자열을 포함하는 단일 요소 배열을 반환합니다.
number | 선택적인 인수. 반환할 하위 문자열의 수입니다. -1은 모든 하위 문자열을 반환한다는 것을 나타냅니다.
compare | 선택적인 인수. 사용할 하위 문자열 비교 형식을 나타내는 숫자 값입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

참고
아래 예제에서 Split 함수는 문자열의 배열을 반환합니다. 이 함수는 구분 문자의 텍스트 비교를 실행하고 하위 문자열을 모두 반환합니다.
Dim MyString, MyArray
MyString = Split("VBScriptXisXfun!", "x", -1, 1)
' MyString(0)은 "VBScript"를 가집니다.
' MyString(1)은 "is"를 가집니다.
' MyString(2)은 "fun!"을 가집니다.


Split 함수

Split 함수
참고 		언어 참조

Join 함수


Sqr 함수

Sqr 함수 		언어 참조
버전 1

설명
숫자의 제곱근을 반환합니다.
구문
Sqr(number)

number 인수는 0보다 크거나 같은 유효한 수식입니다.

참고
아래 예제에서 Sqr 함수는 숫자의 제곱근을 계산합니다.
Dim MySqr
MySqr = Sqr(4)     ' 2를 반환합니다.
MySqr = Sqr(23)    ' 4.79583152331272를 반환합니다.
MySqr = Sqr(0)     ' 0을 반환합니다.
MySqr = Sqr(-4)    ' 런타임 오류를 일으킵니다.


StrComp 함수

StrComp 함수 		언어 참조
버전 1

설명
문자열 비교의 결과를 나타내는 값을 반환합니다.
구문
StrComp(string1, string2[, compare])

StrComp 함수 구문은 아래 인수를 가집니다.

인수 | 설명
string1 | 필수적인 인수. 유효한 문자식.
string2 | 필수적인 인수. 유효한 문자식.
compare | 선택적인 인수. 문자열을 평가하는 데 사용할 비교 형식을 나타내는 숫자 값입니다. 생략하면 이진 비교를 실행합니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
compare 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

결과 값
StrComp 함수는 아래 값을 반환합니다.

경우 | StrComp 함수의 결과
string1이 string2보다 작은 경우 | -1
string1이 string2와 같은 경우 | 0
string1이 string2보다 큰 경우 | 1
string1이나 string2가 Null인 경우 | Null

참고
아래 예제에서 StrComp 함수는 문자열 비교의 결과를 반환합니다. 세번째 인수가 1이라면 텍스트 비교가 실행됩니다. 세번째 인수가 0이거나 생략된다면 이진 비교가 실행됩니다.
Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd"       ' 변수를 정의합니다.
MyComp = StrComp(MyStr1, MyStr2, 1)    ' 0을 반환합니다.
MyComp = StrComp(MyStr1, MyStr2, 0)    ' -1을 반환합니다.
MyComp = StrComp(MyStr2, MyStr1)       ' 1을 반환합니다.


String 함수

String 함수 		언어 참조
버전 1

참고

설명
지정한 길이의 반복되는 문자열을 반환합니다.
구문
문자열(number, character)

String 함수 구문은 아래 인수를 가집니다.

인수 | 설명
number | 반환할 문자열의 길이입니다. number에 Null이 있으면 Null을 반환합니다.
character | 반환할 문자열을 구성하는 데 사용할 첫째 문자가 있는 문자나 문자식을 지정하는 문자 코드입니다. character에 Null이 있으면 Null을 반환합니다.

참고
문자에 대해 255보다 큰 수를 숫자로 지정하면 String 함수는 아래 공식을 사용하여 이 숫자를 유효한 문자 코드로 변환합니다.
character Mod 256
아래 예제에서 String 함수는 지정한 길이의 반복되는 문자열을 반환합니다.
Dim MyString
MyString = String(5, "*")       ' "*****"를 반환합니다.
MyString = String(5, 42)        ' "*****"를 반환합니다.
MyString = String(10, "ABC")    ' "AAAAAAAAAA"를 반환합니다.


String 함수

String 함수
참고 		언어 참조

Space 함수


StrReverse 함수

StrReverse 함수 		언어 참조
버전 2

설명
지정한 문자열의 순서가 거꾸로 된 문자열을 반환합니다.
구문
StrReverse(string1)

string1 인수는 그 문자들이 역순인 문자열입니다. string1이 길이가 0인 문자열("")일 경우 길이가 0인 문자열을 반환하며, Null일 경우 오류가 발생합니다.

참고
아래 예제에서 StrReverse 함수는 역순의 문자열을 반환합니다.
Dim MyStr
MyStr = StrReverse("VBScript") 'MyStr은 "tpircSBV"를 가집니다.


Tan 함수

Tan 함수 		언어 참조
버전 1

참고

설명
각도의 탄젠트 값을 반환합니다.
구문
Tan(number)

number 인수는 각을 라디안으로 나타내는 유효한 수식입니다.

참고
Tan 함수는 인수로 각을 사용하여 직각 삼각형에 있는 두 변의 길이에 의한 비를 반환합니다. 이 비는 해당 각의 맞은 쪽 변의 길이를 이 각에 인접한 변의 길이로 나눈 비율입니다.

각을 라디안으로 변환하려면 각에 pi/180를 곱하고, 라디안을 각으로 변환하려면 라디안에 180/pi를 곱합니다.

아래 예제에서 Tan 함수는 각의 탄젠트 값을 반환합니다.

Dim MyAngle, MyCotangent
MyAngle = 1.3                     ' 각을 라디안으로 정의합니다.
MyCotangent = 1 / Tan(MyAngle)    ' 코탄젠트 값을 계산합니다.


Tan 함수

Tan 함수
참고 		언어 참조

Atn 함수
Cos 함수
Sin 함수
파생된 수학 함수


Time 함수

Time 함수 		언어 참조
버전 1

참고

설명
현재 시스템 시간을 나타내는 Date 하위 형식의 Variant를 반환합니다.
구문
Time
참고
아래 예제에서 Time 함수는 현재 시스템 시간을 반환합니다.
Dim MyTime
MyTime = Time    ' 현재 시스템 시간을 반환합니다.


Time 함수

Time 함수
참고 		언어 참조

Date 함수


Timer 함수

Timer 함수 		언어 참조
버전 5

참고

설명
12:00 AM(자정) 이후로 경과한 초를 반환합니다.
구문
Timer

참고
다음은 Timer 함수를 사용하여 For...Next 루프를 N번 실행하는데 걸리는 시간을 구하는 예입니다.
Function TimeIt(N)
  Dim StartTime, EndTime
  StartTime = Timer
  For I = 1 To N
  Next
  EndTime = Timer
  TimeIt = EndTime - StartTime
End Function


Timer 함수

Timer 함수
참고 		언어 참조

Randomize 문


TimeSerial 함수

TimeSerial 함수 		언어 참조
버전 1

참고

설명
지정한 년, 월, 일의 Date 하위 형식인 Variant를 반환합니다.
구문
TimeSerial(hour, minute, second)

TimeSerial 함수 구문은 아래 인수를 가집니다.

인수 | 설명
time | 0(오전 12:00)에서 23(오후 11:00) 사이의 수(0과 23 포함) 또는 수식
minute | 모든 수식
second | 모든 수식

참고
11시 59분 59초처럼 어떤 시간을 지정하려면 각 TimeSerial 인수의 숫자는 해당 인수의 허용 범위 안에 있어야 합니다. 즉, 시간은 0-23이며, 분과 초는 0-59입니다. 그러나 특정 시간의 앞뒤에 시, 분, 초를 나타내는 수식을 사용하여 각 인수의 상대적인 시간을 지정할 수도 있습니다.

아래 예제는 절대 시간 수 대신 식을 사용하고 있습니다. 여기서 TimeSerial 함수는 정오의 6시간 15분 전, 즉 오전 5시 45분을 반환합니다.

Dim MyTime1
MyTime1 = TimeSerial(12 - 6, -15, 0) ' 오전 5시 45분을 반환합니다.
인수가 해당되는 허용 범위를 넘으면 그 다음으로 큰 단위로 넘어갑니다. 예를 들어 75분을 지정하면 1시간 15분으로 계산합니다. 그러나 어느 한 인수가 -32,768~32,767 범위를 넘는 인수이거나 세 인수를 사용하여 직접 또는 식으로 지정한 날짜가 허용 범위를 넘을 경우 오류가 발생합니다.


TimeSerial 함수

TimeSerial 함수
참고 		언어 참조

DateSerial 함수
DateValue 함수
Hour 함수
Minute 함수
Now 함수
Second 함수
TimeValue 함수


TimeValue 함수

TimeValue 함수 		언어 참조
버전 1

참고

설명
시간을 포함하는 Date 하위 형식의 Variant를 반환합니다.
구문
TimeValue(time)

대개 time 인수는 0:00:00(오전 12:00:00)에서 23:59:59(오후 11:59:59)까지의 시간을 나타내는 문자식으로 이 범위에 있는 시간을 나타내는 식도 time 인수가 될 수 있습니다. time에 Null이 있으면 Null을 반환합니다.

참고
12시간이나 24시간 짜리 시계에서 유효한, 시간 단위를 입력할 수 있습니다. 즉, "2:24PM"와 "14:24" 모두 유효한 time 인수입니다. time 인수에 날짜 정보가 있는 경우 TimeValue 함수에서는 그 정보를 반환하지 않습니다. 그러나 time 인수에 잘못된 날짜 정보가 있으면 오류가 발생합니다.

아래 예제에서 TimeValue 함수는 문자열을 시간으로 변환합니다. 날짜 리터럴을 사용하면 시간을 직접 Variant에 지정할 수 있습니다(예: MyTime = #4:35:17 PM#).

Dim MyTime
MyTime = TimeValue("4:35:17 PM")    ' MyTime은 "4:35:17 PM"을 가집니다.


TimeValue 함수

TimeValue 함수
참고 		언어 참조

DateSerial 함수
DateValue 함수
Hour 함수
Minute 함수
Now 함수
Second 함수
TimeSerial 함수


TypeName 함수

TypeName 함수 		언어 참조
버전 2

참고

설명
변수에 관한 Variant 하위 형식 정보를 제공하는 문자열을 반환합니다.
구문
TypeName(varname)

필수적인 인수. varname 인수는 아무 변수이면 됩니다.

결과 값
TypeName 함수는 아래 값들을 반환합니다.

값 | 설명
Byte | 바이트 값
Integer | 정수 값
Long | Long 정수 값
Single | 단정밀도 부동 소수점 숫자 값
Double | 배정밀도 부동 소수점 숫자 값
Currency | 통화 값
Decimal | 십진 값
Date | 날짜 또는 시간 값
String | 문자열 값
Boolean | 부울 값 True 또는 False
Empty | 초기화되지 않음
Null | 유효한 데이터 없음
<object type> | 개체의 실제 형식 이름
Object | 일반 개체
Unknown | 알 수 없는 개체 형식
Nothing | 개체 인스턴스를 아직 참조하지 않은 개체 변수
Error | 오류

참고
아래 예제에서 TypeName 함수는 변수 관련 정보를 반환합니다.
Dim ArrayVar(4), MyType
NullVar = Null    		' Null 값을 지정합니다.

MyType = TypeName("VBScript")   ' "String"을 반환합니다.
MyType = TypeName(4)            ' "Integer"를 반환합니다.
MyType = TypeName(37.50)        ' "Double"을 반환합니다.
MyType = TypeName(NullVar)      ' "Null"을 반환합니다.
MyType = TypeName(ArrayVar)     ' "Variant()"를 반환합니다.


TypeName 함수

TypeName 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
VarType 함수


UBound 함수

UBound 함수 		언어 참조
버전 1

참고

설명
지정한 배열 차원에 사용할 수 있는 가장 큰 첨자를 반환합니다.
구문
UBound(arrayname[, dimension])

UBound 함수 구문은 아래 인수를 가집니다.

인수 | 설명
arrayname | 필수적인 인수. 배열 변수의 이름으로 일반 변수 명명 규칙을 따릅니다.
dimension | 선택적인 인수. 반환될 차원의 상한값을 나타내는 정수입니다. 1차원은 1, 2차원은 2, 등등으로 정수를 사용합니다. dimension을 생략하면 1로 간주합니다.

참고
UBound 함수는 LBound 함수와 함께 사용하여 배열의 크기를 결정합니다. LBound 함수를 사용하면 배열 차원의 하한값을 알 수 있습니다.

모든 차원의 하한값은 항상 0입니다. 따라서 UBound 함수는 각 차원에 따른 배열의 값을 아래와 같이 반환합니다.

Dim A(100,3,4)
문 | 결과 값
UBound(A, 1) | 100
UBound(A, 2) | 3
UBound(A, 3) | 4


UBound 함수

UBound 함수
참고 		언어 참조

Dim 문
LBound 함수
ReDim 문


UCase 함수

UCase 함수 		언어 참조
버전 1

참고

설명
대문자로 변환된 문자열을 반환합니다.
구문
UCase(string)

string 인수는 유효한 문자식이면 됩니다. string에 Null이 있으면 Null을 반환합니다.

참고
소문자만 대문자로 변환하고 대문자와 글자가 아닌 문자는 변환하지 않고 그대로 둡니다.

아래 예제에서 UCase 함수는 문자열의 대문자 버전을 반환합니다.

Dim MyWord
MyWord = UCase("Hello World")    ' "HELLO WORLD"를 반환합니다.


UCase 함수

UCase 함수
참고 		언어 참조

LCase 함수


VarType 함수

VarType 함수 		언어 참조
버전 1

참고

설명
변수의 하위 형식을 나타내는 값을 반환합니다.
구문
VarType(varname)

varname 인수는 아무 변수이면 됩니다.

결과 값
VarType 함수는 아래 값들을 반환합니다.

상수 | 값 | 설명
vbEmpty | 0 | Empty(초기화되지 않음)
vbNull | 1 | Null(유효한 데이터 없음)
vbInteger | 2 | 정수
vbLong | 3 | Long 정수
vbSingle | 4 | 단정밀도 부동 소수점 숫자
vbDouble | 5 | 배정밀도 부동 소수점 숫자
vbCurrency | 6 | 통화
vbDate | 7 | 날짜
vbString | 8 | 문자열
vbObject | 9 | 자동화 개체
vbError | 10 | 오류
vbBoolean | 11 | 부울 값
vbVariant | 12 | Variant(변이형 배열에만 사용)
vbDataObject | 13 | 데이터 액세스 개체
vbByte | 17 | 바이트
vbArray | 8192 | 배열

메모 VBScript에서 지정한 상수들이므로 그 이름들은 코드의 어느 곳에서나 실제 값 대신 사용할 수 있습니다.

참고
VarType 함수 자체는 해당 배열 값을 결코 반환하지 않으며 항상 다른 값에 합해져서 특정 형식의 배열을 나타냅니다. 배열의 특정 값에 합해져서 VarType 함수의 인수가 배열임을 나타낼 때에만 Variant에 대한 값을 반환합니다. 예를 들어 배열에 반환되는 정수 값은 2+8192 또는 8194로 계산됩니다. 기본 속성을 가진 개체일 경우 VarType(object) 함수는 해당 개체에 대한 기본 속성의 형식을 반환합니다.

아래 예제에서 VarType 함수는 변수의 하위 형식을 결정합니다.

Dim MyCheck
MyCheck = VarType(300)           ' 2를 반환합니다.
MyCheck = VarType(#10/19/62#)    ' 7을 반환합니다.
MyCheck = VarType("VBScript")    ' 8을 반환합니다.


VarType 함수

VarType 함수
참고 		언어 참조

IsArray 함수
IsDate 함수
IsEmpty 함수
IsNull 함수
IsNumeric 함수
IsObject 함수
TypeName 함수


Weekday 함수

Weekday 함수 		언어 참조
버전 1

참고

설명
요일을 나타내는 정수를 반환합니다.
구문
Weekday(date, [firstdayofweek])

Weekday 함수 구문은 아래 인수를 가집니다.

인수 | 설명
date | 날짜를 나타내는 식입니다. date에 Null이 있으면 Null을 반환합니다.
firstdayofweek | 첫째 요일을 지정하는 상수입니다. 생략하면 vbSunday로 간주합니다.

설정
firstdayofweek 인수는 아래와 같이 설정됩니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS( National Language Support) API 설정 사용
vbSunday | 1 | 일요일
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일

결과 값
대개 Weekday 함수는 아래 값을 반환합니다.

상수 | 값 | 설명
vbSunday | 1 | 일요일
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일

참고
아래 예제에서 Weekday 함수는 지정한 날짜로부터 요일을 가져옵니다.
Dim MyDate, MyWeekDay
MyDate = #October 19, 1962#    ' 날짜를 지정합니다.
MyWeekDay = Weekday(MyDate)    ' MyDate가 Friday를 나타내므로 MyWeekDay는 값 6을 가집니다.


Weekday 함수

Weekday 함수
참고 		언어 참조

Date 함수
Day 함수
Month 함수
Now 함수
Year 함수


WeekDayName 함수

WeekDayName 함수 		언어 참조
버전 2

참고

설명
지정된 요일을 나타내는 문자열을 반환합니다.
구문
WeekDayName(weekday, abbreviate, firstdayofweek)

WeekDayName 함수 구문은 아래 인수를 가집니다.

인수 | 설명
weekday | 필수적인 인수. 요일을 나타내는 숫자입니다. firstdayofweek 설정에 따라 각 요일의 값이 다릅니다.
abbreviate | 선택적인 인수. 요일 이름을 약어로 나타낼지 여부를 나타내는 부울 값입니다. 생략하면 기본값인 False가 되며 요일 이름을 완전한 형태로 나타냅니다.
firstdayofweek | 선택적인 인수. 첫째 요일을 나타내는 숫자 값입니다. 그 값에 대해서는 아래의 설정을 참조하십시오.

설정
firstdayofweek 인수의 값은 아래와 같습니다.

상수 | 값 | 설명
vbUseSystem | 0 | NLS(National Language Support) API 설정 사용
vbSunday | 1 | 일요일(기본값)
vbMonday | 2 | 월요일
vbTuesday | 3 | 화요일
vbWednesday | 4 | 수요일
vbThursday | 5 | 목요일
vbFriday | 6 | 금요일
vbSaturday | 7 | 토요일

참고
아래 예제에서 WeekDayName 함수는 지정한 날을 반환합니다.
Dim MyDate
MyDate = WeekDayName(6, True)  'MyDate는 Fri를 가집니다.


WeekDayName 함수

WeekDayName 함수
참고 		언어 참조

MonthName 함수


Year 함수

Year 함수 		언어 참조
버전 1

참고

설명
연도를 나타내는 정수를 반환합니다.
구문
Year(date)

date 인수는 날짜를 나타내는 식입니다. date에 Null이 있다면 Null을 반환합니다.

참고
아래 예제에서 Year 함수는 지정한 날짜로부터 연도를 가져옵니다.
Dim MyDate, MyYear
MyDate = #October 19, 1962#   ' 날짜를 지정합니다.
MyYear = Year(MyDate)         ' MyYear는 1962를 가집니다.


Year 함수

Year 함수
참고 		언어 참조

Date 함수
Day 함수
Month 함수
Now 함수
Weekday 함수


비교 연산자

비교 연산자 		언어 참조
버전 1

참고

설명
식을 비교하는 데 사용합니다.
구문
result = expression1 comparisonoperator expression2

result = object1 Is object2

비교 연산자의 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression | 임의의 특정 식
comparisonoperator | 임의의 특정 비교 연산자
object | 임의의 특정 개체 이름

참고
Is 연산자는 아래 표의 연산자와는 다른 특정의 비교 기능을 가지고 있습니다. 아래 표에서는 비교 연산자의 목록과 그 result가 True, False 또는 Null인지를 결정하는 조건문을 보여줍니다.

연산자 설명 결과가 True인 조건문 결과가 False인 조건문 결과가 Null인 조건문
< 보다 작다 expression1 < expression2 expression1 >= expression2 expression1 또는 expression2 = Null
<= 작거나 같다 expression1 <= expression2 expression1 > expression2 expression1 또는 expression2 = Null
> 보다 크다 expression1 > expression2 expression1 <= expression2 expression1 또는 expression2 = Null
>= 크거나 같다 expression1 >= expression2 expression1 < expression2 expression1 또는 expression2 = Null
= 같다 expression1 = expression2 expression1 <> expression2 expression1 또는 expression2 = Null
<> 같지 않다 expression1 <> expression2 expression1 = expression2 expression1 또는 expression2 = Null

두 식을 비교할 때 그 식들을 숫자로 또는 문자열로 비교할지를 쉽게 결정하지 못할 수도 있습니다.

아래 표에서는 기본 하위 형식에 따라서 수행되는 비교 방식 또는 그 비교 결과를 보여줍니다.

경우 | 결과
두 식이 모두 수식인 경우 | 숫자를 비교합니다.
두 식이 모두 문자식인 경우 | 문자열을 비교합니다.
각각 수식과 문자식인 경우 | 수식이 문자식보다 작습니다.
각각 Empty식과 수식인 경우 | 0을 Empty식으로 사용하여 숫자를 비교합니다.
각각 Empty식과 문자식인 경우 | 길이가 0인 문자열("")을 Empty식으로 사용하여 문자열을 비교합니다.
두 식이 모두 Empty인 경우 | 두 식이 같습니다.


비교 연산자

비교 연산자
참고 		언어 참조

= 연산자
Is 연산자
연산자 개요
연산자 우선 순위


파생된 수학 함수

파생된 수학 함수 		언어 참조
버전 1

참고

설명
기본적으로 제공되는 수학 함수에서 파생되는 수학 함수는 아래와 같습니다.

함수 | 대등한 파생 함수
씨컨트 | Sec(X) = 1 / Cos(X)
코씨컨트 | Cosec(X) = 1 / Sin(X)
코탄젠트 | Cotan(X) = 1 / Tan(X)
아크 싸인 | Arcsin(X) = Atn(X / Sqr(-X * X + 1))
아크 코싸인 | Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
아크 씨컨트 | Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1))
아크 코씨컨트 | Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
아크 코탄젠트 | Arccotan(X) = Atn(X) + 2 * Atn(1)
하이퍼볼릭 싸인 | HSin(X) = (Exp(X) - Exp(-X)) / 2
하이퍼볼릭 코싸인 | HCos(X) = (Exp(X) + Exp(-X)) / 2
하이퍼볼릭 탄젠트 | HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
하이퍼볼릭 씨컨트 | HSec(X) = 2 / (Exp(X) + Exp(-X))
하이퍼볼릭 코씨컨트 | HCosec(X) = 2 / (Exp(X) - Exp(-X))
하이퍼볼릭 코탄젠트 | HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
하이퍼볼릭 아크 싸인 | HArcsin(X) = Log(X + Sqr(X * X + 1))
하이퍼볼릭 아크 코싸인 | HArccos(X) = Log(X + Sqr(X * X - 1))
하이퍼볼릭 아크 탄젠트 | HArctan(X) = Log((1 + X) / (1 - X)) / 2
하이퍼볼릭 아크 씨컨트 | HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
하이퍼볼릭 아크 코씨컨트 | HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
하이퍼볼릭 아크 코탄젠트 | HArccotan(X) = Log((X + 1) / (X - 1)) / 2
밑이 N인 로그 함수 | LogN(X) = Log(X) / Log(N)


파생된 수학 함수

파생된 수학 함수
참고 		언어 참조

Atn 함수
Cos 함수
Exp 함수
Log 함수
Sin 함수
Sqr 함수
Tan 함수


VBScript 기능

VBScript 기능 		언어 참조

항목 | 키워드
배열 처리 Array
Dim, Private, Public, ReDim
IsArray
Erase
LBound, UBound
지정 | Set
주석 | 아포스트로피(') 사용 주석 또는 Rem 문
상수/리터럴 Empty
Nothing
Null
True, False
제어 흐름 Do...Loop
For...Next
For Each...Next
If...Then...Else
Select Case
While...Wend
With
변환 Abs
Asc, AscB, AscW
Chr, ChrB, ChrW
CBool, CByte
CCur, CDate
CDbl, CInt
CLng, CSng, CStr
DateSerial, DateValue
Hex, Oct
Fix, Int
Sgn
TimeSerial, TimeValue
날짜/시간 Date, Time
DateAdd, DateDiff, DatePart
DateSerial, DateValue
Day, Month, MonthName
Weekday, WeekdayName, Year
Hour, Minute, Second
Now
TimeSerial, TimeValue
선언 Class
Const
Dim, Private, Public, ReDim
Function, Sub
Property Get, Property Let, Property Set
오류 처리 On Error
Err
식 Eval
Execute
RegExp
Replace
Test
서식 문자열 FormatCurrency
FormatDateTime
FormatNumber
FormatPercent
입/출력 InputBox
LoadPicture
MsgBox
리터럴 Empty
False
Nothing
Null
True
수학 Atn, Cos, Sin, Tan
Exp, Log, Sqr
Randomize, Rnd
기타 Eval 함수
Execute 문
RGB 함수
개체 CreateObject
Dictionary
Drive 개체
Drives 컬렉션
Err
File 개체
Files 컬렉션
FileSystemObject
Folder 개체
Folders 컬렉션
GetObject
RegExp
TextStream
연산자 덧셈(+), 뺄셈(-)
지수(^)
나머지 연산(Mod)
곱셈(*), 나눗셈(/), 정수 나눗셈(\)
부정(-)
문자열 연결(&)
같다(=), 같지 않다(<>)
보다 작다(<), 보다 작거나 같다(<=)
보다 크다(>), 보다 크거나 같다(>=)
Is
And, Or, Xor
Eqv, Imp
옵션 | Option Explicit
프로시저 Call
Function, Sub
Property Get, Property Let, Property Set
반올림 Abs
Int, Fix, Round
Sgn
스크립트 엔진 ID ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion
문자열 Asc, AscB, AscW
Chr, ChrB, ChrW
Filter, InStr, InStrB
InstrRev
Join
Len, LenB
LCase, UCase
Left, LeftB
Mid, MidB
Right, RightB
Replace
Space
Split
StrComp
String
StrReverse
LTrim, RTrim, Trim
변이형(Variants) IsArray
IsDate
IsEmpty
IsNull
IsNumeric
IsObject
TypeName
VarType


VBScript에 없는 Visual Basic for Applications 기능

VBScript에 없는 Visual Basic for Applications 기능 		언어 참조

항목 | 생략된 기능/키워드
배열 처리 Option Base
0이 아닌 하한값을 가진 배열 선언
컬렉션 Add, Count, Item, Remove
MyCollection!Foo처럼 !(느낌표) 문자를 사용하는 컬렉션에 대한 액세스
조건부 컴파일 #Const
#If...Then...#Else
흐름 제어 DoEvents
GoSub...Return, GoTo
On Error GoTo
On...GoSub, On...GoTo
Line 번호, Line 레이블
변환 CVar, CVDate
Str, Val
데이터 형식 Variant를 제외한 모든 내부 데이터 형식
Type..End Type
날짜/시간 | Date 문, Time 문
DDE | LinkExecute, LinkPoke, LinkRequest, LinkSend
디버깅 Debug.Print
End, Stop
선언 Declare(DLL 선언용)
Optional
ParamArray
Static
오류 처리 Erl
Error
Resume, Resume Next
파일 입/출력 | 기존의 모든 Basic 파일 입/출력
재무 | 모든 재무 함수
개체 조작 | TypeOf
개체 Clipboard
Collection
연산자 | Like
옵션 Deftype
Option Base
Option Compare
Option Private Module
Select Case Is 키워드를 포함하는 식이나 비교 연산자
To 키워드를 사용하는 값의 범위를 포함하는 식
문자열 고정 크기 문자열
LSet, RSet
Mid 문
StrConv
개체 사용 | !(느낌표)를 사용하는 컬렉션 액세스


연산자 우선 순위

연산자 우선 순위 		언어 참조
버전 1

참고

설명
한 식에서 여러 개의 연산을 수행할 경우 연산자 우선 순위라고 하는 미리 정해진 순서에 따라 식의 각 부분을 해석하여 분해합니다. 괄호를 사용하면 연산에 대한 우선 순위를 바꾸거나 다른 부분을 계산하기 전에 식의 한 부분을 먼저 계산할 수 있습니다. 괄호 안의 연산은 항상 괄호 밖의 연산보다 먼저 수행되지만, 괄호 안에서는 일반적인 연산자 우선 순위를 따릅니다.

둘 이상의 유형에 속하는 연산자를 가진 식에서는 산술 연산자, 비교 연산자, 논리 연산자 순으로 계산합니다. 모든 비교 연산자는 동등한 우선 순위, 즉 비교 연산자의 위치에 따라 왼쪽에서 오른쪽으로 계산됩니다. 산술 연산자와 논리 연산자의 우선 순위는 아래와 같습니다.

산술 연산자 | 비교 연산자 | 논리 연산자
지수(^) | 같다(=) | Not
부정(-) | 같지 않다(<>) | And
곱셈과 나눗셈(*, /) | 보다 작다(<) | Or
정수 나눗셈(\) | 보다 크다(>) | Xor
나머지 연산(Mod) | 보다 작거나 같다(<=) | Eqv
덧셈과 뺄셈(+, -) | 보다 크거나 같다(>=) | Imp
문자열 연결(&) Is &

한 식에서 곱셈과 나눗셈을 모두 수행할 경우 그 위치에 따라 왼쪽에서 오른쪽으로 각 연산을 수행합니다. 또한 한 식에서 덧셈과 뺄셈을 모두 수행할 경우에도 마찬가지입니다.

문자열 연결 연산자(&)는 산술 연산자가 아니지만, 그 우선 순위는 모든 산술 연산자 뒤와 모든 비교 연산자 앞에 나옵니다. Is 연산자는 개체 참조 비교 연산자이며, 개체 또는 그 값을 비교하는 것이 아니라 두 개체 참조가 동일한 개체를 참조하는지를 확인하는 데에만 사용됩니다.


연산자 우선 순위

연산자 우선 순위
참고 		언어 참조

Is 연산자
연산자 개요


연산자 개요

연산자 개요 		언어 참조
버전 1

참고

논리 연산자
논리 연산을 수행하는 데 사용하는 연산자입니다.
지정 연산자
연산자는 속성이나 변수에 값을 지정합니다.
비교 연산자
비교하는 데 사용하는 연산자입니다.
산술 연산자
수학적인 계산을 수행하는 데 사용하는 연산자입니다.
연결 연산자
문자열을 연결하는 데 사용하는 연산자입니다.


연산자 개요

연산자 개요
참고 		언어 참조

연산자 우선 순위


Microsoft Scripting 런타임 라이브러리 기능

Microsoft Scripting 런타임 라이브러리 참조 기능 		언어 참조

범주 기능/키워드
컬렉션 Drives
Files
Folders
파일과 시스템 관리
  • Dictionary
    Add, Exists, Items, Keys, Remove, RemoveAll
    Count, Item, Key
  • Drive, File, Folder
    Copy, Delete, Move, OpenAsTextStream
    Attributes, Count, DateCreated, DateLastAccessed, DateLastModified, Drive, ParentFolder, Name, Path, ShortName, ShortPath, Size
    AvailableSpace, DriveLetter, DriveType, FileSystem, FreeSpace, IsReady, RootFolder, SerialNumber, ShareName, TotalSize, VolumeName
  • FileSystemObject
    BuildPath, CopyFile, CopyFolder, CreateFolder, CreateTextFile, DeleteFile, DeleteFolder, DriveExists, FileExists, FolderExists, GetAbsolutePathName, GetBaseName, GetDrive, GetDriveName, GetExtensionName, GetFile, GetFileName, GetFolder, GetParentFolderName, GetSpecialFolder, GetTempName, MoveFile, MoveFolder, OpenTextFile
    Drives
  • TextStream
    Close, Read, ReadAll, ReadLine, Skip, SkipLine, Write, WriteBlankLines, WriteLine
    AtEndOfLine, AtEndOfStream, Column, Line


Visual Basic for Applications에 없는 VBScript 기능

Visual Basic for Applications에 없는 VBScript 기능 		언어 참조

항목 | 기능/키워드
선언 | Class
기타 Eval
Execute
개체 | RegExp
스크립트 엔진 식별 ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion


산술 연산자

산술 연산자 		언어 참조
버전 1

*(곱셈) 연산자
+(덧셈) 연산자
-(뺄셈) 연산자
/(나눗셈) 연산자
\(정수 나눗셈) 연산자
^(지수)연산자
Mod(나머지) 연산자
연결 연산자


지정 연산자

지정 연산자 		언어 참조
버전 1

= 연산자


연결 연산자

연결 연산자 		언어 참조
버전 1

&(문자열 연결) 연산자
+(덧셈) 연산자


변환 함수

변환 함수 		언어 참조
버전 1

Asc 함수
CBool 함수
CByte 함수
CCur 함수
CDate 함수
CDbl 함수
Chr 함수
CInt 함수
CLng 함수
CSng 함수
CStr 함수
Hex 함수
Oct 함수


VBScript 오류 메시지

VBScript 오류 메시지 		언어 참조

오류 코드 | 메시지
5 | 프로시저 호출 또는 인수가 잘못되었습니다.
6 | 숫자가 너무 큽니다.
7 | 메모리가 부족합니다.
9 | 첨자 사용이 잘못되었습니다.
10 | 배열은 고정되었거나 일시적으로 잠금 상태입니다.
11 | 0으로 나누었습니다.
13 | 형식이 일치하지 않습니다.
14 | 문자열 공간이 부족합니다.
28 | 스택 공간이 부족합니다.
35 | Sub 또는 Function이 정의되지 않았습니다.
48 | DLL 로드 중 오류가 발생하였습니다.
51 | 내부 오류입니다.
53 | 파일이 없습니다.
57 | 장치 입/출력 오류입니다.
58 | 파일이 이미 존재합니다.
61 | 디스크에 여유 공간이 없습니다.
67 | 파일이 너무 많습니다.
70 | 사용 권한이 없습니다.
75 | 경로/파일 액세스에 오류가 발생하였습니다.
76 | 경로를 찾을 수 없습니다.
91 | Object 변수 또는 With 블록 변수가 설정되어 있지 않습니다.
92 | For 루프를 초기화하지 않았습니다.
94 | Null의 사용이 잘못되었습니다.
322 | 필요한 임시 파일을 만들 수 없습니다.
424 | 개체가 필요합니다.
429 | ActiveX 구성 요소는 개체를 만들 수 없습니다.
430 | 클래스는 자동화를 지원하지 않습니다.
432 | 자동화 실행 중 파일 이름이나 클래스 이름을 찾을 수 없습니다.
438 | 개체가 이 속성 또는 메서드를 지원하지 않습니다.
440 | 자동화 오류가 발생하였습니다.
445 | 개체가 이 동작을 지원하지 않습니다.
446 | 개체가 명명된 인수를 지원하지 않습니다.
447 | 개체가 현재의 로케일 설정을 지원하지 않습니다.
448 | 명명된 인수를 찾을 수 없습니다.
449 | 선택적인 인수가 아닙니다.
450 | 인수의 개수나 속성 지정이 잘못되었습니다.
451 | 컬렉션이 아닌 개체입니다.
453 | 지정한 DLL 함수를 찾을 수 없습니다.
455 | 코드 자원 잠금시 오류가 발생하였습니다.
457 | 이 키는 이 컬렉션의 한 요소와 이미 연결되어 있습니다.
458 | 변수가 VBScript에서 지원하지 않는 자동화 형식을 사용하고 있습니다.
500 | 변수가 정의되지 않았습니다.
501 | 지정이 잘못되었습니다.
502 | 개체가 스크립트하는 데 잘못되었습니다.
503 | 개체가 초기화하는 데 잘못되었습니다.
1001 | 메모리가 부족합니다.
1002 | 구문 오류입니다.
1003 | ':'이 필요합니다.
1004 | ';'이 필요합니다.
1005 | '('이 필요합니다.
1006 | ')'이 필요합니다.
1007 | ']'이 필요합니다.
1008 | '{'이 필요합니다.
1009 | '}'이 필요합니다.
1010 | 식별자가 필요합니다.
1011 | '='가 필요합니다.
1012 | 'If'가 필요합니다.
1013 | 'To'가 필요합니다.
1014 | 'End'가 필요합니다.
1015 | 'Function'이 필요합니다.
1016 | 'Sub'가 필요합니다.
1017 | 'Then'이 필요합니다.
1018 | 'Wend'가 필요합니다.
1019 | 'Loop'가 필요합니다.
1020 | 'Next'가 필요합니다.
1021 | 'Case'가 필요합니다.
1022 | 'Select'가 필요합니다.
1023 | 식이 필요합니다.
1024 | 문이 필요합니다.
1025 | 문 끝이 필요합니다.
1026 | 정수 상수가 필요합니다.
1027 | 'While' 또는 'Until'이 필요합니다.
1028 | 'While', 'Until' 또는 문 끝이 필요합니다.
1029 | 지역 변수 또는 인수가 너무 많습니다.
1030 | 식별자가 너무 깁니다.
1031 | 잘못된 번호입니다.
1032 | 유효하지 않은 문자입니다.
1033 | 종료되지 않은 문자열 상수입니다.
1034 | 종료되지 않은 주석입니다.
1035 | 중첩된 주석입니다.
1037 | 'Me' 키워드 사용이 잘못되었습니다.
1038 | 'Do'가 없는 'Loop'입니다.
1039 | 'Exit'문이 잘못되었습니다.
1040 | 'For' 루프 제어 변수가 잘못되었습니다.
1041 | 이름이 다시 정의되었습니다.
1042 | 줄의 첫째 문장이어야 합니다.
1043 | ByVal이 아닌 인수에 지정할 수 없습니다.
1044 | Sub를 호출할 때 괄호를 사용할 수 없습니다.
1045 | 리터럴 상수가 필요합니다.
1046 | 'In'이 필요합니다.
32766 | True
32767 | False
32811 | 요소를 발견할 수 없습니다.


논리 연산자

논리 연산자 		언어 참조
버전 1

&(문자열 연결) 연산자
Not 연산자
Or 연산자
Xor 연산자


수학 함수

수학 함수 		언어 참조
버전 1

Abs 함수
Atn 함수
Cos 함수
Exp 함수
Fix 함수
Int 함수
Log 함수
Rnd 함수
Sgn 함수
Sin 함수
Sqr 함수
Tan 함수
파생된 수학 함수


Empty

Empty 		언어 참조
버전 1

참고

설명
Empty 키워드는 초기화되지 않는 변수 값을 나타내는 데 사용하며 Null과는 다릅니다.


False

False 		언어 참조
버전 1

참고

설명
False 키워드는 0과 동등한 값입니다.


Nothing

Nothing 		언어 참조
버전 1

참고

설명
VBScript의 Nothing 키워드는 개체 변수를 실제 개체와 분리시키는 데 사용합니다. Set 문을 사용하여 Nothing을 개체 변수로 지정합니다. 사용 예는 아래와 같습니다.

Set MyObject = Nothing

여러 개체 변수들이 동일한 실제 개체를 참조할 수 있습니다. 한 개체 변수를 Nothing으로 지정하면 그 변수는 어떠한 실제 개체도 참조하지 않습니다. 여러 개체 변수들이 동일한 실제 개체를 참조할 경우 명시적으로 Set 문을 사용하여 해당되는 모든 변수들이 Nothing으로 지정된 후 또는 함축적으로 Set 문을 사용하여 Nothing으로 지정된 마지막 개체 변수가 범위 밖으로 빠져나간 후에만 그 변수들이 참조하는 개체에 연결된 메모리와 시스템 리소스를 해제합니다.


Nothing

Nothing
참고 		언어 참조

Dim 문
Set 문


Null

Null 		언어 참조
버전 1

참고

설명
Null 키워드는 변수에 유효한 데이터가 없음을 나타내는 데 사용하며 Empty와는 다릅니다.


True

True 		언어 참조
버전 1

참고

설명
True 키워드는 -1과 동등한 값입니다.


문자 집합(0 - 127)

문자 집합(0 - 127) 		언어 참조
버전 1

문자 집합(128 - 255)

코드 문자 코드 문자 코드 문자 코드 문자
0 32 [공백] 64 @ 96 `
1  33 ! 65 A 97 a
2  34 " 66 B 98 b
3  35 # 67 C 99 c
4  36 $ 68 D 100 d
5  37 % 69 E 101 e
6  38 & 70 F 102 f
7  39 ' 71 G 103 g
8 ** 40 ( 72 H 104 h
9 ** 41 ) 73 I 105 i
10 ** 42 * 74 J 106 j
11 43 + 75 K 107 k
12 44 , 76 L 108 l
13 ** 45 - 77 M 109 m
14  46 . 78 N 110 n
15  47 / 79 O 111 o
16  48 0 80 P 112 p
17  49 1 81 Q 113 q
18  50 2 82 R 114 r
19  51 3 83 S 115 s
20  52 4 84 T 116 t
21  53 5 85 U 117 u
22  54 6 86 V 118 v
23  55 7 87 W 119 w
24  56 8 88 X 120 x
25  57 9 89 Y 121 y
26  58 : 90 Z 122 z
27  59 ; 91 [ 123 {
28  60 < 92 \ 124 |

29  61 = 93 ] 125 }
30  62 > 94 ^ 126 ~
31  63 ? 95 _ 127 

** 코드 값 8, 9, 10 및 13은 각각 백스페이스, 탭, 라인 피드, 캐리지 리턴 문자에 변환합니다. 이 코드들은 그래픽 표현 코드는 아니지만, 응용 프로그램에 따라서는 텍스트의 시각적 표시에 영향을 미칠 수도 있습니다.

 현재 플랫폼에서는 지원하지 않습니다.


문자 집합(128 - 255)

문자 집합(128 - 255) 		언어 참조
버전 1

문자 집합(0 - 127)

코드 | 문자 | 코드 | 문자 | 코드 | 문자 | 코드 | 문자
128 € 160 [공백] 192 À 224 à
129  161 ¡ 193 Á 225 á
130 ‚ 162 ¢ 194 Â 226 â
131 ƒ 163 £ 195 Ã 227 ã
132 „ 164 ¤ 196 Ä 228 ä
133 … 165 ¥ 197 Å 229 å
134 † 166 ¦ 198 Æ 230 æ
135 ‡ 167 § 199 Ç 231 ç
136 ˆ 168 ¨ 200 È 231 ç
137 ‰ 169 © 201 É 232 è
138 | Š | 170 | ª | 202 | Ê | 233 | é
139 ‹ 171 « 203 Ë 234 ê
140 Œ 172 ¬ 204 Ì 235 ë
141  173 205 Í 236 ì
142 Ž 174 ® 206 Î 237 í
143  175 ¯ 207 Ï 238 î
144  176 ° 208 Ð 239 ï
145 ‘ 177 ± 209 Ñ 240 ð
146 ’ 178 ² 210 Ò 241 ñ
147 “ 179 ³ 211 Ó 242 ò
148 ” 180 ´ 212 Ô 243 ó
149 • 181 µ 213 Õ 244 ô
150 – 182 ¶ 214 Ö 245 õ
151 — 183 · 215 × 246 ö
152 ˜ 184 ¸ 216 Ø 247 ÷
153 ™ 185 ¹ 217 Ù 248 ø
154 | š | 186 | º | 218 | Ú | 249 | ù
155 › 187 » 219 Û 250 ú
156 | œ | 188 | ¼ | 220 | Ü | 251 | û
157  189 ½ 221 Ý 252 ü
158 | ž | 190 | ¾ | 222 | Þ | 253 | ý
159 Ÿ 191 ¿ 223 ß 254 þ

 현재 플랫폼에서는 지원하지 않습니다.


Add 메서드(Dictionary)

Add 메서드(Dictionary) 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
키-항목 쌍을 Dictionary 개체에 추가합니다.
구문
object.Add key, item

Add 메서드는 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Dictionary 개체의 이름입니다.
key | 필수적인 요소. 추가할 item과 연관된 key입니다.
item | 필수적인 요소. 추가할 key와 연관된 item입니다.

참고
해당 key가 이미 있으면 오류가 발생합니다.

아래 예제는 Add 메서드 사용법을 보여줍니다:

Dim d                   '변수를 작성합니다.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '키와 항목을 추가합니다.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"


Add 메서드

Add 메서드(Dictionary)
적용 대상 		Scripting 런타임 참조

Dictionary 개체


Add 메서드

Add 메서드
참고 		Scripting 런타임 참조

AddFolders 메서드
Exists 메서드
Items 메서드
Keys 메서드
Remove 메서드
RemoveAll 메서드


Add 메서드(Folders)

Add 메서드(Folders) 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
새 Folder 개체를 Folders 컬렉션에 추가합니다.
구문
object.Add(folderName)

Add 메서드는 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Folders 컬렉션의 이름입니다.
folderName | 필수적인 요소. 추가할 새 Folder의 이름입니다.

참고
아래 예제는 새 폴더를 추가하기 위한 Add 메서드 사용법을 보여줍니다.
Sub AddNewFolder(path, folderName)
  Dim fso, f, fc, nf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(path)
  Set fc = f.SubFolders
  If folderName <> "" Then
    Set nf = fc.Add(folderName)
  Else
    Set nf = fc.Add("New Folder")
  End If
End Sub
해당 folderName이 이미 있으면 오류가 발생합니다.


Add 메서드 (폴더)

Add 메서드(Folder)
적용 대상 		Scripting 런타임 참조

Folders 컬렉션


Add 메서드(Folders)

Add 메서드(Folders)
참고 		Scripting 런타임 참조

Add 메서드(Dictionary)


BuildPath 메서드

BuildPath 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
기존 경로에 이름을 추가합니다.
구문
object.BuildPath(path, name)

BuildPath 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
path | 필수적인 요소. name을 추가할 기존 경로입니다. 절대 경로와 상대 경로가 모두 될 수 있으며 기존 폴더를 지정할 필요는 없습니다.
name | 필수적인 요소. 기존 path에 추가할 이름입니다.

참고
BuildPath 메서드는 필요한 경우에만 기존 경로와 이름 사이에 경로 구분 기호를 추가로 삽입합니다.

아래 예제는 BuildPath 메서드 사용법을 보여줍니다.

Function GetBuildPath(path)
  Dim fso, newpath
  Set fso = CreateObject("Scripting.FileSystemObject")
  newpath = fso.BuildPath(path, "하위 폴더")
  GetBuildPath = newpath
End Function


BuildPath 메서드

BuildPath 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


BuildPath 메서드

BuildPath 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFileName 메서드
GetParentFolderName 메서드
GetTempName 메서드


Clear 메서드

Clear 메서드 		언어 참조
버전 1

참고 적용 대상

설명
Err 개체의 모든 속성 정보를 지웁니다.
구문
object.Clear

object는 항상 Err 개체입니다.

참고
오류를 처리한 다음 Clear 메서드를 사용하여 Err 개체를 명시적으로 지웁니다. 예를 들어 On Error Resume Next문으로 지연된 오류를 처리할 경우 이 메서드가 필요합니다. VBScript에서는 아래 문 중 하나를 실행할 때마다 Clear 메서드를 자동으로 호출합니다.
  • On Error Resume Next
  • Exit Sub
  • Exit Function
아래 예제는 Clear 메서드 사용법을 보여줍니다.
On Error Resume Next
Err.Raise 6  ' 오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    ' 오류를 지웁니다.


Clear 메서드

Clear 메서드
적용 대상 		언어 참조

Err 개체


Clear 메서드

Clear 메서드
참고 		언어 참조

Description 속성
Err 개체
Number 속성
On Error 문
Raise 메서드
Source 속성


Close 메서드

Close 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
열려 있는 TextStream 파일을 닫습니다.
구문
object.Close

object는 항상 TextStream 개체의 이름입니다.

참고
아래 예제에서 Close 메서드는 열려 있는 TextStream 파일을 닫습니다.
Sub CreateAFile
  Dim fso, MyFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
  MyFile.WriteLine("테스트입니다.")
  MyFile.Close
End Sub


Close 메서드

Close 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


Close 메서드

Close 메서드
참고 		Scripting 런타임 참조

Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


Copy 메서드

Copy 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 한 위치에서 다른 위치로 복사합니다.
구문
object.Copy destination[, overwrite]

Copy 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
destination | 필수적인 요소. 파일이나 폴더를 복사해 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.
overwrite | 선택적인 요소. 기존 파일이나 폴더에 덮어 쓰면 True(기본값), 그렇지 않으면 False인 부울 값입니다.

참고
File이나 Folder 개체에 대한 Copy 메서드의 결과는 object에서 참조하는 파일이나 폴더를 인수로 전달하는 FileSystemObject.CopyFile이나 FileSystemObject.CopyFolder를 사용하여 수행되는 동작과 일치합니다. 그러나 다른 메서드로도 여러 파일이나 폴더를 복사할 수 있습니다.

아래 예제는 Copy 메서드 사용법을 보여줍니다.

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("테스트입니다.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Copy ("c:\windows\desktop\test2.txt")


Copy 메서드

Copy 메서드
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Copy 메서드

Copy 메서드
참고 		Scripting 런타임 참조

CopyFile 메서드
CopyFolder 메서드
Delete 메서드
Move 메서드
OpenAsTextStream 메서드


CopyFile 메서드

CopyFile 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
하나 이상의 파일을 한 위치에서 다른 위치로 복사합니다.
구문
object.CopyFile source, destination[, overwrite]

CopyFile 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
source | 필수적인 요소. 복사할 하나 이상의 파일을 지정하는 문자열로 와일드카드 문자도 포함합니다.
destination | 필수적인 요소. source에 있는 하나 이상의 파일을 복사해 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.
overwrite | 선택적인 요소. 기존 파일에 덮어 쓸지 여부를 나타내는 부울 값입니다. True(기본값)인 경우 파일을 덮어 쓰고, False인 경우 덮어 쓰지 않습니다. overwrite의 값과 상관없이 destination을 읽기 전용 속성으로 지정하면 CopyFile 메서드는 작동하지 않습니다.

참고
와일드카드 문자는 source 인수의 마지막 경로 구성 요소에만 사용할 수 있습니다. 사용 예는 아래와 같습니다.
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
그러나 아래와 같이 마지막 경로 구성 요소가 아닌 경우에는 사용할 수 없습니다.
FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"
source에 와일드카드 문자가 있거나 destination이 경로 구분 기호(\)로 끝나면 이 부분이 해당 파일을 복사할 경우 폴더로 간주되며, 그렇지 않은 경우 복사하여 만들 파일 이름으로 간주하게 됩니다. 어느 경우에나 각 파일을 복사할 때 아래와 같은 상황이 발생할 수 있습니다.
  • 일반적인 경우로 destination이 없으면 source를 복사합니다.
  • destination이 기존 파일이지만 overwrite가 False인 경우 오류가 발생하고, 그렇지 않으면 그 파일에 source를 덮어 씁니다.
  • destination이 디렉터리인 경우 오류가 발생합니다.
와일드카드 문자를 사용하는 source에 일치하는 파일이 없는 경우에도 오류가 발생합니다. CopyFile 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.


CopyFile 메서드

CopyFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


CopyFile 메서드

CopyFile 메서드
참고 		Scripting 런타임 참조

Copy 메서드
CopyFolder 메서드
CreateTextFile 메서드
DeleteFile 메서드
MoveFile 메서드


CopyFolder 메서드

CopyFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
폴더를 한 위치에서 다른 위치로 순환적으로 복사합니다.
구문
object.CopyFolder source, destination[, overwrite]

CopyFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
source | 필수적인 요소. 복사할 하나 이상의 폴더를 지정하는 문자열로 와일드카드 문자도 포함합니다.
destination | 필수적인 요소. source에 있는 폴더와 하위 폴더를 복사해 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.
overwrite | 선택적인 요소. 기존 폴더에 덮어 쓸지 여부를 나타내는 부울 값입니다. True(기본값)인 경우 파일을 덮어 쓰고, False인 경우 덮어 쓰지 않습니다.

참고
와일드카드 문자는 source 인수의 마지막 경로 구성 요소에만 사용할 수 있습니다. 사용 예는 아래와 같습니다.
FileSystemObject.CopyFolder "c:\mydocuments\letters\*", "c:\tempfolder\"
그러나 아래와 같이 마지막 경로 구성 요소가 아닌 경우에는 사용할 수 없습니다.
FileSystemObject.CopyFolder "c:\mydocuments\*\*", "c:\tempfolder\"
source에 와일드카드 문자가 있거나 destination이 경로 구분 기호(\)로 끝나면 이 부분이 해당 폴더와 그 하위 폴더를 복사할 경우 폴더로 간주되며, 그렇지 않은 경우 만들 파일 이름으로 간주하게 됩니다. 어느 경우에나 각 폴더를 복사할 때 아래와 같은 상황이 발생할 수 있습니다.
  • 일반적인 경우로 destination이 없으면 source 폴더와 그 폴더의 모든 내용을 복사합니다.
  • destination이 기존 파일인 경우 오류가 발생합니다.
  • destination이 디렉터리인 경우 해당 폴더와 그 폴더의 모든 내용을 복사합니다. 그러나 source에 있는 파일이 destination에 이미 있지만 overwrite가 False인 경우 오류가 발생하고, 그렇지 않으면 기존 파일에 파일을 덮어 씁니다.
  • destination이 읽기 전용 디렉터리인 경우 기존의 읽기 전용 파일을 그 디렉터리에 복사하지만 overwrite가 False이면 오류가 발생합니다.
와일드카드 문자를 사용하는 source에 일치하는 폴더가 없는 경우에도 오류가 발생합니다.

CopyFolder 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.


CopyFolder 메서드

CopyFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


CopyFolder 메서드

CopyFolder 메서드
참고 		Scripting 런타임 참조

CopyFile 메서드
Copy 메서드
CreateFolder 메서드
DeleteFolder 메서드
MoveFolder 메서드


CreateFolder 메서드

CreateFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
폴더를 만듭니다.
구문
object.CreateFolder(folderName)

CreateFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
folderName | 필수적인 요소. 만들 폴더를 식별하는 문자식입니다.

참고
지정한 폴더가 이미 있으면 오류가 발생합니다.

아래 예제는 CreateFolder 메서드 사용법을 보여줍니다.

Function CreateFolderDemo
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.CreateFolder("c:\New Folder")
  CreateFolderDemo = f.Path
End Function


CreateFolder 메서드

CreateFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


CreateFolder 메서드

CreateFolder 메서드
참고 		Scripting 런타임 참조

CopyFolder 메서드
DeleteFolder 메서드
MoveFolder 메서드


CreateTextFile 메서드

CreateTextFile 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
지정한 파일 이름을 만들고, 그 파일을 읽거나 쓰는 데 사용될 수 있는 TextStream 개체를 반환합니다.
구문
object.CreateTextFile(filename[, overwrite[, unicode]])

CreateTextFile 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject 또는 Folder 개체의 이름입니다.
filename | 필수적인 요소. 만들 파일을 식별하는 문자식입니다.
overwrite | 선택적인 요소. 기존 파일을 덮어 쓸지 여부를 나타내는 부울 값입니다. True인 경우 파일을 덮어 쓰고 False인 경우 덮어 쓰지 않습니다. 생략하면 기존 파일을 덮어 쓰지 않습니다.
unicode | 선택적인 요소. Unicode 파일을 만들지 또는 ASCII 파일을 만들지 여부를 나타내는 부울 값입니다. True인 경우 Unicode 파일을 만들고 False인 경우 ASCII 파일을 만듭니다. 생략하면 ASCII 파일로 간주됩니다.

참고
아래 코드에서는 CreateTextFile 메서드를 사용하여 텍스트 파일을 만들고 여는 방법을 보여줍니다.
Sub CreateAfile
    Dim fso, MyFile
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
    MyFile.WriteLine("테스트입니다.")
    MyFile.Close
End Sub
파일 이름이 이미 있는 경우 overwrite 요소가 False이거나 제공되지 않으면 오류가 발생합니다.


CreateTextFile 메서드

CreateTextFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체
Folder 개체


CreateTextFile 메서드

CreateTextFile 메서드
참고 		Scripting 런타임 참조

CreateFolder 메서드
OpenAsTextStream 메서드
OpenTextFile 메서드


Delete 메서드

Delete 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 삭제합니다.
구문
object.Delete force

Delete 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
force | 선택적인 요소. 읽기 전용 속성의 파일이나 폴더를 삭제할 경우 True, 그렇지 않으면 False(기본값)인 부울 값입니다.

참고
지정한 파일이나 폴더가 존재하지 않으면 오류가 일어납니다. Delete 메서드에서는 폴더의 내용 유무를 구분하지 않습니다. 따라서 지정한 폴더는 그 내용의 유무에 상관없이 삭제됩니다.

File이나 Folder 개체에 대한 Delete 메서드의 결과는 FileSystemObject.DeleteFile이나 FileSystemObject.DeleteFolder를 사용하여 수행되는 동작과 일치합니다.

아래 예제는 Delete 메서드 사용법을 보여줍니다.

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Delete


Delete 메서드

Delete 메서드
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Delete 메서드

Delete 메서드
참고 		Scripting 런타임 참조

Copy 메서드
DeleteFile 메서드
DeleteFolder 메서드
Move 메서드
OpenAsTextStream 메서드


DeleteFile 메서드

DeleteFile 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일을 삭제합니다.
구문
object.DeleteFile filespec[, force]

DeleteFile 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
filespec | 필수적인 요소. 삭제할 파일의 이름입니다. 마지막 경로 구성 요소에 와일드카드 문자를 포함할 수 있습니다.
force | 선택적인 요소. 읽기 전용 속성의 파일이나 폴더를 삭제할 경우 True, 그렇지 않으면 False(기본값)인 부울 값입니다.

참고
일치하는 파일이 없으면 오류가 발생합니다. DeleteFile 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.

아래 예제는 DeleteFile 메서드 사용법을 보여줍니다.

Sub DeleteAFile(filespec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.DeleteFile(filespec)
End Sub


DeleteFile 메서드

DeleteFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


DeleteFile 메서드

DeleteFile 메서드
참고 		Scripting 런타임 참조

CopyFile 메서드
CreateTextFile 메서드
Delete 메서드
DeleteFolder 메서드
MoveFile 메서드


DeleteFolder 메서드

DeleteFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 폴더와 그 폴더의 내용을 삭제합니다.
구문
object.DeleteFolder folderspec[, force]

DeleteFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
folderspec | 필수적인 요소. 삭제할 폴더의 이름입니다. 마지막 경로 구성 요소에 와일드카드 문자를 포함할 수 있습니다.
force | 선택적인 요소. 읽기 전용 속성의 파일이나 폴더를 삭제할 경우 True, 그렇지 않으면 False(기본값)인 부울 값입니다.

참고
DeleteFolder 메서드에서는 폴더의 내용 유무를 구분하지 않습니다. 따라서 지정한 폴더는 그 내용의 유무에 상관 없이 삭제됩니다.

일치하는 폴더가 없으면 오류가 발생합니다. DeleteFolder 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.

아래 예제는 DeleteFolder 메서드 사용법을 보여줍니다.

Sub DeleteAFolder(filespec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.DeleteFolder(filespec)
End Sub


DeleteFolder 메서드

DeleteFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


DeleteFolder 메서드

DeleteFolder 메서드
참고 		Scripting 런타임 참조

CopyFolder 메서드
CreateFolder 메서드
Delete 메서드
DeleteFile 메서드
MoveFolder 메서드


DriveExists 메서드

DriveExists 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브가 있으면 True를, 그렇지 않으면 False를 반환합니다.
구문
object.DriveExists(drivespec)

DriveExists 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
drivespec | 필수적인 요소. 드라이브 문자나 완전하게 규정된 경로입니다.

참고
이동식 매체를 가지는 드라이브에 존재하는 매체가 없을지라도 DriveExists 메서드는 True를 반환합니다. Drive 개체의 IsReady 속성을 사용하면 드라이브가 준비되어 있는지를 결정합니다.

아래 예제는 DriveExists 메서드 사용법을 보여줍니다.

Function ReportDriveStatus(drv)
  Dim fso, msg
  Set fso = CreateObject("Scripting.FileSystemObject")
  If fso.DriveExists(drv) Then
    msg = (" UCase(drv) & " 드라이브가 있습니다.")
  Else
    msg = (" UCase(drv) & " 드라이브가 없습니다.")
  End If
  ReportDriveStatus = msg
End Function


DriveExists 메서드

DriveExists 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


DriveExists 메서드

DriveExists 메서드
참고 		Scripting 런타임 참조

Drive 개체
Drives 컬렉션
FileExists 메서드
FolderExists 메서드
GetDrive 메서드
GetDriveName 메서드
IsReady 속성


Remove 메서드

Execute 메서드 		언어 참조
버전 5

참고 적용

설명
지정된 문자열에 대해 정규식 검색을 실행합니다.
구문
object.Execute(string)

Execute 메서드 구문은 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 RegExp 개체의 이름.
string | 필수적인 요소. 정규식이 실행될 텍스트 문자열.

참고
정규식 검색에 대한 실제 패턴은 RegExp 개체의 Pattern 속성을 이용하여 설정합니다.

Execute 메서드 string에서 일치되는 패턴이 있으면 Match 개체를 포함하는 Matches 컬렉션을 반환합니다. 일치되는 패턴이 없으면 Execute는 빈 Matches 컬렉션을 반환합니다.

아래 코드는 Execute 메서드를 사용한 예입니다.

Function RegExpTest(patrn, strng)
  Dim regEx			' 변수를 만듭니다.
  Set regEx = New RegExp		' 정규식을 만듭니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = False		' 대/소문자를 구분하도록 설정합니다.
  regEx.Global = True			' 전체 문자열을 검색하도록 설정합니다.
  RegExpTest = regEx.Execute(strng)	' 검색을 실행합니다.
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Execute 메서드

Execute 메서드
적용 대상 		언어 참조

RegExp 개체


Execute 메서드

Execute 메서드
참고 		언어 참조

Replace 메서드
Test 메서드


Exists 메서드

Exists 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에 지정한 키가 있으면 True를, 없으면 False를 반환합니다.
구문
object.Exists(key)

Exists 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Dictionary 개체의 이름입니다.
key | 필수적인 요소. Dictionary 개체에서 찾을 key 값입니다.

참고
아래 예제는 Exists 메서드 사용법을 보여줍니다.
Function KeyExistsDemo
  Dim d, msg              '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  If d.Exists("c") Then
    msg = "지정한 키가 있습니다."
  Else
    msg = "지정한 키가 없습니다."
  End If
  KeyExistsDemo = msg
End Function


Exists 메서드

Exists 메서드
적용 대상 		언어 참조

Dictionary 개체


Exists 메서드

Exists 메서드
참고 		언어 참조

Add 메서드(Dictionary)
Items 메서드
Keys 메서드
Remove 메서드
RemoveAll 메서드


FileExists 메서드

FileExists 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이 있으면 True를, 그렇지 않으면 False를 반환합니다.
구문
object.FileExists(filespec)

FileExists 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
filespec | 필수적인 요소. 그 존재 여부를 결정할 파일 이름입니다. 현재 폴더에 없을 수도 있는 파일인 경우 절대 경로나 상대 경로에 상관없이 완전한 파일 경로를 지정해야 합니다.

참고
아래 예제는 FileExists 메서드 사용법을 보여줍니다.
Function ReportFileStatus(filespec)
  Dim fso, msg
  Set fso = CreateObject("Scripting.FileSystemObject")
  If (fso.FileExists(filespec)) Then
    msg = filespec & "이(가) 있습니다."
  Else
    msg = filespec & "이(가) 없습니다."
  End If
  ReportFileStatus = msg
End Function


FileExists 메서드

FileExists 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


FileExists 메서드

FileExists 메서드
참고 		Scripting 런타임 참조

DriveExists 메서드
FolderExists 메서드
GetFile 메서드
GetFileName 메서드


FolderExists 메서드

FolderExists 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 폴더가 있으면 True를, 그렇지 않으면 False를 반환합니다.
구문
object.FolderExists(folderspec)

FolderExists 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
folderspec | 필수적인 요소. 그 존재 여부를 결정할 폴더 이름입니다. 현재 폴더에 없을 수도 있는 폴더인 경우 절대 경로나 상대 경로에 상관없이 완전한 폴더 경로를 지정해야 합니다.

참고
아래 예제는 FolderExists 메서드 사용법을 보여줍니다.
Function ReportFolderStatus(fldr)
  Dim fso, msg
  Set fso = CreateObject("Scripting.FileSystemObject")
  If (fso.FolderExists(fldr)) Then
    msg = fldr & "이(가) 있습니다."
  Else
    msg = fldr & "이(가) 없습니다."
  End If
  ReportFolderStatus = msg
End Function


FolderExists 메서드

FolderExists 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


FolderExists 메서드

FolderExists 메서드
참고 		Scripting 런타임 참조

DriveExists 메서드
FileExists 메서드
GetFolder 메서드
GetParentFolderName 메서드


GetAbsolutePathName 메서드

GetAbsolutePathName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
제공된 경로 내역에 근거하여 완전하고 분명한 경로를 반환합니다.
구문
object.GetAbsolutePathName(pathspec)

GetAbsolutePathName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
pathspec | 필수적인 요소. 완전하고 분명한 경로로 바꿀 경로 내역입니다.

참고
경로는 지정한 드라이브의 루트를 기준으로 한 완전한 참조를 제공할 경우 완전하고 분명한 경로가 됩니다. 완전한 경로는 매핑되는 드라이브의 루트 폴더를 지정할 경우에만 경로 구분 기호 문자(\)로 끝납니다.

아래 표는 현재 디렉터리를 c:\mydocuments\reports로 가정했을 때 GetAbsolutePathName 메서드의 동작을 보여줍니다.

pathspec | 반환되는 경로
"c:" | "c:\mydocuments\reports"
"c:.." | "c:\mydocuments"
"c:\\\" | "c:\"
"c:*.*\may97" | "c:\mydocuments\reports\*.*\may97"
"region1" | "c:\mydocuments\reports\region1"
"c:\..\..\mydocuments" | "c:\mydocuments"


GetAbsolutePathName 메서드

GetAbsolutePathName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetAbsolutePathName 메서드

GetAbsolutePathName 메서드
참고 		Scripting 런타임 참조

GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetBaseName 메서드

GetBaseName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
제공된 경로 내역에 있는 폴더나 파일의 기본 이름(더 짧은 파일 확장명)이 들어있는 문자열을 반환합니다.
구문
object.GetBaseName(path)

GetBaseName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
path | 필수적인 요소. 기본 이름을 반환할 파일이나 폴더의 경로 내역입니다.

참고
path 요소와 일치하는 파일이나 폴더가 없으면 GetBaseName 메서드는 길이가 0인 문자열("")을 반환합니다.

아래 예제는 GetBaseName 메서드 사용법을 보여줍니다.

Function GetTheBase(filespec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetTheBase = fso.GetBaseName(filespec)
End Function
메모 GetBaseName 메서드는 제공된 path 문자열에서만 작동합니다. 경로를 해석하거나 지정한 경로의 존재 여부를 확인하지 않습니다.


GetBaseName 메서드

GetBaseName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetBaseName 메서드

GetBaseName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetDrive 메서드

GetDrive 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 경로에 있는 드라이브에 해당하는 Drive 개체를 반환합니다.
구문
object.GetDrive drivespec

GetDrive 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
drivespec | 필수적인 요소. 드라이브 문자(c), 콜론이 있는 드라이브 문자(c:), 콜론과 경로 구분 기호가 있는 드라이브 문자(c:\) 또는 네트워크 공유 내역(\\computer2\share1)이면 모두 drivespec 요소가 될 수 있습니다.

참고
네트워크 공유의 경우 해당 공유가 있는지 반드시 확인해야 합니다.

drivespec이 허용된 형식을 따르지 않거나 존재하지 않으면 오류가 일어납니다. 일반 경로 문자열에서 GetDrive 메서드를 호출하려면 아래 순서에 따라 drivespec으로 사용하기에 적절한 문자열을 가져오기 위해 아래 시퀀스 코드를 사용합니다.

DriveSpec = GetDriveName(GetAbsolutePathName(Path))
아래 예제는 GetDrive 메서드 사용법을 보여줍니다.
Function ShowFreeSpace(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & d.VolumeName  & "<BR>"
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.FreeSpace/1024, 0)
  s = s & " KB"
  ShowFreeSpace = s
End Function


GetDrive 메서드

GetDrive 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetDrive 메서드

GetDrive 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetDriveName 메서드

GetDriveName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 경로의 드라이브 이름을 포함하는 문자열을 반환합니다.
구문
object.GetDriveName(path)

GetDriveName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
path | 필수적인 요소. 드라이브 이름을 반환할 구성 요소의 경로 내역입니다.

참고
드라이브를 결정할 수 없으면 GetDriveName 메서드는 길이가 0인 문자열("")을 반환합니다.

아래 예제는 GetDriveName 메서드 사용법을 보여줍니다.

Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetAName = fso.GetDriveName(Drivespec)
End Function
메모 GetDriveName 메서드는 제공된 path 문자열에서만 작동합니다. 경로를 해석하거나 지정한 경로의 존재 여부를 확인하지 않습니다.


GetDriveName 메서드

GetDriveName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetDriveName 메서드

GetDriveName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetExtensionName 메서드

GetExtensionName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
경로에 있는 마지막 구성 요소의 확장명을 포함하는 문자열을 반환합니다.
구문
object.GetExtensionName(path)

GetExtensionName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
path | 필수적인 요소. 확장명을 반환할 구성 요소의 경로 내역입니다.

참고
네트워크 드라이브에서는 루트 디렉터리(\)를 구성 요소로 간주합니다.

path 요소와 일치하는 구성 요소가 없으면 GetExtensionName 메서드는 길이가 0인 문자열("")을 반환합니다.

아래 예제는 GetExtensionName 메서드 사용법을 보여줍니다.

Function GetAnExtension(DriveSpec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetAnExtension = fso.GetExtensionName(Drivespec)
End Function


GetExtensionName 메서드

GetExtensionName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetExtensionName 메서드

GetExtensionName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetFile 메서드

GetFile 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정된 경로에 있는 파일에 해당하는 File 개체를 반환합니다.
구문
object.GetFile(filespec)

GetFile 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
filespec | 필수적인 요소. filespec은 특정 파일에 대한 절대 경로나 상대 경로입니다.

참고
지정한 파일이 없으면 오류가 발생합니다.

아래 예제는 GetFile 메서드 사용법을 보여줍니다.

Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = f.Path & "<br>"
  s = s & "만든 날짜: " & f.DateCreated & "<br>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<br>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


GetFile 메서드

GetFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetFile 메서드

GetFile 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetFileName 메서드

GetFileName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 경로에서 드라이브 내역 부분이 아닌 마지막 파일 이름이나 폴더를 반환합니다.
구문
object.GetFileName(pathspec)

GetFileName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
pathspec | 필수적인 요소. 지정한 파일에 대한 절대 경로나 상대 경로입니다.

참고
pathspec이 지정한 구성 요소로 끝나지 않으면 GetFileName 메서드는 길이가 0인 문자열("")을 반환합니다.

아래 예제는 GetFileName 메서드 사용법을 보여줍니다.

Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetAName = fso.GetFileName(DriveSpec)
End Function
메모 GetFileName 메서드는 제공된 경로 문자열에서만 작동합니다. 경로를 해석하거나 지정한 경로의 존재 여부를 확인하지 않습니다.


GetFileName 메서드

GetFileName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetFileName 메서드

GetFileName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetFolder 메서드

GetFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 경로에 있는 폴더에 해당하는 Folder 개체를 반환합니다.
구문
object.GetFolder(folderspec)

GetFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
folderspec | 필수적인 요소. folderspec은 특정 폴더에 대한 절대 경로나 상대 경로입니다.

참고
지정한 폴더가 없으면 오류가 발생합니다.

아래 예제에서 GetFolder 메서드는 폴더 개체를 반환합니다.

Sub AddNewFolder(path, folderName)
  Dim fso, f, fc, nf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(path)
  Set fc = f.SubFolders
  If folderName <> "" Then
    Set nf = fc.Add(folderName)
  Else
    Set nf = fc.Add("새 폴더")
  End If
End Sub


GetFolder 메서드

GetFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetFolder 메서드

GetFolder 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetParentFolderName 메서드

GetParentFolderName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 경로에 있는 마지막 파일이나 폴더의 상위 폴더 이름을 포함하는 문자열을 반환합니다.
구문
object.GetParentFolderName(path)

GetParentFolderName 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
path | 필수적인 요소. 상위 폴더 이름을 반환할 파일이나 폴더의 경로 내역입니다.

참고
path 인수에 지정된 파일이나 폴더의 상위 폴더가 없으면 GetParentFolderName 메서드는 길이가 0인 문자열("")을 반환합니다.

아래 예제는 GetParentFolderName 메서드 사용법을 보여줍니다.

Function GetTheParent(DriveSpec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetTheParent = fso.GetParentFolderName(Drivespec)
End Function
메모 GetParentFolderName 메서드는 제공된 path 문자열에서만 작동합니다. 경로를 해석하거나 지정한 경로의 존재 여부를 확인하지 않습니다.


GetParentFolderName 메서드

GetParentFolderName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetParentFolderName 메서드

GetParentFolderName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetSpecialFolder 메서드
GetTempName 메서드


GetSpecialFolder 메서드

GetSpecialFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 특수 폴더를 반환합니다.
구문
object.GetSpecialFolder(folderspec)

GetSpecialFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
folderspec | 필수적인 요소. 반환할 특수 폴더의 이름입니다. 아래 설정에 있는 상수이면 됩니다.

설정
folderspec 요소의 값은 아래와 같습니다.

상수 | 값 | 설명
WindowsFolder | 0 | Windows 운영 체제로 설치한 파일이 들어 있는 Windows 폴더입니다.
SystemFolder | 1 | 라이브러리, 글꼴 및 장치 드라이버가 들어 있는 시스템 폴더입니다.
TemporaryFolder | 2 | Temp 폴더는 임시 파일을 저장하는 데 사용되는 임시 폴더로 이 폴더의 경로는 TMP 환경 변수에 나타납니다.

참고
아래 예제는 GetSpecialFolder 메서드 사용법을 보여줍니다.
Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
   Dim tfolder, tname, tfile
   Const TemporaryFolder = 2
   Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
   tname = fso.GetTempName
   Set tfile = tfolder.CreateTextFile(tname)
   Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "안녕하십니까?"
tempfile.Close


GetSpecialFolder 메서드

GetSpecialFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetSpecialFolder 메서드

GetSpecialFolder 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetTempName 메서드


GetTempName 메서드

GetTempName 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
임시 파일이나 폴더를 요구하는 동작을 수행하는 데 사용할 무작위로 만들어지는 임시 파일이나 폴더 이름을 반환합니다.
구문
object.GetTempName

선택적인 요소, object는 항상 FileSystemObject 구문의 이름입니다.

참고
GetTempName 메서드는 파일을 작성하지 않습니다. 단지 파일을 작성하는 CreateTextFile과 함께 사용될 수 있는 임시 파일 이름 만을 제공합니다.

아래 예제는 GetTempName 메서드 사용법을 보여줍니다.

Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
   Dim tfolder, tname, tfile
   Const TemporaryFolder = 2
   Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
   tname = fso.GetTempName
   Set tfile = tfolder.CreateTextFile(tname)
   Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "안녕하십니까?"
tempfile.Close


GetTempName 메서드

GetTempName 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


GetTempName 메서드

GetTempName 메서드
참고 		Scripting 런타임 참조

GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드


Items 메서드

Items 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체의 모든 항목이 들어있는 배열을 반환합니다.
구문
object.Items

object는 항상 Dictionary 개체의 이름입니다.

참고
아래 코드에서는 Items 메서드의 사용 방법을 보여줍니다.
Function DicDemo
  Dim a, d, i, s          '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  a = d.Items             '항목을 가져옵니다.
  For i = 0 To d.Count -1 '배열을 반복합니다.
    s = s & a(i) & "<BR>" '반환 문자열을 작성합니다.
  Next
  DicDemo = s
End Function


Items 메서드

Items 메서드
적용 대상 		Scripting 런타임 참조

Dictionary 개체


Items 메서드

Items 메서드
참고 		Scripting 런타임 참조

Add 메서드(Dictionary)
Exists 메서드
Keys 메서드
Remove 메서드
RemoveAll 메서드


Keys 메서드

Keys 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에 있는 모든 키를 포함하는 배열을 반환합니다.
Syntax
object.Keys

object는 항상 Dictionary 개체의 이름입니다.

참고
아래 코드에서는 Keys 메서드의 사용 방법을 보여줍니다.
Function DicDemo
  Dim a, d, i             '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  a = d.Keys              '키를 가져옵니다.
  For i = 0 To d.Count -1 '배열을 반복합니다.
    s = s & a(i) & "<BR>" '결과를 반환합니다.
  Next
  DicDemo = s
End Function


Keys 메서드

Keys 메서드
적용 대상 		Scripting 런타임 참조

Dictionary 개체


Keys 메서드

Keys 메서드
참고 		Scripting 런타임 참조

Add 메서드(Dictionary)
Exists 메서드
Items 메서드
Remove 메서드
RemoveAll 메서드


Move 메서드

Move 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 한 위치에서 다른 위치로 옮깁니다.
구문
object.Move destination

Move 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
destination | 필수적인 요소. 파일이나 폴더를 옮겨 놓을 대상 위치를 나타내는 문자열입니다. 와일드카드 문자는 사용할 수 없습니다.

참고
File이나 Folder 개체에 대한 Move 메서드의 결과는 FileSystemObject.MoveFile이나 FileSystemObject.MoveFolder를 사용하여 수행되는 동작과 일치합니다. 그러나 다른 메서드로도 여러 파일이나 폴더를 옮길 수 있습니다.

아래 예제는 Move 메서드 사용법을 보여줍니다.

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("테스트입니다.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Move "c:\windows\desktop\"


Move 메서드

Move 메서드
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Move 메서드

Move 메서드
참고 		Scripting 런타임 참조

Copy 메서드
Delete 메서드
MoveFile 메서드
MoveFolder 메서드
OpenAsTextStream 메서드


MoveFile 메서드

MoveFile 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
하나 이상의 파일을 한 위치에서 다른 위치로 옮깁니다.
구문
object.MoveFile source, destination

MoveFile 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
source | 필수적인 요소. 옮길 파일에 대한 경로입니다. source 요소 문자열에서는 마지막 경로 구성 요소에만 와일드카드 문자를 포함할 수 있습니다.
destination | 필수적인 요소. 파일을 옮겨 놓을 대상 위치에 대한 경로입니다. destination 요소에는 와일드카드 문자를 포함할 수 없습니다.

참고
source에 와일드카드 문자가 있거나 destination이 경로 구분 기호(\)로 끝나면 이 부분이 해당 파일을 옮길 경우 폴더로 간주되며, 그렇지 않으면 만들 파일 이름으로 간주하게 됩니다. 어느 경우에나 각 파일을 옮길 때 아래와 같은 상황이 발생할 수 있습니다.
  • 일반적인 경우로 destination이 없으면 해당 파일을 옮깁니다.
  • destination이 기존 파일인 경우 오류가 발생합니다.
  • destination이 디렉터리인 경우 오류가 발생합니다.
와일드카드 문자를 사용하는 source에 일치하는 파일이 없는 경우에도 오류가 발생합니다. MoveFile 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.

아래 예제는 MoveFile 메서드 사용법을 보여줍니다.

Sub MoveAFile(Drivespec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.MoveFile Drivespec, "c:\windows\desktop\"
End Sub
중요 운영 체제에서 지원하는 경우에만 이 메서드를 통해 파일을 볼륨 간에 옮길 수 있습니다.


MoveFile 메서드

MoveFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


MoveFile 메서드

MoveFile 메서드
참고 		Scripting 런타임 참조

CopyFile 메서드
DeleteFile 메서드
GetFile 메서드
GetFileName 메서드
Move 메서드
MoveFolder 메서드
OpenTextFile 메서드


MoveFolder 메서드

MoveFolder 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
하나 이상의 폴더를 한 위치에서 다른 위치로 옮깁니다.
구문
object.MoveFolder source, destination

MoveFolder 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
source | 필수적인 요소. 옮길 폴더에 대한 경로입니다. source 요소 문자열에서는 마지막 경로 구성 요소에만 와일드카드 문자를 포함할 수 있습니다.
destination | 필수적인 요소. 폴더를 옮겨 놓을 대상 위치에 대한 경로입니다. destination 요소에는 와일드카드 문자를 포함할 수 없습니다.

참고
source에 와일드카드 문자가 있거나 destination이 경로 구분 기호(\)로 끝나면 이 부분이 해당 파일을 옮길 경우 폴더로 간주되며, 그렇지 않으면 만들 파일 이름으로 간주하게 됩니다. 어느 경우에나 각 폴더를 옮길 때 아래와 같은 상황이 발생할 수 있습니다.
  • 일반적인 경우로 destination이 없으면 해당 폴더를 옮깁니다.
  • destination이 기존 파일인 경우 오류가 발생합니다.
  • destination이 디렉터리인 경우 오류가 발생합니다.
와일드 카드 문자를 사용하는 source에 일치하는 파일이 없는 경우에도 오류가 발생합니다. MoveFolder 메서드는 오류를 처음 만날 때 중지됩니다. 오류가 발생하기 전에 바꾼 사항을 밀어내거나 원래대로 되돌릴 수 없습니다.

아래 예제는 MoveFolder 메서드 사용법을 보여줍니다.

Sub MoveAFolder(Drivespec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.MoveFolder Drivespec, "c:\windows\desktop\"
End Sub
중요 운영 체제에서 지원하는 경우에만 이 메서드를 통해 폴더를 볼륨 간에 옮길 수 있습니다.


MoveFolder 메서드

MoveFolder 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


MoveFolder 메서드

MoveFolder 메서드
참고 		Scripting 런타임 참조

CopyFolder 메서드
CreateFolder 메서드
DeleteFolder 메서드
GetFolder 메서드
GetParentFolderName 메서드
Move 메서드
MoveFile 메서드


OpenAsTextStream 메서드

OpenAsTextStream 메서드 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일을 열고, 그 파일을 읽거나 쓰거나 추가하는 데 사용될 수 있는 TextStream 개체를 반환합니다.
구문
object.OpenAsTextStream([iomode, [format]])

OpenAsTextStream 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File 개체의 이름입니다.
iomode | 선택적인 요소. 입/출력 모드를 나타냅니다. 세 상수, 즉 ForReading, ForWriting 또는 ForAppending 중 하나이면 됩니다.
format | 선택적인 요소. 세 개의 Tristate 값 중 하나를 사용하여 열릴 파일의 형식을 나타냅니다. 생략하면 파일은 ASCII 형식으로 열립니다.

설정
iomode 요소는 아래 설정 중 하나입니다.

상수 | 값 | 설명
ForReading | 1 | 파일을 읽기 전용으로 엽니다. 이 파일은 쓸 수 없습니다.
ForWriting | 2 | 쓰기 목적으로 파일을 엽니다. 이름이 같은 파일이 있으면 그 파일의 내용을 덮어 씁니다.
ForAppending | 8 | 파일을 열어 그 파일 끝에 이어서 씁니다.

format 요소는 아래 설정 중 하나입니다.

상수 | 값 | 설명
TristateUseDefault | -2 | 시스템 기본값을 사용하여 파일을 엽니다.
TristateTrue | -1 | Unicode 형식으로 파일을 엽니다.
TristateFalse | 0 | ASCII 형식으로 파일을 엽니다.

참고
OpenAsTextStream 메서드는 FileSystemObject 개체의 OpenTextFile 메서드와 동일한 기능을 제공합니다. 또한 OpenAsTextStream 메서드를 사용하여 파일에 쓸 수 있습니다.

아래 코드에서는 OpenAsTextStream 메서드의 사용 방법을 보여줍니다.

Function TextStreamTest
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  Dim fso, f, ts
  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.CreateTextFile "test1.txt"            '파일을 작성합니다.
  Set f = fso.GetFile("test1.txt")
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
  ts.Write "안녕하십니까?"
  ts.Close
  Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
  TextStreamTest = ts.ReadLine
  ts.Close
End Function


OpenAsTextStream 메서드

OpenAsTextStream 메서드
적용 대상 		Scripting 런타임 참조

File 개체


OpenAsTextStream 메서드

OpenAsTextStream 메서드
참고 		Scripting 런타임 참조

Copy 메서드
CreateTextFile 메서드
Delete 메서드
Move 메서드
OpenTextFile 메서드


OpenTextFile 메서드

OpenTextFile 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
지정한 파일을 열고, 그 파일을 읽고 쓰고 추가하는 데 사용될 수 있는 TextStream 개체를 반환합니다.
구문
object.OpenTextFile(filename[, iomode[, create[, format]]])

OpenTextFile 메서드는 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 FileSystemObject의 이름입니다.
filename | 필수적인 요소. 열 파일을 식별하는 문자식입니다.
iomode | 선택적인 요소. 입/출력 모드를 나타냅니다. 세 상수, 즉 ForReading, ForWriting, ForAppending 중 하나이면 됩니다.
create | 선택적인 요소. 지정한 filename이 없으면 새 파일을 만들지 여부를 나타내는 부울 값입니다. 새 파일을 만들면 True, 그렇지 않으면 False(기본값)입니다.
format | 선택적인 요소. 세 개의 Tristate 값 중 하나를 사용하여 열릴 파일의 형식을 나타냅니다. 생략하면 파일이 ASCII 형식으로 열립니다.

설정
iomode 인수는 아래 설정 중 하나입니다.

상수 | 값 | 설명
ForReading | 1 | 파일을 읽기 전용으로 엽니다. 이 파일은 쓸 수 없습니다.
ForWriting | 2 | 파일을 쓰기 전용으로 엽니다. 이 파일은 읽을 수 없습니다.
ForAppending | 8 | 파일을 열어 그 파일 끝에 이어서 씁니다.

format 요소는 아래 설정 중 하나입니다.

상수 | 값 | 설명
TristateUseDefault | -2 | 시스템 기본값을 사용하여 파일을 엽니다.
TristateTrue | -1 | Unicode 형식으로 파일을 엽니다.
TristateFalse | 0 | ASCII 형식으로 파일을 엽니다.

참고
아래 코드에서는 OpenTextFile 메서드를 사용하여 파일을 열어 텍스트를 쓰는 방법을 보여줍니다.
Sub OpenTextFileTest
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  f.Close
End Sub


OpenTextFile 메서드

OpenTextFile 메서드
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


OpenTextFile 메서드

OpenTextFile 메서드
참고 		Scripting 런타임 참조

CreateTextFile 메서드
OpenAsTextStream 메서드


Raise 메서드

Raise 메서드 		언어 참조
버전 1

참고 적용 대상

설명
런타임 오류를 발생시킵니다.
구문
object.Raise(number, source, description, helpfile, helpcontext)

Raise 메서드는 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 항상 Err 개체입니다.
number | 오류의 유형을 식별하는 Long 정수의 하위 형식입니다. VBScript 정의 오류와 사용자 정의 오류를 모두 포함하는 VBScript 오류 범위는 0-65535입니다.
source | 오류를 맨 처음 발생시킨 개체나 응용 프로그램의 이름을 지정하는 문자식입니다. 자동화 개체에 이 속성을 설정하려면 project.class 폼을 사용합니다. 지정하지 않으면 현재 VBScript 프로젝트의 프로그램 ID를 사용합니다.
description | 오류를 설명하는 문자식입니다. 지정하지 않으면 number 값을 검사합니다. 그 값이 VBScript 런타임 오류 코드에 매핑되는 경우 VBScript에서 제공하는 문자열을 description으로 사용합니다. 특정 number에 해당하는 VBScript 오류가 없으면 일반 오류 메시지를 사용합니다.
helpfile | 해당 오류의 도움말이 들어 있는 도움말 파일에 대한 전체 경로입니다. Helpfile을 지정하지 않으면 VBScript에서는 VBScript 도움말 파일의 완전하게 규정된 드라이브, 경로 및 파일 이름을 사용합니다.
Helpcontext | 오류에 관한 도움말을 제공하는 Helpfile에 들어있는 항목을 식별하는 컨텍스트 ID입니다. 이를 생략하면 number 속성에 해당하는 VBScript 도움말 파일의 관련 오류 컨텍스트 ID를 사용합니다.

참고
number 요소를 제외한 모든 요소는 선택적인 요소입니다. 그러나 일부 인수를 지정하지 않고서 Raise 메서드를 사용하고 Err 개체의 속성 설정에 지워지지 않는 값들이 있으면 오류 값이 됩니다.

자동화 개체에 있는 사용자 자신의 오류 코드에 number 속성을 설정할 경우, 오류 코드 번호를 vbObjectError 상수에 추가합니다. 예를 들어 오류 번호 1050을 만들려면 number 속성을 vbObjectError+1050으로 지정합니다

아래 예제는 Raise 메서드 사용법을 보여줍니다.

On Error Resume Next
Err.Raise 6  '오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    '오류를 지웁니다.


Raise 메서드

Raise 메서드
적용 대상 		언어 참조

Err 개체


Raise 메서드

Raise 메서드
참고 		언어 참조

Clear 메서드
Description 속성
Err 개체
Number 속성
Source 속성


Read 메서드

Read 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일에서 지정한 수의 문자를 읽은 다음 그 결과인 문자열을 반환합니다.
구문
object.Read(characters)

Read 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 TextStream 개체의 이름입니다.
characters | 필수적인 요소. 해당 파일에서 읽어 올 문자 개수입니다.

참고

아래 예제에서는 한 파일에서 다섯 개의 문자를 읽고 결과 문자열을 반환하는 Read 메서드 사용법을 보여줍니다.
Function ReadTextFileTest
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Dim fso, f, Msg
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  ReadTextFileTest =  f.Read(5)
End Function


Read 메서드

Read 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


ReadAll 메서드

ReadAll 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
전체 TextStream 파일을 읽은 다음 결과인 문자열을 반환합니다.
구문
object.ReadAll

object는 항상 TextStream 개체의 이름입니다.

참고
큰 파일에 ReadAll 메서드를 사용하면 메모리 리소스를 낭비하게 되므로, 한 줄씩 파일을 읽어 오는 다른 기법을 사용하여 파일을 입력해야 합니다.
Function ReadAllTextFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  ReadAllTextFile =  f.ReadAll
End Function


ReadAll 메서드

ReadAll 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


ReadAll 메서드

ReadAll 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


Read 메서드

Read 메서드
참고 		Scripting 런타임 참조

Close 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


ReadLine 메서드

ReadLine 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일에서 줄 바꿈 문자를 제외한 한 줄 전체를 읽은 다음 결과 문자열을 반환합니다.
구문
object.ReadLine

object 인수는 항상 TextStream 개체의 이름입니다.

참고
아래 예제에서는 TextStream 파일에서 한 줄을 읽고 문자열을 반환하는 ReadLine 메서드 사용법을 보여줍니다.
Function ReadLineTextFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, MyFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  MyFile.WriteLine "Hello world!"
  MyFile.WriteLine "The quick brown fox"
  MyFile.Close
  Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForReading)
  ReadLineTextFile = MyFile.ReadLine	' "Hello world!"를 반환합니다.
End Function


ReadLine 메서드

ReadLine 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


ReadLine 메서드

ReadLine 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


Remove 메서드

Remove 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에서 키-항목 쌍을 제거합니다.
구문
object.Remove(key)

Remove 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Dictionary 개체의 이름입니다.
key | 필수적인 요소. key 구성 요소는 Dictionary 개체에서 제거할 키-항목 쌍과 연관된 키입니다.

참고
지정된 키-항목 쌍이 없는 경우 오류가 발생합니다.

아래 코드에서는 Remove 메서드의 사용 방법을 보여줍니다.

Dim a, d                '변수를 작성합니다.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '키와 항목을 추가합니다.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
d.Remove("b")       '둘째 쌍을 제거합니다.


RemoveAll 메서드

Remove 메서드
적용 대상 		Scripting 런타임 참조

Dictionary 개체


RemoveAll 메서드

RemoveAll 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
RemoveAll 메서드는 Dictionary 개체에서 키-항목 쌍을 제거합니다.
구문
object.RemoveAll

object는 항상 Dictionary 개체의 이름입니다.

참고
아래 코드에서는 RemoveAll 메서드의 사용 방법을 보여줍니다.
Dim a, d, i             '변수를 작성합니다.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '키와 항목을 추가합니다.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
a = d.RemoveAll         '사전을 지웁니다.


RemoveAll 메서드

RemoveAll 메서드
적용 대상 		Scripting 런타임 참조

Dictionary 개체


RemoveAll 메서드

RemoveAll 메서드
참고 		Scripting 런타임 참조

Add 메서드(Dictionary)
Exists 메서드
Items 메서드
Keys 메서드
Remove 메서드


Remove 메서드

Remove 메서드
참고 		Scripting 런타임 참조

Add 메서드(Dictionary)
Exists 메서드
Items 메서드
Keys 메서드
RemoveAll 메서드


Replace 메서드

Replace 메서드 		언어 참조
버전 5

참고 적용

설명
정규식 검색으로 찾은 텍스트를 대체합니다.
구문
object.Replace(string1, string2)

Replace 메서드 구문은 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 RegExp 개체의 이름.
string1 | 필수적인 요소. String1은 대체될 텍스트 문자열입니다.
string2 | 필수적인 요소. String2는 대체할 텍스트 문자열입니다.

참고
대체될 텍스트에 대한 실제 패턴은 RegExp 개체의 Pattern 속성을 이용하여 설정합니다.

Replace 메서드는 string2로 대체된 RegExp.Pattern의 텍스트를 가진 string1의 복사본을 반환합니다. 일치되는 문자열이 없으면 string1의 복사본이 변경되지 않은 채로 반환됩니다.

아래 코드는 Replace 메서드를 사용한 예입니다.

Function ReplaceTest(patrn, replStr)
  Dim regEx, str1					' 변수를 만듭니다.
  str1 = "재빠른 갈색 여우가 게으른 개 위로 건너 뛰었습니다."
  Set regEx = New RegExp				' 정규식을 만듭니다.
  regEx.Pattern = patrn				' 패턴을 설정합니다.
  regEx.IgnoreCase = True				' 대/소문자를 구분하지 않도록 합니다.
  ReplaceTest = regEx.Replace(str1, replStr)	' 문자열을 대체합니다.
End Function

MsgBox(ReplaceTest("여우", "고양이"))		' '여우'를 '고양이'로 대체합니다.
또한, Replace 메서드는 패턴에서 하위식을 대체할 수 있습니다. 위의 함수를 호출하면 원래 문자열의 각 단어 쌍을 바꿉니다.
MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1"))	' 단어 쌍을 바꿉니다.


Replace 메서드

Replace 메서드
적용 대상 		언어 참조

RegExp 개체


Replace 메서드

Replace 메서드
참고 		언어 참조

Execute 메서드
Test 메서드


Skip 메서드

Skip 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일을 읽을 때 지정한 문자 수만큼 건너 뜁니다.
구문
object.Skip(characters)

Skip 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 TextStream 개체의 이름입니다.
characters | 필수적인 요소. 파일을 읽을 때 건너 뛸 문자의 개수입니다.

참고
건너 뛴 문자는 폐기됩니다.

아래 예제에서 Skip 메서드는 텍스트 파일을 읽기 전에 처음 6 개의 문자를 건너 뜁니다.

Function SkipTextFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  f.Skip(6)
  SkipTextFile =  f.ReadLine
End Function


Skip 메서드

Skip 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


Skip 메서드

Skip 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


SkipLine 메서드

SkipLine 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일을 읽을 때 다음 줄로 건너 뜁니다.
구문
object.SkipLine

object는 항상 TextStream 개체의 이름입니다.

참고
한 줄을 건너 뛴다는 말은 다음에 나오는 줄 바꿈 문자를 포함하여 그 줄의 모든 문자를 읽어 들인 다음 버린다는 뜻입니다. 파일을 읽을 수 없으면 오류가 일어납니다.

아래 예제는 SkipLine 메서드 사용법을 보여줍니다.

Function SkipLineInFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?" & vbCrLf & "VB Script는 재미있습니다!"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  f.SkipLine
  SkipLineInFile = f.ReadLine
End Function


SkipLine 메서드

SkipLine 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


SkipLine 메서드

SkipLine 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


Test 메서드

Test 메서드 		언어 참조
버전 5

참고 적용

설명
지정된 문자열에 대해 정규식 검색을 실행하고 일치되는 패턴이 있는지 알려주는 부울값을 반환합니다.
구문
object.Test(string)

Execute 메서드는 다음 부분으로 구성되어 있습니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 RegExp 개체의 이름.
string | 필수적인 요소. 정규식이 실행될 텍스트 문자열.

참고
정규식 검색에 대한 실제 패턴은 RegExp 개체의 Pattern 속성을 이용하여 설정합니다. RegExp.Global 속성은 Test 메서드에 영향을 미치지 않습니다.

Test 메서드와 일치되는 패턴이 있으면 True를 반환합니다. 일치되는 패턴이 없으면 False를 반환합니다.

아래 코드는 Test 메서드를 사용한 예입니다.

Function RegExpTest(patrn, strng)
  Dim regEx, retVal				' 변수를 만듭니다.
  Set regEx = New RegExp			' 정규식을 만듭니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = False	 		' 대/소문자를 구분하도록 설정합니다.
  retVal = regEx.Test(strng)		' 검색 테스트를 실행합니다.
  If retVal Then
    RegExpTest = "일치하는 단어를 한 개 이상 찾았습니다."
  Else
    RegExpTest = "일치하는 단어가 없습니다."
  End If
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Test 메서드

Test 메서드
적용 대상 		언어 참조

RegExp 개체


Test 메서드

Test 메서드
참고 		언어 참조

Execute 메서드
Replace 메서드


Write 메서드

Write 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일에 지정한 문자열을 작성합니다.
구문
object.Write(string)

Write 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 TextStream 개체의 이름입니다.
string | 필수적인 요소. 파일에 작성할 텍스트입니다.

참고
각 문자열 사이의 공백이나 문자없이 지정한 문자열을 작성합니다. WriteLine 메서드를 사용하여 줄 바꿈 문자나 줄 바꿈 문자로 끝나는 문자열을 작성합니다.

아래 예제는 Write 메서드 사용법을 보여줍니다.

Function WriteToFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  WriteToFile =  f.ReadLine
End Function


Write 메서드

Write 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


WriteBlankLines 메서드

WriteBlankLines 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
지정한 수만큼 TextStream 파일에 줄 바꿈 문자를 작성합니다.
구문
object.WriteBlankLines(lines)

WriteBlankLines 메서드 구문은 아래 요소로 구성되어 있습니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 TextStream 개체의 이름입니다.
lines | 필수적인 요소. 파일에 쓸 줄 바꿈 문자의 수입니다.

참고
아래 예제는 WriteBlankLines 메서드 사용법을 보여줍니다.
Function WriteBlankLinesToFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.WriteBlankLines 2
  f.WriteLine "안녕하십니까?"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  WriteBlankLinesToFile = f.ReadAll
End Function


WriteBlankLines 메서드

WriteBlankLines 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


WriteBlankLines 메서드

WriteBlankLines 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드


Write 메서드

Write 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
WriteLine 메서드
WriteBlankLines 메서드


WriteLine 메서드

WriteLine 메서드 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
지정한 문자열과 줄 바꿈 문자를 TextStream 파일에 작성합니다.
구문
object.WriteLine([string])

WriteLine 메서드 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 TextStream 개체의 이름입니다.
string | 선택적인 요소. 파일에 쓸 텍스트입니다. 생략하면 줄 바꿈 문자를 파일에 작성합니다.

참고
아래 예제는 WriteLine 메서드 사용법을 보여줍니다.
Function WriteLineToFile
  Const ForReading = 1, ForWriting = 2
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.WriteLine "안녕하십니까?"
  f.WriteLine "VBScript는 재미있습니다!"
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  WriteLineToFile = f.ReadAll
End Function


WriteLine 메서드

WriteLine 메서드
적용 대상 		Scripting 런타임 참조

TextStream 개체


WriteLine 메서드

WriteLine 메서드
참고 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteBlankLines 메서드


Class 개체

Class 개체 		언어 참조
버전 5

참고 이벤트

설명
Class 문을 사용하여 만든 개체입니다. class 이벤트에 액세스할 수 있습니다.
참고
명시적으로 변수를 클래스 유형으로 선언할 수 없습니다. VBScript 컨텍스트에서 "클래스 개체"라는 용어는 VBScript의 Class 문을 사용하여 정의하는 개체를 말합니다.

일단 Class 문을 사용하여 클래스 정의하면 다음 형식을 사용하여 클래스 인스턴스를 만들 수 있습니다.

Dim X
Set X = New classname
VBScript는 후기 바인딩되는 언어이기 때문에 다음과 같은 경우는 불가능합니다.

Dim X as New classname
또는
Dim X
X = New classname
또는
Set X = New Scripting.FileSystemObject


Class 개체

Class 개체
참고 		언어 참조

Class 문
Dim 문
Set 문


Class 개체

Class 개체
이벤트 		언어 참조

Initialize 이벤트
Terminate 이벤트


Dictionary 개체

Dictionary 개체 		Scripting 런타임 참조
버전 2

참고 속성 메서드

설명
데이터 키-항목 쌍을 저장하는 개체입니다.
참고
Dictionary 개체는 PERL 관련 배열과 같습니다. 특정 형식의 데이터인 항목은 이 배열에 저장합니다. 각 항목은 유일한 키와 연결됩니다. 이 키는 개별 항목을 검색하는 데 사용되며 대개 배열이 아닌 모든 정수 또는 문자열입니다.

아래 코드에서는 Dictionary 개체의 작성 방법을 보여줍니다.

Dim d                   '변수를 작성합니다.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens"     '키와 항목을 추가합니다.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...


Dictionary 개체

Dictionary 개체
참고 		Scripting 런타임 참조

FileSystemObject 개체
TextStream 개체


Dictionary 개체

Dictionary 개체
메서드 		Scripting 런타임 참조

Add 메서드(Dictionary)
Exists 메서드
Items 메서드
Keys 메서드
Remove 메서드
RemoveAll 메서드


Dictionary 개체

Dictionary 개체
속성 		Scripting 런타임 참조

CompareMode 속성
Count 속성
Item 속성
Key 속성


Drive 개체

Drive 개체 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
특정 디스크 드라이브나 네트워크 공유의 속성에 대한 액세스를 제공합니다.
참고
아래 코드에서는 Drive 개체를 사용하여 드라이브 속성을 액세스하는 방법을 보여줍니다.
Function ShowFreeSpace(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & d.VolumeName  & "<BR>"
  s = s & "사용할 수 있는 공간:" & FormatNumber(d.FreeSpace/1024, 0)
  s = s & "KB"
  ShowFreeSpace = s
End Function


Drive 개체

Drive 개체
참고 		Scripting 런타임 참조

Drives 컬렉션
File 개체
Files 컬렉션
Folder 개체
Folders 컬렉션
GetDrive 메서드


Drive 개체

Drive 개체
메서드 		Scripting 런타임 참조

Drive 개체에는 메서드가 없습니다.


Drive 개체

Drive 개체
속성 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


Err 개체

Err 개체 		언어 참조
버전 1

참고 속성 메서드

설명
런타임 오류에 관한 정보를 가지고 있는 개체로 런타임 오류를 만들거나 지우는 Raise 메서드와 Clear 메서드를 받아들입니다.
참고
Err 개체는 전역 범위에 걸치는 내부 개체이므로 사용자의 코드에 이 개체의 인스턴스를 만들 필요가 없습니다. Err 개체의 속성은 오류 발생기인 Visual Basic, 자동화 개체, VBScript 프로그래에 의해 설정됩니다.

Err 개체의 기본 속성은 Number입니다. Err.Number는 정수 값을 가지며 자동화 개체에서 그 정수를 사용하여 SCODE를 반환합니다.

런타임 오류가 발생하면 Err 개체의 속성은 오류를 유일하게 식별하는 정보와 오류를 처리하는 데 사용하는 정보로 채워집니다. 사용자 코드에 런타임 오류를 만들려면 Raise 메서드를 사용합니다.

Err 개체의 속성은 On Error Resume Next문 뒤에서 0이나 길이가 0인 문자열("")로 다시 설정됩니다. Clear 메서드를 사용하면 Err 개체를 명시적으로 다시 설정할 수 있습니다.

아래 예제는 Err 개체 사용법을 보여줍니다.

On Error Resume Next
Err.Raise 6  '오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    '오류를 지웁니다.


Err 개체

Err 개체
참고 		언어 참조

FileSystemObject 개체
On Error 문


Err 개체

Err 개체
메서드 		언어 참조

Clear 메서드
Raise 메서드


Err 개체

Err 개체
속성 		언어 참조

Description 속성
HelpContext 속성
HelpFile 속성
Number 속성
Source 속성


File 개체

File 개체 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
파일의 모든 속성에 대한 액세스를 제공합니다.
참고
아래 코드에서는 File 개체를 가져오는 방법과 그 속성 중 하나를 보는 방법을 보여줍니다.
Function ShowDateCreated(filespec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  ShowDateCreated = f.DateCreated
End Function


File 개체

File 개체
참고 		Scripting 런타임 참조

Drive 개체
Drives 컬렉션
Files 컬렉션
Folder 개체
Folders 컬렉션


File 개체

File 개체
메서드 		Scripting 런타임 참조

Copy 메서드
Delete 메서드
Move 메서드
OpenAsTextStream 메서드


File 개체

File 개체
속성 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
Type 속성


FileSystemObject 개체

FileSystemObject 개체 		Scripting 런타임 참조
버전 2

참고 속성 메서드

설명
컴퓨터의 파일 시스템에 대한 액세스를 제공합니다.
참고
아래 코드에서는 FileSystemObject를 사용하여 읽거나 쓸 수 있는 TextStream 개체를 반환하는 방법을 보여줍니다.
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("테스트하는 중입니다.")
MyFile.Close
위 코드에서 CreateObject 함수는 FileSystemObject 개체(fso)를 반환합니다. 그런 다음 CreateTextFile 메서드에서는 파일을 TextStream 개체(a)로 만들고, WriteLine 메서드에서는 만들어진 텍스트 파일에 텍스트 한 줄을 작성합니다. 끝으로 Close 메서드에서 버퍼를 비운 다음 해당 파일을 닫습니다.


FileSystemObject 개체

FileSystemObject 개체
참고 		Scripting 런타임 참조

CreateObject 함수
Dictionary 개체
Drive 개체
Drives 컬렉션
Err 개체
File 개체
Files 컬렉션
Folder 개체
Folders 컬렉션
TextStream 개체


FileSystemObject 개체

FileSystemObject 개체
메서드 		Scripting 런타임 참조

BuildPath 메서드
CopyFile 메서드
CopyFolder 메서드
CreateFolder 메서드
CreateTextFile 메서드
DeleteFile 메서드
DeleteFolder 메서드
DriveExists 메서드
FileExists 메서드
FolderExists 메서드
GetAbsolutePathName 메서드
GetBaseName 메서드
GetDrive 메서드
GetDriveName 메서드
GetExtensionName 메서드
GetFile 메서드
GetFileName 메서드
GetFolder 메서드
GetParentFolderName 메서드
GetSpecialFolder 메서드
GetTempName 메서드
MoveFile 메서드
MoveFolder 메서드
OpenTextFile 메서드


FileSystemObject 개체

FileSystemObject 개체
속성 		Scripting 런타임 참조

Drives 속성


Folder 개체

Folder 개체 		Scripting 런타임 참조
버전 3

참고 속성 메서드

설명
폴더의 모든 속성에 대한 액세스를 제공합니다.
참고
Folder 개체를 가져오는 방법과 그 속성 중 하나를 반환하는 방법을 보여줍니다.
Function ShowDateCreated(folderspec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  ShowDateCreated = f.DateCreated
End Function


Folder 개체

Folder 개체
참고 		Scripting 런타임 참조

Drive 개체
Drives 컬렉션
File 개체
Files 컬렉션
Folders 컬렉션


Folder 개체

Folder 개체
메서드 		Scripting 런타임 참조

Copy 메서드
Delete 메서드
Move 메서드
CreateTextFile 메서드


Folder 개체

Folder 개체
속성 		Scripting 런타임 참조

Attributes 속성
Count 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


Match 개체

Match 개체 		언어 참조
버전 5

참고 속성

설명
정규식 일치의 읽기 전용 속성에 대한 액세스를 제공합니다.
참고
Match 개체는 RegExp 개체의 Execute 메서드를 사용해야만 만들 수 있습니다. 이 개체는 실제로 Match 개체의 컬렉션을 반환합니다. Match 개체의 속성은 모두 읽기 전용입니다.

정규식을 실행할 때 0개 이상의 Match 개체가 생성될 수 있습니다. 각 Match 개체는 정규식이나 문자열의 길이 또는 일치하는 사항이 발견된 문자열에 대한 인덱스로 발견된 문자열에 대한 액세스를 제공합니다.

아래 코드는 Match 개체의 사용 예를 보여줍니다.

Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  regEx.Global = True			' 전역을 설정합니다.
  Set Matches = regEx.Execute(strng)	' 찾기를 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match " & I & " found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is "'
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Match 개체

Match 개체
참고 		언어 참조

Matches 컬렉션
RegExp 개체


Match 개체

Match 개체
속성 		언어 참조

FirstIndex 속성
Length 속성
Value 속성


RegExp 개체

RegExp 개체 		언어 참조
버전 5

참고 메서드 속성

설명
간단한 정규식을 지원합니다.
참고
아래 코드는 RegExp 개체의 사용 예를 보여줍니다.

Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  regEx.Global = True			' 전역을 설정합니다.
  Set Matches = regEx.Execute(strng)	' 찾기를 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


RegExp 개체

RegExp 개체
참고 		언어 참조

Match 개체
Matches 컬렉션


RegExp 개체

RegExp 개체
메서드 		언어 참조

Execute 메서드
Replace 메서드
Test 메서드


RegExp 개체

RegExp 개체
속성 		언어 참조

Global 속성
IgnoreCase 속성
Pattern 속성


TextStream 개체

TextStream 개체 		Scripting 런타임 참조
버전 2

참고 속성 메서드

설명
파일을 순차적으로 액세스할 수 있게 하는 개체입니다.
참고
아래 코드에서는 FileSystemObject의 CreateTextFile 메서드에서 반환한 TextStream 개체입니다.
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("테스트입니다.")
MyFile.Close
WriteLine과 Close 메서드는 TextStream 개체의 두 메서드입니다.


TextStream 개체

TextStream 개체
참고 		Scripting 런타임 참조

Dictionary 개체
FileSystemObject 개체


TextStream 개체

TextStream 개체
메서드 		Scripting 런타임 참조

Close 메서드
Read 메서드
ReadAll 메서드
ReadLine 메서드
Skip 메서드
SkipLine 메서드
Write 메서드
WriteLine 메서드
WriteBlankLines 메서드


TextStream 개체

TextStream 개체
속성 		Scripting 런타임 참조

AtEndOfLine 속성
AtEndOfStream 속성
Column 속성
Line 속성


+ 연산자

+ 연산자 		Scripting 런타임 참조
버전 정보

참고

설명
두 숫자를 더합니다.
구문
result = expression1+ expression2

+ 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
+ 연산자를 사용하여 두 문자열을 연결할 수도 있지만 명확하게 하고 자동 문서 작성 코드를 제공하기 위해 &(문자열 연결) 연산자를 사용해야 합니다.

+ 연산자를 사용할 때 덧셈을 수행할지 또는 문자열을 연결할지 여부를 결정하지 못할 수도 있습니다.

식의 기본 하위 형식에 따라 + 연산자의 동작은 아래와 같이 결정됩니다.

경우 | 동작
두 식이 모두 수식인 경우 | 덧셈
두 식이 모두 문자식인 경우 | 문자열 연결
각각 수식과 문자식인 경우 | 덧셈

두 식 중 어느 하나만이라도 Null인 경우 result는 Null이며, 두 식이 모두 Empty인 경우 result는 Integer 하위 형식이 됩니다. 그러나 두 식중 어느 하나만 Empty인 경우 다른 한 식이 result로 바뀌지 않은 채 반환됩니다.


+(덧셈) 연산자

+(덧셈) 연산자
참고 		Scripting 런타임 참조

&(문자열 연결) 연산자
-(뺄셈) 연산자
산술 연산자
연결 연산자
연산자 개요
연산자 우선 순위


And 연산자

And 연산자 		언어 참조
버전 정보

참고

설명
두 식의 논리적인 결합을 평가합니다.
구문
result = expression1 And expression2

And 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
두 식이 모두 True인 경우에만 result가 True이며, 두 식 중 어느 하나가 False인 경우 result는 False가 됩니다. 아래 표는 result에 대한 결정 방법을 보여줍니다.

expression1의 값 | expression2의 값 | result
True | True | True
True | False | False
True | Null | Null
False | True | False
False | False | False
False | Null | False
Null | True | Null
Null | False | False
Null | Null | Null

And 연산자는 두 수식의 같은 위치에 있는 비트에 대한 비트 비교도 수행하며, 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression1의 비트 값 | expression2의 비트 값 | result
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1


And 연산자

And 연산자
참고 		언어 참조

Not 연산자
Or 연산자
Xor 연산자
논리 연산자
연산자 개요
연산자 우선 순위


= 연산자

= 연산자 		언어 참조
버전 1

참고

설명
값을 변수나 속성에 지정합니다.
구문
variable = value

= 연산자는 아래 요소로 구성됩니다.

구성 요소 | 설명
variable | 아무 변수나 기록할 수 있는 속성
value | 아무 숫자 리터럴이나 문자 리터럴, 상수, 식

참고
= 등호의 왼 편에 있는 이름에는 간단한 스칼라 변수나 배열의 한 요소가 올 수 있습니다. = 기호의 왼 편에 있는 속성에는 실행 모드에서 기록할 수 있는 속성 만이 올 수 있습니다.


= 연산자

= 연산자
참고 		언어 참조

비교 연산자
연산자 우선 순위
연산자 개요
Set 문


&(문자열 연결) 연산자

&(문자열 연결) 연산자 		언어 참조
버전 정보

참고

설명
두 식의 문자열을 연결하는 데 사용합니다.
구문
result = expression1& expression2

& 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
expression이 문자열이 아닌 경우에는 언제든지 그 String 하위 형식으로 변환됩니다. 두 식이 모두 Null인 경우 result도 Null이 되지만, 어느 한 expression만 Null인 경우 그 식은 다른 한 식과 연결될 때 길이가 0인 문자열("")로 취급합니다. Empty식도 길이가 0인 문자열로 취급합니다.


&(문자열 연결) 연산자

&(문자열 연결) 연산자
참고 		언어 참조

연결 연산자
연산자 개요
연산자 우선 순위


/ 연산자

/ 연산자 		언어 참조
버전 정보

참고

설명
두 숫자를 나눈 다음 부동 소수점 숫자로 된 결과를 반환하는 데 사용합니다.
구문
result = number1/number2

/ 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number1 | 임의의 특정 수식
number2 | 임의의 특정 수식

참고
두 식 모두 또는 어느 하나가 Null인 경우 result는 Null입니다. Empty식은 0으로 취급합니다.


/ 연산자

/ 연산자
참고 		언어 참조

*(곱셈) 연산자
\(정수 나눗셈) 연산자
산술 연산자
연산자 개요
연산자 우선 순위


Eqv 연산자

Eqv 연산자 		언어 참조
버전 정보

참고

설명
두 식의 논리적 동등성을 평가하는 데 사용합니다.
구문
result = expression1 Eqv expression2

Eqv 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
두 식 중 어느 하나만이라도 Null인 경우 result도 Null이며, 두 식이 모두 Null이 아닌 경우 그 result는 아래 표와 같이 결정됩니다.

expression1의 값 | expression2의 값 | result
True | True | True
True | False | False
False | True | False
False | False | True

Eqv 연산자는 두 수식의 같은 위치에 있는 비트에 대한 비트 비교도 수행하며, 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression1의 비트 값 | expression2의 비트 값 | result
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1


Eqv 연산자

Eqv 연산자
참고 		언어 참조

Imp 연산자
논리 연산자
연산자 개요
연산자 우선 순위


^(지수) 연산자

^(지수) 연산자 		언어 참조
버전 정보

참고

설명
숫자를 지수로 거듭제곱하는 데 사용합니다.
구문
result = number^exponent

^ 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number | 임의의 특정 수식
exponent | 임의의 특정 수식

참고
number는 exponent가 정수일 경우 음수가 될 수 있습니다. 한 식에서 2제곱 이상의 거듭제곱을 수행하는 경우 ^ 연산자는 왼쪽에서 오른쪽으로 연산을 수행합니다.

number 또는 exponent가 Null이면 result도 Null입니다.


^(지수)연산자

^(지수) 연산자
참고 		언어 참조

산술 연산자
연산자 개요
연산자 우선 순위


Imp 연산자

Imp 연산자 		언어 참조
버전 정보

참고

설명
두 식의 논리적 함축성을 평가하는 데 사용합니다.
구문
result = expression1 Imp expression2

Imp 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
아래 표는 result에 대한 결정 방법을 보여줍니다.

expression1의 값 | expression2의 값 | result
True | True | True
True | False | False
True | Null | Null
False | True | True
False | False | True
False | Null | True
Null | True | True
Null | False | Null
Null | Null | Null

Imp 연산자는 두 수식의 같은 위치에 있는 비트에 대한 비트 비교도 수행하며, 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression1의 값 | expression2의 값 | result
0 | 0 | 1
0 | 1 | 1
1 | 0 | 0
1 | 1 | 1


Imp 연산자

Imp 연산자
참고 		언어 참조

Eqv 연산자
논리 연산자
연산자 개요
연산자 우선 순위


\(정수 나눗셈) 연산자

\(정수 나눗셈) 연산자 		언어 참조
버전 정보

참고

설명
두 숫자를 나누어 정수 결과를 반환하는 데 사용합니다.
구문
result = number1\number2

\ 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number1 | 임의의 특정 수식
number2 | 임의의 특정 수식

참고
나눗셈을 수행하기 전에 수식을 Byte, Integer 또는 Long 하위 형식으로 반올림합니다.

어느 하나의 식이라도 Null인 경우 result도 Null입니다. Empty인 식은 0으로 취급합니다.


\(정수 나눗셈) 연산자

\(정수 나눗셈) 연산자
참고 		언어 참조

*(곱셈) 연산자
/(나눗셈) 연산자
산술 연산자
연산자 개요
연산자 우선 순위


Is 연산자

Is 연산자 		언어 참조
버전 1

참고

설명
두 개의 개체 참조 변수를 비교하는 데 사용합니다.
구문
result = object1 Is object2

Is 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
object1 | 임의의 특정 개체 이름
object2 | 임의의 특정 개체 이름

참고
object1과 object2가 모두 같은 개체를 참조하면 result 는 True이며, 그렇지 않으면 False입니다. 두 변수에서는 여러 방법으로 같은 개체를 참조하도록 할 수 있습니다.

아래 예제에서 A는 B와 똑같은 개체를 참조하도록 지정되었습니다.

Set A = B
아래 예제에서 A와 B는 C와 똑같은 개체를 참조하도록 지정되었습니다.

Set A = C
Set B = C


Is 연산자

Is 연산자
참고 		언어 참조

비교 연산자
연산자 개요
연산자 우선 순위


Mod(나머지) 연산자

Mod(나머지) 연산자 		언어 참조
버전 정보

참고

설명
두 숫자를 나누어 그 나머지를 반환합니다.
구문
result = number1 Mod number2

Mod 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number1 | 임의의 특정 수식
number2 | 임의의 특정 수식

참고
모듈러스 또는 나머지 연산자는 각각 부동 소수점 숫자를 반올림한 다음, number1을 number2로 나누어 그 나머지만을 result로 반환합니다. 예를 들어, 아래 식 A의 값(result 값)은 5입니다

A = 19 Mod 6.7
두 식 중 어느 하나가 Null이면 result도 Null입니다. Empty식은 0으로 취급합니다.


Mod(나머지) 연산자

Mod(나머지) 연산자
참고 		언어 참조

산술 연산자
연산자 개요
연산자 우선 순위


* 연산자

* 연산자 		언어 참조
버전 정보

참고

설명
두 숫자를 곱하는 데 사용합니다.
구문
result = number1*number2

* 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number1 | 임의의 특정 수식
number2 | 임의의 특정 수식

참고
두 식 중 어느 하나가 Null이면 result도 Null입니다. Empty식이면 0으로 취급합니다.


* 연산자

* 연산자
참고 		언어 참조

\(정수 나눗셈) 연산자
산술 연산자
연산자 개요
연산자 우선 순위


Not 연산자

Not 연산자 		언어 참조
버전 정보

참고

설명
식의 논리적 부정을 평가하는 데 사용합니다.
구문
result = Not expression

Not 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression | 임의의 특정 식

참고
아래 표는 result에 대한 결정 방법을 보여줍니다.

expression의 값 | result
True | False
False | True
Null | Null

또한 Not 연산자는 변수의 비트 값을 거꾸로 하여 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression의 비트 값 | result의 비트 값
0 | 1
1 | 0


Not 연산자

Not 연산자
참고 		언어 참조

And 연산자
Or 연산자
Xor 연산자
논리 연산자
연산자 개요
연산자 우선 순위


Or 연산자

Or 연산자 		언어 참조
버전 정보

참고

설명
두 식의 논리적인 분리를 평가하는 데 사용합니다.
구문
result = expression1 Or expression2

Or 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
두 식 중 어느 하나가 True인 경우 result는 True입니다. 아래 표는 result에 대한 결정 방법을 보여줍니다.

expression1의 값 | expression2의 값 | result
True | True | True
True | False | True
True | Null | True
False | True | True
False | False | False
False | Null | Null
Null | True | True
Null | False | Null
Null | Null | Null

Or 연산자는 두 수식의 같은 위치에 있는 비트에 대한 비트 비교를 실행하고 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression1의 비트 값 | expression2의 비트 값 | result
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1


Or 연산자

Or 연산자
참고 		언어 참조

And 연산자
Not 연산자
Xor 연산자
논리 연산자
연산자 개요
연산자 우선 순위


- 연산자

- 연산자 		언어 참조
버전 정보

참고

설명
두 숫자 사이의 차이를 구하거나 수식의 음수 값을 나타내는 데 사용합니다.
구문 1
result = number1-number2
구문 2
-number

- 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
number | 임의의 특정 수식
number1 | 임의의 특정 수식
number2 | 임의의 특정 수식

참고
구문 1의 - 연산자는 두 숫자 사이의 차이를 구하는 데 사용하는 산술적인 뺄셈 연산자이고, 구문 2의 - 연산자는 식의 음수 값을 나타내는 단항 부정 연산자입니다.

두 식 중 어느 하나가 Null이면 result도 Null입니다. Empty수식이면 0으로 취급합니다.


- 연산자

- 연산자
참고 		언어 참조

+(덧셈) 연산자
산술 연산자
연산자 개요
연산자 우선 순위


Xor 연산자

Xor 연산자 		언어 참조
버전 정보

참고

설명
두 식의 배타적 논리 연산을 수행하는 데 사용합니다.
구문
result = expression1 Xor expression2

Xor 연산자 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
result | 임의의 특정 숫자 변수
expression1 | 임의의 특정 식
expression2 | 임의의 특정 식

참고
두 식 중 어느 하나만이라도 True인 경우 result는 True이며, 어느 하나 또는 모두가 Null인 경우 result도 Null입니다. 두 식이 모두 Null이 아닌 경우 result는 아래 표에 따라서 결정됩니다.

expression1의 값 | expression2의 값 | result
True | True | False
True | False | True
False | True | True
False | False | False

Xor 연산자는 두 수식의 같은 위치에 있는 비트에 대한 비트 비교도 수행하며, 아래 표와 같이 result에 해당되는 비트를 설정합니다.

expression1의 비트 값 | expression2의 비트 값 | result
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0


Xor 연산자

Xor 연산자
참고 		언어 참조

And 연산자
Not 연산자
Or 연산자
논리 연산자
연산자 개요
연산자 우선 순위


AtEndOfLine 속성

AtEndOfLine 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
파일 포인터가 TextStream 파일의 줄 끝 표식에 바로 접하여 있으면 True를 반환합니다. 그렇지 않으면 False를 반환하는 읽기 전용 속성입니다.
구문
object.AtEndOfLine

object는 항상 TextStream 개체의 이름입니다.

참고
AtEndOfLine 속성은 읽기 전용으로 열린 TextStream 파일에만 적용되며, 그 밖의 경우에는 오류가 발생합니다.

아래 코드에서는 AtEndOfLine 속성의 사용 예를 보여줍니다.

Function ReadEntireFile(filespec)
  Const ForReading = 1
  Dim fso, theFile, retstring
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set theFile = fso.OpenTextFile(filespec, ForReading, False)
  Do While theFile.AtEndOfLine <> True
    retstring = theFile.Read(1)
  Loop
  theFile.Close
  ReadEntireFile = retstring
End Function


AtEndOfLine 속성

AtEndOfLine 속성
적용 대상 		Scripting 런타임 참조

TextStream 개체


AtEndOfLine 속성

AtEndOfLine 속성
참고 		Scripting 런타임 참조

AtEndOfStream 속성
Column 속성
Line 속성


AtEndOfStream 속성

AtEndOfStream 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
파일 포인터가 TextStream 파일 끝에 있으면 True를, 그렇지 않으면 False를 반환하는 읽기 전용 속성입니다.
구문
object.AtEndOfStream

object는 항상 TextStream 개체의 이름입니다.

참고
AtEndOfStream 속성은 읽기 전용으로 열린 TextStream 파일에만 적용되며, 그 밖의 경우에는 오류가 발생합니다.

아래 코드에서는 AtEndOfStream 속성의 사용 예를 보여줍니다.

Function ReadEntireFile(filespec)
  Const ForReading = 1
  Dim fso, theFile, retstring
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set theFile = fso.OpenTextFile(filespec, ForReading, False)
  Do While theFile.AtEndOfStream <> True
    retstring = theFile.ReadLine
  Loop
  theFile.Close
  ReadEntireFile = retstring
End Function


AtEndOfStream 속성

AtEndOfStream 속성
적용 대상 		Scripting 런타임 참조

TextStream 개체


AtEndOfStream 속성

AtEndOfStream 속성
참고 		Scripting 런타임 참조

AtEndOfLine 속성
Column 속성
Line 속성


Attributes 속성

Attributes 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
파일이나 폴더의 속성을 설정하거나 반환합니다. 속성에 따라 읽기/쓰기 또는 읽기 전용이 됩니다.
구문
object.Attributes [= newattributes]

Attributes 속성은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
newattributes | 선택적인 요소. newattributes이 제공되는 경우 지정한 개체의 새로운 속성 값이 됩니다.

설정
newattributes 요소의 값은 아래 값이나 그 값의 논리적 조합들 중 하나입니다.

상수 | 값 | 설명
Normal | 0 | 표준 파일로 설정되는 속성이 없습니다.
ReadOnly | 1 | 읽기 전용 파일입니다. 읽기/쓰기 속성입니다.
Hidden | 2 | 숨겨진 파일입니다. 읽기/쓰기 속성입니다.
System | 4 | 시스템 파일입니다. 읽기/쓰기 속성입니다.
Volume | 8 | 디스크 드라이브 볼륨 레이블입니다. 읽기 전용 속성입니다.
Directory | 16 | 폴더나 디렉터리입니다. 읽기 전용 속성입니다.
Archive | 32 | 마지막 백업 후에 바뀌는 파일입니다. 읽기/쓰기 속성입니다.
Alias | 64 | 링크 또는 바로 가기 키입니다. 읽기 전용 속성입니다.
Compressed | 128 | 압축 파일입니다. 읽기 전용 속성입니다.

참고
아래 코드에서는 파일에서 Attributes 속성의 사용 예를 보여줍니다.
Function ToggleArchiveBit(filespec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  If f.attributes and 32 Then
    f.attributes = f.attributes - 32
    ToggleArchiveBit = "Archive 비트가 지워졌습니다."
  Else
    f.attributes = f.attributes + 32
    ToggleArchiveBit = "Archive 비트가 지정되어 있습니다."
  End If
End Function


Attributes 속성

Attributes 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Attributes 속성

Attributes 속성
참고 		Scripting 런타임 참조

DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


AvailableSpace 속성

AvailableSpace 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브나 네트워크 공유에서 사용할 수 있는 디스크 공간의 크기를 반환합니다.
구문
object.AvailableSpace

object는 항상 Drive 개체입니다.

참고
대개 AvailableSpace 속성으로 반환되는 값은 FreeSpace 속성으로 반환되는 값과 같지만, 할당 크기를 지원하는 컴퓨터 시스템에 따라 그 값이 달라질 수 있습니다.

아래 코드는 AvailableSpace 속성의 사용 예를 보여줍니다.

Function ShowAvailableSpace(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & d.VolumeName  & "<BR>"
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.AvailableSpace/1024, 0)
  s = s & " KB"
  ShowAvailableSpace = s
End Function


AvailableSpace 속성

AvailableSpace 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


AvailableSpace 속성

AvailableSpace 속성
참고 		Scripting 런타임 참조

DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


Column 속성

Column 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일에서 현재 문자 위치의 열 번호를 반환하는 읽기 전용 속성입니다.
구문
object.Column

object는 항상 TextStream 개체의 이름입니다.

참고
줄 바꿈 문자를 썼지만 다른 문자를 쓰기 이전이면 Column은 1이 됩니다.

아래 예제는 Column 속성의 사용법을 보여줍니다.

Function GetColumn
  Const ForReading = 1, ForWriting = 2
  Dim fso, f, m
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?"
  f.Close
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  m =  f.ReadLine
  GetColumn = f.Column
End Function


Column 속성

Column 속성
적용 대상 		Scripting 런타임 참조

TextStream 개체


Column 속성

Column 속성
참고 		Scripting 런타임 참조

AtEndOfLine 속성
AtEndOfStream 속성
Line 속성


CompareMode 속성

CompareMode 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에서 문자열 키를 비교하는 모드를 설정하여 반환합니다.
구문
object.CompareMode[ = compare]

CompareMode 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Dictionary 개체의 이름입니다.
compare | 선택적인 요소. compare 요소를 제공할 경우 StrComp와 같은 함수에서 사용하는 비교 모드를 나타내는 값입니다.

설정
compare 인수는 아래와 같이 설정되어 있습니다.

Constant | Value | Description
vbBinaryCompare | 0 | 이진 비교를 실행합니다.
vbTextCompare | 1 | 텍스트 비교를 실행합니다.

참고
특정한 로케일 ID(LCID)를 사용하는 비교를 참조할 때 2보다 큰 값을 사용할 수 있습니다. 데이터를 이미 가지고 있는 Dictionary 개체의 비교 모드를 변경하면 오류가 발생합니다.

CompareMode 속성은 StrComp 함수의 비교 인수와 같은 값을 사용합니다.

아래 예제는 CompareMode 속성의 사용법을 보여줍니다.

Dim d
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare
d.Add "a", "Athens"      '키와 항목을 추가합니다.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
d.Add "B", "Baltimore"   'b 문자가 Dictionary에 이미 존재하므로
                         '이 줄에서 메서드 추가는 실패합니다.


CompareMode 속성

CompareMode 속성
적용 대상 		Scripting 런타임 참조

Dictionary 개체


CompareMode 속성

CompareMode 속성
참고 		Scripting 런타임 참조

Count 속성
Item 속성
Key 속성


Count 속성

Count 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
컬렉션이나 Dictionary 개체의 항목 수를 반환합니다. 읽기 전용 속성입니다.
구문
object.Count

object는 항상 적용 대상 목록에 있는 항목 이름 중 하나입니다.

참고
아래 코드에서는 Count 속성의 사용 예를 보여줍니다.
Function ShowKeys
  Dim a, d, i, s          '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  a = d.Keys              '키를 가져옵니다.
  For i = 0 To d.Count -1 '배열을 반복합니다.
    s = s & a(i) & "<BR>" '반환 문자열을 작성합니다.
  Next
  ShowKeys = s
End Function


Count 속성

Count 속성
적용 대상 		Scripting 런타임 참조

Dictionary 개체
Drives 컬렉션
Files 컬렉션
Folders 컬렉션
Matches 컬렉션


Count 속성

Count 속성
참고 		Scripting 런타임 참조

CompareMode 속성
Item 속성
Key 속성


DateCreated 속성

DateCreated 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 만든 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.
구문
object.DateCreated

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드는 DateCreated 속성을 파일에 사용하는 예를 보여줍니다.
Function ShowFileInfo(filespec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  ShowFileInfo = "만든 날짜: " & f.DateCreated
End Function


DateCreated 속성

DateCreated 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


DateCreated 속성

DateCreated 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


DateLastAccessed 속성

DateLastAccessed 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 마지막으로 액세스한 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.
구문
object.DateLastAccessed

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드는 DateLastAccessed 속성을 파일에 사용하는 예를 보여줍니다.
Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(filespec) & "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function
중요 이 메서드의 동작은 기본 운영 체제에 따라 다릅니다. 운영 체제에서 시간 정보 제공을 지원하지 않으면 아무 것도 반환하지 않습니다.


DateLastAccessed 속성

DateLastAccessed 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


DateLastAccessed 속성

DateLastAccessed 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


DateLastModified 속성

DateLastModified 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더를 마지막으로 수정한 날짜와 시간을 반환합니다. 읽기 전용 속성입니다.
구문
object.DateLastModified

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드는 DateLastModified 속성을 파일에 사용하는 예를 보여줍니다.
Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(filespec) & "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


DateLastModified 속성

DateLastModified 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


DateLastModified 속성

DateLastModified 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


Description 속성

Description 속성 		언어 참조
버전 1

참고 적용 대상

설명
오류에 관해 설명하는 문자열을 설정하거나 반환합니다.
구문
object.Description [= stringexpression]

Description 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 항상 Err 개체입니다.
stringexpression | 오류에 대한 설명을 포함하는 문자식입니다.

참고
Description 속성은 오류에 관한 간단한 설명으로 구성됩니다. 이 속성을 사용하여 처리할 수 없거나 처리하지 않을 오류를 사용자에게 알립니다. 사용자 정의 오류가 발생하면 그 오류에 관한 간단한 설명을 이 속성에 지정합니다. Description 속성에 해당 설명이 없고 수의 값이 VBScript 런타임 오류에 해당하면 그 오류를 설명하는 문자열을 반환합니다.
On Error Resume Next
Err.Raise 6  '오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    '오류를 지웁니다.


Description 속성

Description 속성
적용 대상 		언어 참조

Err 개체


Description 속성

Description 속성
참고 		언어 참조

Err 개체
HelpContext 속성
HelpFile 속성
Number 속성
Source 속성


Drive 속성

Drive 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더가 상주하는 드라이브의 드라이브 문자를 반환합니다. 읽기 전용 속성입니다.
구문
object.Drive

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 Drive 속성의 사용 예를 보여줍니다.
Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = f.Name & " on Drive " & UCase(f.Drive) & "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


Drive 속성

Drive 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Drive 속성

Drive 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


DriveLetter 속성

DriveLetter 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
실제의 로컬 드라이브나 네트워크 공유의 드라이브 문자를 반환합니다. 읽기 전용 속성입니다.
구문
object.DriveLetter

object는 항상 Drive 개체입니다.

참고
드라이브 문자에 매핑되지 않는 네트워크 공유처럼 지정한 드라이브가 드라이브 문자와 연결되지 않으면 DriveLetter 속성은 길이가 0인 문자열("")을 반환합니다.

아래 코드에서는 DriveLetter 속성의 사용 예를 보여줍니다.

Function ShowDriveLetter(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & d.DriveLetter & ": - "
  s = s & d.VolumeName & "<BR>"
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.FreeSpace/1024, 0)
  s = s & " KB"
  ShowDriveLetter = s
End Function


DriveLetter 속성

DriveLetter 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


DriveLetter 속성

DriveLetter 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


Drives 속성

Drives 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
로컬 컴퓨터에서 사용할 수 있는 모든 Drive 개체가 구성되어 있는 Drives 컬렉션을 반환합니다.
구문
object.Drives

object는 항상 FileSystemObject입니다.

참고
Drives 컬렉션에서 이동식 매체 드라이브를 보이게 하기 위해 그 드라이브에 매체를 삽입할 필요는 없습니다.

아래 코드에서 보여주듯이 For Each...Next 구조를 사용하면 Drives 컬렉션의 구성원을 반복할 수 있습니다.

Function ShowDriveList
  Dim fso, d, dc, s, n
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set dc = fso.Drives
  For Each d in dc
    n = ""
    s = s & d.DriveLetter & " - "
    If d.DriveType = 3 Then
      n = d.ShareName
    ElseIf d.IsReady Then
      n = d.VolumeName
    End If
    s = s & n & "<BR>"
  Next
  ShowDriveList = s
End Function


Drives 속성

Drives 속성
적용 대상 		Scripting 런타임 참조

FileSystemObject 개체


Drives 속성

Drives 속성
참고 		Scripting 런타임 참조

Drives 컬렉션
Files 속성
SubFolders 속성


DriveType 속성

DriveType 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브의 종류를 나타내는 값을 반환합니다.
구문
object.DriveType

object는 항상 Drive 개체입니다.

참고
아래 코드에서는 DriveType 속성의 사용 예를 보여줍니다.
Function ShowDriveType(drvpath)
  Dim fso, d, t
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(drvpath)
  Select Case d.DriveType
    Case 0: t = "알 수 없는 종류"
    Case 1: t = "이동식"
    Case 2: t = "고정"
    Case 3: t = "네트워크"
    Case 4: t = "CD-ROM"
    Case 5: t = "RAM 디스크"
  End Select
  ShowDriveType = "드라이브" & d.DriveLetter & ": - " & t
End Function


DriveType 속성

DriveType 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


DriveType 속성

DriveType 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


Files 속성

Files 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
숨겨진 파일 속성과 시스템 파일 속성으로 지정된 개체를 포함하여 지정한 폴더의 모든 File 개체들로 구성된 Files 컬렉션을 반환합니다.
구문
object.Files

object

참고
아래 코드에서는 Files 속성의 사용 예를 보여줍니다.
Function ShowFileList(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
    s = s & f1.name
    s = s &  "<BR>"
  Next
  ShowFileList = s
End Function


Files 속성

Files 속성
적용 대상 		Scripting 런타임 참조

Folder 개체


Files 속성

Files 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drives 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


FileSystem 속성

FileSystem 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브에서 사용하는 파일 시스템의 형식을 반환합니다.
구문
object.FileSystem

object는 항상 Drive 개체입니다.

참고
사용할 수 있는 반환 형식에는 FAT, NTFS 및 CDFS가 있습니다.

아래 코드에서는 FileSystem 속성의 사용 예를 보여줍니다.

Function ShowFileSystemType(drvspec)
  Dim fso,d
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(drvspec)
  ShowFileSystemType = d.FileSystem
End Function


FileSystem 속성

FileSystem 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


FileSystem 속성

FileSystem 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


FirstIndex 속성

FirstIndex 속성 		언어 참조
버전 5

참고 적용 대상

설명
찾기 문자열에서 찾는 단어가 있는 곳의 위치를 반환합니다.
구문
object.FirstIndex

object 인수는 항상 Match 개체입니다.

참고
FirstIndex 속성은 찾는 문자열의 시작 부분에 0 기반 오프셋을 사용합니다. 즉, 문자열의 첫 문자를 0 문자로 식별합니다. 아래 코드는 FirstIndex 속성의 사용 예를 보여줍니다.
Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  regEx.Global = True			' 전역을 설정합니다.
  Set Matches = regEx.Execute(strng)	' 찾기를 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match " & I & " found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is "'
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


FirstIndex 속성

FirstIndex 속성
적용 대상 		언어 참조

Match 개체


FirstIndex 속성

FirstIndex 속성
참고 		언어 참조

Length 속성
Value 속성


FreeSpace 속성

FreeSpace 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브나 네트워크 공유에서 사용할 수 있는 빈 공간 크기를 반환합니다. 읽기 전용 속성입니다.
구문
object.FreeSpace

object는 항상 Drive 개체입니다.

참고
대개 FreeSpace 속성으로 반환되는 값과 AvailableSpace 속성으로 반환되는 값은 같지만, 할당 크기를 지원하는 컴퓨터 시스템에 따라 그 값이 달라질 수 있습니다.

아래 코드에서는 FreeSpace 속성의 사용 예를 보여줍니다.

Function ShowFreeSpace(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & d.VolumeName  & "<BR>"
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.FreeSpace/1024, 0)
  s = s & " KB"
  ShowFreeSpace = s
End Function


FreeSpace 속성

FreeSpace 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


FreeSpace 속성

FreeSpace 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


Global 속성

Global 속성 		언어 참조
버전 5

참고 적용 대상

설명
찾는 문자열 전체 또는 처음 문자를 패턴 일치할지 여부를 나타내는 부울 값을 설정하거나 반환합니다.
구문
object.Global [= True | False ]

object 인수는 항상 RegExp 개체입니다. 문자열 전체를 찾으면 Global 속성의 값은 True, 그렇지 않으면 False입니다. 기본값은 True입니다.

참고
아래 코드는 Global 속성의 사용 예를 보여줍니다. Global 속성에 지정된 값을 변경하여 어떻게 변경되는지 보십시오.
Function RegExpTest(patrn, strng)
  Dim regEx					' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  regEx.Global = True			' 전역을 설정합니다.
  RegExpTest = regEx.Execute(strng)	' 찾기를 실행합니다.
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Global 속성

Global 속성
적용 대상 		언어 참조

RegExp 개체


Global 속성

Global 속성
참고 		언어 참조

IgnoreCase 속성
Pattern 속성


HelpContext 속성

HelpContext 속성 		언어 참조
버전 2

참고 적용 대상

설명
도움말 파일에 있는 항목의 컨텍스트 ID를 설정하거나 반환합니다.
구문
object.HelpContext [= context ID]

HelpContext 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Err 개체입니다.
context | 선택적인 요소. 도움말 파일에 들어있는 도움말 항목의 유효한 식별자입니다.

참고
HelpFile 속성에 도움말 파일을 지정한 경우, HelpContext 속성은 확인한 도움말 항목을 자동으로 나타내는 데 사용됩니다. HelpFile 속성과 HelpContext 속성이 모두 비어 있으면 Number 속성의 값을 확인한 다음, 그 값이 VBScript 런타임 오류 값과 같을 경우 해당 오류의 VBScript 도움말 컨텍스트 ID를 사용합니다. 그러나 Number 속성이 VBScript 오류와 같지 않을 경우에는 VBScript 도움말 파일의 목차 화면이 나타납니다.

아래 예제는 HelpContext 속성 사용법을 보여줍니다.

On Error Resume Next
Dim Msg
Err.Clear
Err.Raise 6    ' "오버플로" 오류를 일으킵니다.
Err.Helpfile = "yourHelp.hlp"
Err.HelpContext = yourContextID
If Err.Number <> 0 Then
   Msg = "다음 HelpContext의 " & Err.Helpfile & " 항목을 보려면" & _
   " F1키 또는 도움말을 누르십시오: " & Err.HelpContext
   MsgBox Msg, , "오류: " & Err.Description, Err.Helpfile, Err.HelpContext
End If


HelpContext 속성

HelpContext 속성
적용 대상 		언어 참조

Err 개체


HelpContext 속성

HelpContext 속성
참고 		언어 참조

Description 속성
HelpFile 속성
Number 속성
Source 속성


HelpFile 속성

HelpFile 속성 		언어 참조
버전 2

참고 적용 대상

설명
도움말 파일에 대한 완전하게 수식된 경로를 설정하거나 반환합니다.
구문
object.HelpFile [= context ID]

HelpFile 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Err 개체입니다.
context ID | 선택적인 요소. 도움말 파일에 대한 완전하게 수식된 경로입니다.

참고
HelpFile 속성에 도움말 파일을 지정한 경우, 오류 메시지 대화 상자의 도움말 단추 또는 F1키를 누르면 도움말 파일이 자동으로 호출됩니다. 지정한 파일에 대한 유효한 컨텍스트 ID가 HelpContext 속성에 있으면 해당 항목을 자동으로 나타냅니다. HelpFile 속성을 지정하지 않으면 VBScript 도움말 파일을 화면에 나타냅니다.
On Error Resume Next
Dim Msg
Err.Clear
Err.Raise 6    '"오버플로" 오류를 일으킵니다.
Err.Helpfile = "yourHelp.hlp"
Err.HelpContext = yourContextID
If Err.Number <> 0 Then
   Msg = "다음 HelpContext의 " & Err.Helpfile & " 항목을 보려면" & _
   " F1키나 도움말을 누르십시오 : " & Err.HelpContext
   MsgBox Msg, , "error: " & Err.Description, Err.Helpfile, Err.HelpContext
End If


HelpFile 속성

HelpFile 속성
적용 대상 		언어 참조

Err 개체


HelpFile 속성

HelpFile 속성
참고 		언어 참조

Description 속성
HelpContext 속성
Number 속성
Source 속성


IgnoreCase 속성

IgnoreCase 속성 		언어 참조
버전 5

참고 적용 대상

설명
패턴 일치에서 대/소문자를 구분할지 여부를 결정하는 부울값을 설정하거나 반환합니다.
구문
object.IgnoreCase [= True | False ]

object 인수는 항상 RegExp 개체입니다. 대/소문자를 구분해서 찾으면 IgnoreCase 속성값은 False, 그렇지 않으면 True입니다. 기본값은 True입니다.

참고
아래 코드는 IgnoreCase 속성의 사용 예를 보여줍니다. IgnoreCase 속성에 지정된 값을 변경하여 어떻게 변경되는지 보십시오.
Function RegExpTest(patrn, strng)
  Dim regEx					' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  RegExpTest = regEx.Execute(strng)	' 찾기를 실행합니다.
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


IgnoreCase 속성

IgnoreCase 속성
적용 대상 		언어 참조

RegExp 개체


IgnoreCase 속성

IgnoreCase 속성
참고 		언어 참조

Global 속성
Pattern 속성


IsReady 속성

IsReady 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브가 준비되었으면 True를, 그렇지 않으면 False를 반환합니다
구문
object.IsReady

object는 항상 Drive 개체입니다.

참고
IsReady 속성은 이동식 매체 드라이브와 CD-ROM 드라이브에서 해당 매체를 삽입하고 액세스할 준비가 되었을 경우에만 True를 반환합니다.

아래 코드에서는 IsReady 속성의 사용 예를 보여줍니다.

Function ShowDriveInfo(drvpath)
  Dim fso, d, s, t
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(drvpath)
  Select Case d.DriveType
    Case 0: t = "알 수 없는 종류"
    Case 1: t = "이동식"
    Case 2: t = "고정"
    Case 3: t = "네트워크"
    Case 4: t = "CD-ROM"
    Case 5: t = "RAM 디스크"
  End Select
  s = "드라이브 " & d.DriveLetter & ": - " & t
  If d.IsReady Then
    s = s & "<BR>" & "드라이브가 준비되었습니다."
  Else
    s = s & "<BR>" & "드라이브가 준비되지 않았습니다."
  End If
  ShowDriveInfo = s
End Function


IsReady 속성

IsReady 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


VolumeName 속성

IsReady 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


IsRootFolder 속성

IsRootFolder 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 폴더가 루트 폴더이면 True를, 그렇지 않으면 False를 반환합니다.
구문
object.IsRootFolder

object는 항상 Folder 개체입니다.

참고
아래 코드에서는 IsRootFolder 속성의 사용 예를 보여줍니다.
Function DisplayLevelDepth(pathspec)
  Dim fso, f, n
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(pathspec)
  If f.IsRootFolder Then
    DisplayLevelDepth = "지정한 폴더는 루트 폴더입니다."
  Else
    Do Until f.IsRootFolder
      Set f = f.ParentFolder
      n = n + 1
    Loop
    DisplayLevelDepth = "지정한 폴더는 " & n & " 개 수준으로 중첩되어 있습니다."
  End If
End Function


IsRootFolder 속성

IsRootFolder 속성
적용 대상 		Scripting 런타임 참조

Folder 개체


RootFolder 속성

IsRootFolder 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


Item 속성

Item 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에서 지정한 key의 item을 지정하거나 반환합니다. 컬렉션인 경우 지정한 key를 기준으로 하는 item을 반환합니다. 읽기/쓰기 속성입니다.
구문
object.Item(key) [= newitem]

Item 속성은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 컬렉션이나 Dictionary 개체의 이름입니다.
key | 필수적인 요소. 검색하거나 추가할 item과 연관되어 있습니다.
newitem | 선택적인 요소. Dictionary 개체에서만 사용되고 컬렉션에 대한 응용 프로그램에서는 사용되지 않습니다. newitem이 제공되는 경우 지정한 key와 연관되는 새 값이 됩니다.

참고
item을 바꿀 때 key가 없으면 지정한 newitem 요소로 새 key를 만듭니다. 기존 항목을 반환할 때 key가 없으면 새 key를 만들어 그 키의 해당 항목을 비워둡니다.

아래 예제는 Item 속성 사용법을 보여줍니다.

Function ItemDemo
  Dim d                   '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  ItemDemo = d.Item("c")  '항목을 가져옵니다.
End Function


Item 속성

Item 속성
적용 대상 		Scripting 런타임 참조

Dictionary 개체
Drives 컬렉션
Files 컬렉션
Folders 컬렉션
Matches 컬렉션


Item 속성

Item 속성
참고 		Scripting 런타임 참조

CompareMode 속성
Count 속성
Key 속성


Key 속성

Key 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
Dictionary 개체에 key를 설정합니다.
구문
object.Key(key) = newkey

Key 속성은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Dictionary 개체의 이름입니다.
key | 필수적인 요소. 바꿀 key의 값입니다.
newkey | 필수적인 요소. 지정한 key를 대신할 새로운 키 값입니다.

참고
key를 바꿀 때 그 key가 없으면 런타임 오류가 발생합니다.

아래 예제는 Key 속성 사용법을 보여줍니다.

Function DicDemo
  Dim d                   '변수를 작성합니다.
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "Athens"     '키와 항목을 추가합니다.
  d.Add "b", "Belgrade"
  d.Add "c", "Cairo"
  d.Key("c") = "d"        '"c" 키를 "d"로 설정합니다.
  DicDemo = d.Item("d")   '참고을 반환합니다.
End Function


Key 속성

Key 속성
적용 대상 		Scripting 런타임 참조

Dictionary 개체


Key 속성

Key 속성
참고 		Scripting 런타임 참조

CompareMode 속성
Count 속성
Item 속성


Length 속성

Length 속성 		언어 참조
버전 5

참고 적용 대상

설명
문자열 찾기에서 찾은 단어의 길이를 반환합니다.
구문
object.Length

object 인수는 항상 Match 개체입니다.

참고
아래 코드는 Length 속성의 사용 예를 보여줍니다.
Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 작성합니다.
  Set regEx = New RegExp			' 정규식을 작성합니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자 구분 안함을 설정합니다.
  regEx.Global = True			' 전역을 설정합니다.
  Set Matches = regEx.Execute(strng)	' 찾기를 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match " & I & " found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Length is "
    RetStr = RetStr & Match.Length
    RetStr = RetStr & " characters." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Length 속성

Length 속성
적용 대상 		언어 참조

Match 개체


Length 속성

Length 속성
참고 		언어 참조

FirstIndex 속성
Value 속성


Line 속성

Line 속성 		Scripting 런타임 참조
버전 2

참고 적용 대상

설명
TextStream 파일의 현재 줄 번호를 반환하는 읽기 전용 속성입니다.
구문
object.Line

object는 항상 TextStream 개체의 이름입니다.

참고
파일을 처음 연 다음 전혀 쓰지 않았으면 Line은 1이 됩니다.

아래 예제는 Line 속성 사용법을 보여줍니다.

Function GetLine
  Const ForReading = 1, ForWriting = 2
  Dim fso, f, ra
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "안녕하십니까?" & vbCrLf & "VBScript는 재미있습니다!" & vbCrLf
  Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
  ra =  f.ReadAll
  GetLine = f.Line
End Function


Line 속성

Line 속성
적용 대상 		Scripting 런타임 참조

TextStream 개체


Line 속성

Line 속성
참고 		Scripting 런타임 참조

AtEndOfStream 속성
AtEndOfLine 속성
Column 속성


Name 속성

Name 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더의 이름을 지정하거나 반환합니다. 읽기/쓰기 속성입니다.
구문
object.Name [= newname]

Name 속성은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 File이나 Folder 개체의 이름입니다.
newname | 선택적인 요소. newname이 제공되는 경우 이는 지정한 개체의 새 이름이 됩니다 .

참고
아래 코드에서는 Name 속성의 사용 예를 보여줍니다.
Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(f.Drive) & " 드라이브에 있는 " & f.Name  & " 파일입니다. " "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


Name 속성

Name 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Name 속성

Name 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


Number 속성

Number 속성 		언어 참조
버전 1

참고 적용 대상

설명
오류를 나타내는 숫자 값을 설정하거나 반환합니다. Number 속성은 Err 개체의 기본 속성입니다.
구문
object.Number [= errornumber]

Number 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 항상 Err 개체입니다.
errornumber | VBScript 오류 번호 또는 SCODE 오류 값을 나타내는 정수입니다.

참고
자동화 개체에서 사용자 정의 오류를 반환할 경우에는 선택한 오류 코드 번호를 vbObjectError 상수에 추가하여 Err.Number 속성을 설정하면 됩니다.

아래 코드는 Number 속성 사용의 예를 보여줍니다.

On Error Resume Next
Err.Raise vbObjectError + 1, "SomeObject" ' 개체 오류 #1을 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    ' 오류를 지웁니다.


Number 속성

Number 속성
적용 대상 		언어 참조

Err 개체


Number 속성

Number 속성
참고 		언어 참조

Description 속성
Err 개체
HelpContext 속성
HelpFile 속성
Source 속성
오류 메시지


ParentFolder 속성

ParentFolder 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일이나 폴더의 부모 폴더 개체를 반환합니다. 읽기 전용 속성입니다.
구문
object.ParentFolder

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 ParentFolder 속성의 사용 예를 보여줍니다.
Function ShowFileAccessInfo(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(f.Name) & " in " & UCase(f.ParentFolder) & "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


ParentFolder 속성

ParentFolder 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


ParentFolder 속성

ParentFolder 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


Path 속성

Path 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 파일, 폴더 또는 드라이브의 경로를 반환합니다.
구문
object.Path

object는 항상 File, Folder 또는 Drive 개체입니다.

참고
루트 드라이브는 드라이브 문자에 포함되지 않습니다. 예를 들어 C 드라이브의 경로는 C:\가 아니라 C:입니다.

아래 코드에서는 File 개체에 의한 Path 속성의 사용 예를 보여줍니다.

Function ShowFileAccessInfo(filespec)
  Dim fso, d, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(f.Path) & "<BR>"
  s = s & "만든 날짜: " & f.DateCreated & "<BR>"
  s = s & "마지막으로 액세스한 날짜: " & f.DateLastAccessed & "<BR>"
  s = s & "마지막으로 수정한 날짜: " & f.DateLastModified
  ShowFileAccessInfo = s
End Function


Path 속성

Path 속성
적용 대상 		Scripting 런타임 참조

Drive 개체
File 개체
Folder 개체


Path 속성

Path 속성
참고 		Scripting 런타임 참조

Attributes 속성
AvailableSpace 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
DriveLetter 속성
DriveType 속성
Files 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성
TotalSize 속성
Type 속성
VolumeName 속성


Pattern 속성

Pattern 속성 		언어 참조
버전 5

참고 적용 대상

설명
검색할 정규식 패턴을 설정하거나 반환합니다.
구문
object.Pattern [= "searchstring"]

Pattern 속성 구문은 아래 요소로 가집니다.

구성 요소 | 설명
object | 필수적인 인수. 항상 RegExp 개체 변수입니다.
searchstring | 선택적인 인수. 검색할 정규 문자식. 아래 설정 부분의 표에 정의된 정규식 문자를 포함합니다.

설정
특수 문자 및 시퀀스는 정규식의 패턴을 작성하는데 사용됩니다. 아래 표는 사용할 수 있는 문자 및 시퀀스에 대한 설명과 예제입니다.

문자 | 설명
\ 다음에 나오는 문자가 특수 문자나 리터럴임을 나타냅니다. 예를 들어, "n"은 문자 "n"과 일치하고 "\n"은 줄 바꿈 문자와 일치합니다. 시퀀스 "\\"는 "\"와 일치하고 "\("는 "("과 일치합니다.
^ 입력의 처음과 일치합니다.
$ 입력의 마지막과 일치합니다.
* 0개 이상의 선행 문자와 일치합니다. 예를 들어, "zo*"는 "z" 또는 "zoo"와 일치합니다.
+ 한 개 이상의 선행 문자와 일치합니다. 예를 들어, "zo+"는 "zoo"와는 일치하지만 "z"와는 일치하지 않습니다.
? 0개 또는 한 개의 선행 문자와 일치합니다. 예를 들어, "a?ve?"는 "never"의 "ve"와 일치합니다.
. 줄 바꿈 문자를 제외한 모든 단일 문자와 일치합니다.
(pattern) | pattern과 일치하고 그 내용을 기억합니다. 일치하는 부분 문자열은 항목 [0]...[n]을 이용하여 결과 Matches 컬렉션에서 검색할 수 있습니다. 괄호 문자 ()는 "\(" 또는 "\)"를 사용합니다.
x|y | x 또는 y와 일치합니다. 예를 들어, "z|food"는 "z" 또는 "food"와 일치합니다. "(z|f)ood"는 "zoo" 또는 "food"와 일치합니다.
{n} | n은 음이 아닌 정수입니다. 정확히 n번 일치합니다. 예를 들어, "o{2}"는 "Bob"의 "o"와 일치하지 않지만 "foooood"의 처음 두 개의 문자 "o"와 일치합니다.
{n,} | n은 음이 아닌 정수입니다. 최소 n번 일치합니다. 예를 들어, "o{2,}"는 "Bob"의 "o"와 일치하지 않지만 "foooood"의 모든 "o"와 일치합니다. "o{1,}"은 "o+"와 같습니다. "o{0,}"는 "o*"와 같습니다.
{n,m} | m과 n은 음이 아닌 정수입니다. 최소 n번, 최대 m번 일치합니다. 예를 들어, "o{1,3}"은 "fooooood"의 처음 세 개의 문자 "o"와 일치합니다. "o{0,1}"은 "o?"와 같습니다.
[xyz] | 괄호 안의 문자 중 하나와 일치합니다. 예를 들어, "[abc]"는 "plain"의 "a"와 일치합니다.
[^xyz] | 괄호 안에 없는 문자 중 하나와 일치합니다. 예를 들어, "[^abc]"는 "plain"의 "p"와 일치합니다.
[a-z] | 지정된 범위 안의 문자와 일치합니다. 예를 들어, "[a-z]"는 "a"부터 "z" 범위 안의 알파벳 소문자와 일치합니다.
[^m-z] | 지정된 범위를 제외한 문자와 일치합니다. 예를 들어, "[^m-z]"는 "m"부터 "z" 범위 밖에 있는 문자와 일치합니다.
\b | 경계선에 있는 단어와 일치합니다. 즉, 단어와 공백 사이의 위치를 말합니다. 예를 들어, "er\b"는 "never"의 "er"과 일치하지만 "verb"의 "er"과는 일치하지 않습니다.
\B | 경계선에 있지 않은 단어와 일치합니다. "ea*r\B"는 "never early"의 "ear"와 일치합니다.
\d | 숫자와 일치합니다. [0-9]와 같습니다.
\D | 숫자가 아닌 문자와 일치합니다. [^0-9]와 같습니다.
\f | 폼 피드 문자와 일치합니다.
\n | 줄 바꿈 문자와 일치합니다.
\r | 캐리지 리턴 문자와 일치합니다.
\s | 공백, 탭, 폼 피드 등을 포함한 공백 문자와 일치합니다. "[ \f\n\r\t\v]"와 같습니다.
\S | 비 공백 문자와 일치합니다. "[^ \f\n\r\t\v]"와 같습니다.
\t | 탭 문자와 일치합니다.
\v | 수직 탭 문자와 일치합니다.
\w | 밑줄을 포함한 일반 문자와 일치합니다. "[A-Za-z0-9_]"와 같습니다.
\W | 일반 문자를 제외한 문자와 일치합니다. "[^A-Za-z0-9_]"와 같습니다.
\num | num과 일치하며 여기서 num은 양의 정수입니다. 이전에 일치한 패턴을 다시 참조합니다. 예를 들어, "(.)\1"은 연속되는 두 개의 동일한 문자와 일치합니다.
\n | n과 일치하며 여기서 n은 8진수 제어 값입니다. 8진수 제어 값의 자리수는 세 자리 이하여야 합니다. 예를 들어, "\11"과 "\011"은 모두 탭 문자와 일치합니다. "\0011"은 "\001" 및 "1"과 같습니다. 8진수 제어 값은 256을 초과하면 안됩니다. 초과할 경우 처음 두 자리만 식에서 사용됩니다. 정규식에 ASCII 코드를 사용할 수 있습니다.
\x n | n과 일치하며 여기서 n은 16진수 제어 값입니다. 16진수 제어 값의 자리수는 반드시 두 자리여야 합니다. 예를 들어, "\x41"은 "A"와 일치합니다. "\x041"은 "\x04" & "1"과 같습니다. 정규식에 ASCII 코드를 사용할 수 있습니다.

메모
아래 코드는 Pattern 속성을 사용한 예입니다.
Function RegExpTest(patrn, strng)
  Dim regEx					' 변수를 만듭니다.
  Set regEx = New RegExp			' 정규식을 만듭니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자를 구분하지 않도록 설정합니다.
  RegExpTest = regEx.Execute(strng)	' 검색을 실행합니다.
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Pattern 속성

Pattern 속성
적용 대상 		언어 참조

RegExp 개체


Pattern 속성

Pattern 속성
참고 		언어 참조

Global 속성
IgnoreCase 속성


RootFolder 속성

RootFolder 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브의 루트 폴더를 나타내는 Folder 개체를 반환합니다. 읽기 전용 속성입니다.
구문
object.RootFolder

object는 항상 Drive 개체입니다.

참고
반환되는 Folder 개체를 사용하여 드라이브에 들어 있는 모든 파일과 폴더를 액세스할 수 있습니다.

아래 예제는 RootFolder 속성 사용법을 보여줍니다.

Function ShowRootFolder(drvspec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetDrive(drvspec)
  ShowRootFolder = f.RootFolder
End Function


RootFolder 속성

RootFolder 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


RootFolder 속성

RootFolder 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


SerialNumber 속성

SerialNumber 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
디스크 볼륨을 고유하게 식별하는 데 사용하는 십진 일련 번호를 반환합니다.
구문
object.SerialNumber

object는 항상 Drive 개체입니다.

참고
SerialNumber 속성을 사용하여 이동식 매체를 가지고 있는 드라이브에 올바른 디스크가 삽입되었는지를 확인할 수 있습니다.

아래 코드에서는 SerialNumber 속성의 사용 예를 보여줍니다.

Function ShowDriveInfo(drvpath)
  Dim fso, d, s, t
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
  Select Case d.DriveType
    Case 0: t = "알 수 없는 종류"
    Case 1: t = "이동식"
    Case 2: t = "고정"
    Case 3: t = "네트워크"
    Case 4: t = "CD-ROM"
    Case 5: t = "RAM 디스크"
  End Select
  s = "드라이브 " & d.DriveLetter & ": - " & t
  s = s & "<BR>" & "SN: " & d.SerialNumber
  ShowDriveInfo = s
End Function


SerialNumber 속성

SerialNumber 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


SerialNumber 속성

SerialNumber 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
ShareName 속성
TotalSize 속성
VolumeName 속성


ShareName 속성

ShareName 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브의 네트워크 공유 이름을 반환합니다.
구문
object.ShareName

object는 항상 Drive 개체입니다.

참고
object가 네트워크 드라이브가 아니면 ShareName 속성은 길이가 0인 문자열("")을 반환합니다.

아래 코드에서는 ShareName 속성의 사용 예를 보여줍니다.

Function ShowDriveInfo(drvpath)
  Dim fso, d
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
  ShowDriveInfo = "드라이브 " & d.DriveLetter & ": - " & d.ShareName
End Function


ShareName 속성

ShareName 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


ShareName 속성

ShareName 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
TotalSize 속성
VolumeName 속성


ShortName 속성

ShortName 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
이전 8.3 명명 규칙을 요구하는 프로그램에서 사용하는 짧은 이름을 반환합니다.
구문
object.ShortName

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 File 개체에 의한 ShortName 속성의 사용 예를 보여줍니다.
Function ShowShortName(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = & UCase(f.Name) & "의 짧은 이름: " "<BR>"
  s = s & f.ShortName
  ShowShortName = s
End Function


ShortName 속성

ShortName 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


ShortName 속성

ShortName 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortPath 속성
Size 속성
SubFolders 속성
Type 속성


ShortPath 속성

ShortPath 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
이전 8.3 파일 명명 규칙을 요구하는 프로그램에서 사용하는 짧은 경로를 반환합니다.
구문
object.ShortPath

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 File 개체에 의한 ShortPath 속성의 사용 예를 보여줍니다.
Function ShowShortPath(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = UCase(f.Name) & "의 짧은 경로: " & "<BR>"
  s = s & f.ShortPath
  ShowShortPath = s
End Function


ShortPath 속성

ShortPath 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


ShortPath 속성

ShortPath 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
Size 속성
SubFolders 속성
Type 속성


Size 속성

Size 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
파일인 경우 지정한 파일 크기를 바이트 단위로 반환하고, 폴더인 경우 해당 폴더의 모든 파일과 하위 폴더의 크기를 바이트 단위로 반환합니다.
구문
object.Size

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 Folder 개체에 의한 Size 속성의 사용 예를 보여줍니다.
Function ShowFolderSize(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(filespec)
  s = UCase(f.Name) & "은(는) " & f.size & " 바이트를 사용합니다."
  ShowFolderSize = s
End Function


Size 속성

Size 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Size 속성

Size 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
SubFolders 속성
Type 속성


Source 속성

Source 속성 		언어 참조
버전 1

참고 적용 대상

설명
오류가 처음 발생한 개체나 응용 프로그램의 이름을 설정하거나 반환합니다.
구문
object.Source [= stringexpression]

Source 속성 구문은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 항상 Err 개체입니다.
stringexpression | 오류가 발생한 응용 프로그램을 나타내는 문자식입니다.

참고
Source 속성은 대개 오류가 발생한 개체의 클래스 이름이나 프로그램 ID인 문자식입니다. 액세스한 개체에 발생한 오류를 코드에서 처리할 수 없을 경우 Souce 속성을 사용하여 사용자에게 정보를 제공합니다. 예를 들어 Microsoft Excel에 액세스하여 Division by zero 오류가 발생하면 Microsoft Excel은 Err.Number 속성을 해당 오류 코드로, Source 속성을 Excel.Application 개체에 지정합니다. Microsoft Excel에서 호출한 또 다른 객체에서 오류가 발생하면 Microsoft Excel은 해당 오류를 가로채어 Err.Number 속성을 Division by zero 오류의 코드로 지정합니다.그러나 Source 속성을 포함한 다른 Err 개체는 오류가 발생한 개체에서 지정한 대로 그대로 남아 있습니다.

Source 속성에는 항상 오류가 처음 발생한 개체의 이름이 있으며, 액세스한 개체의 오류 설명서의 지시에 따라 사용자 코드로 해당 오류를 처리할 수 있습니다. 오류 처리기에서 처리할 수 없으면 Err 개체 정보를 사용하여 사용자에게 오류를 설명할 수 있습니다. Source 속성과 다른 Err 개체를 사용하면 오류가 처음 발생한 개체, 해당 오류의 설명 등을 사용자에게 알릴 수 있습니다.

코드에서 오류가 발생할 경우 Source 속성은 응용 프로그램의 프로그램 ID입니다.

아래 예제는 Source 속성 사용법을 보여줍니다.

On Error Resume Next
Err.Raise 6  '오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & Err.Source)
Err.Clear    '오류를 지웁니다.


Source 속성

Source 속성
적용 대상 		언어 참조

Err 개체


Source 속성

Source 속성
참고 		언어 참조

Description 속성
Err 개체
HelpContext 속성
HelpFile 속성
Number 속성
On Error 문


SubFolders 속성

SubFolders 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
숨겨진 파일 속성과 시스템 파일 속성으로 지정된 폴더를 포함하여 지정한 폴더의 모든 폴더 개체들로 구성된 Folders 컬렉션을 반환합니다.
구문
object.SubFolders

object는 항상 Folder 개체입니다.

참고
아래 코드에서는 SubFolders 속성의 사용 예를 보여줍니다.
Function ShowFolderList(folderspec)
  Dim fso, f, f1, s, sf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set sf = f.SubFolders
  For Each f1 in sf
    s = s & f1.name
    s = s & "<BR>"
  Next
  ShowFolderList = s
End Function


SubFolders 속성

SubFolders 속성
적용 대상 		Scripting 런타임 참조

Folder 개체


SubFolders 속성

SubFolders 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
Type 속성


TotalSize 속성

TotalSize 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
드라이브나 네트워크 공유의 전체 공간을 바이트 단위로 반환합니다.
구문
object.TotalSize

object는 항상 Drive 개체입니다.

참고
아래 코드에서는 TotalSize 속성의 사용 예를 보여줍니다.
Function ShowSpaceInfo(drvpath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
  s = "드라이브 " & d.DriveLetter & ":"
  s = s & vbCrLf
  s = s & "전체 크기: " & FormatNumber(d.TotalSize/1024, 0) & " KB"
  s = s & vbCrLf
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.AvailableSpace/1024, 0) & " KB"
  ShowSpaceInfo = s
End Function


TotalSize 속성

TotalSize 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


TotalSize 속성

TotalSize 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
VolumeName 속성


Type 속성

Type 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
파일이나 폴더의 형식에 관한 정보를 반환합니다. 예를 들어 .TXT로 끝나는 파일인 경우 "텍스트 문서"를 반환합니다.
구문
object.Type

object는 항상 File이나 Folder 개체입니다.

참고
아래 코드에서는 Type 속성을 사용하여 폴더 형식을 반환하는 예를 보여줍니다. 이 예제에서는 휴지통이나 기타 고유 폴더의 경로를 프로시저에 제공합니다.
Function ShowFolderType(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(filespec)
  s = UCase(f.Name) & "은(는) " & f.Type & " 형식입니다."
  ShowFolderType = s
End Function


Type 속성

Type 속성
적용 대상 		Scripting 런타임 참조

File 개체
Folder 개체


Type 속성

Type 속성
참고 		Scripting 런타임 참조

Attributes 속성
DateCreated 속성
DateLastAccessed 속성
DateLastModified 속성
Drive 속성
Files 속성
IsRootFolder 속성
Name 속성
ParentFolder 속성
Path 속성
ShortName 속성
ShortPath 속성
Size 속성
SubFolders 속성


Value 속성

Value 속성 		언어 참조
버전 5

참고 적용

설명
검색 문자열에서 찾은 일치하는 값이나 문자열을 반환합니다.
구문
object.Value

object 인수는 항상 Match 개체입니다.

참고
아래 코드는 Value 속성을 사용한 예입니다.
Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches		' 변수를 만듭니다.
  Set regEx = New RegExp			' 정규식을 만듭니다.
  regEx.Pattern = patrn			' 패턴을 설정합니다.
  regEx.IgnoreCase = True			' 대/소문자를 구분하지 않도록 설정합니다.
  regEx.Global = True			' 전역으로 설정합니다.
  Set Matches = regEx.Execute(strng)	' 검색을 실행합니다.
  For Each Match in Matches		' Matches 컬렉션을 반복합니다.
    RetStr = RetStr & "Match " & I & " found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is "'
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))


Value 속성

Value 속성
적용 대상 		언어 참조

Match 개체


Value 속성

Value 속성
참고 		언어 참조

FirstIndex 속성
Length 속성


VolumeName 속성

VolumeName 속성 		Scripting 런타임 참조
버전 3

참고 적용 대상

설명
지정한 드라이브의 볼륨 이름을 지정하거나 반환합니다. 읽기/쓰기 속성입니다.
구문
object.VolumeName [= newname]

VolumeName 속성은 아래 요소로 구성됩니다.

구성 요소 | 설명
object | 필수적인 요소. 항상 Drive 개체입니다.
newname | 선택적인 요소. newname이 제공되는 경우 이는 지정한 object의 새 이름입니다.

참고
아래 코드에서는 VolumeName 속성의 사용 예를 보여줍니다.
Function ShowVolumeInfo(drvpath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
  s = "드라이브 " & d.DriveLetter & ": - " & d.VolumeName
  ShowVolumeInfo = s
End Function


VolumeName 속성

VolumeName 속성
적용 대상 		Scripting 런타임 참조

Drive 개체


VolumeName 속성

VolumeName 속성
참고 		Scripting 런타임 참조

AvailableSpace 속성
DriveLetter 속성
DriveType 속성
FileSystem 속성
FreeSpace 속성
IsReady 속성
Path 속성
RootFolder 속성
SerialNumber 속성
ShareName 속성
TotalSize 속성


Call 문

Call 문 		언어 참조
버전 1

설명
Sub 프로시저 또는 Function 프로시저에 제어를 전송합니다.
구문
[Call] name [argumentlist]

Call문은 아래 요소로 구성됩니다.

구성 요소 | 설명
Call 선택적인 키워드. 지정할 경우 argumentlist를 괄호로 묶어야 합니다. 사용 예는 아래와 같습니다.

Call MyProc(0)

name | 필수적인 요소. 호출할 프로시저의 이름입니다.
argumentlist | 선택적인 요소. 프로시저에 전달할 쉼표로 구분한 변수, 배열 또는 식 목록입니다.

참고
프로시저를 호출할 때에는 Call 키워드를 사용할 필요가 없지만, 인수가 필요한 프로시저를 호출하기 위해 Call 키워드를 사용하려면 argumentlist를 묶는 괄호로 묶어야 합니다. 그러나 Call 키워드를 생략하면 argumentlist를 묶는 괄호는 생략해야 합니다. Call 구문을 사용하여 내부 함수나 사용자 정의 함수를 호출하면, 그 함수의 결과 값을 폐기합니다.
Call MyFunction("안녕하십니까?")

Function MyFunction(text)
    MsgBox text
End Function


Class 문

Class 문 		언어 참조
버전 5

참고

설명
클래스를 구성하는 변수, 속성, 메서드를 정의하고 클래스 이름을 선언합니다.
구문
Class name
statements
End Class

Class 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
name | 필수적인 인수. 클래스 이름. 표준 변수 명명 규칙을 따릅니다.
statements | 필수적인 인수. Class의 변수, 속성 및 메서드를 정의하는 하나 이상의 문

참고
Class 블록 내의 구성원은 적당한 선언문을 이용하여 Private 또는 Public으로 선언합니다. Private으로 선언되면 Class 블록 내에서만 참조할 수 있습니다. Public으로 선언되면 Class 내에서 뿐만 아니라 외부에 있는 코드에서도 참조할 수 있습니다. Private이나 Public과 같이 명시적으로 선언되지 않으면 기본 선언은 Public입니다. 클래스 블록 내에서 Public으로 선언된 프로시저(Sub 또는 Function)는 클래스의 메서드가 됩니다. Public 변수는 Property Get, Property Let 및 Property Set을 이용하여 명시적으로 선언된 속성과 마찬가지로 클래스의 속성으로 사용됩니다. 클래스의 기본 속성 및 메서드는 Default 키워드를 사용하여 선언 시에 지정됩니다. 키워드의 사용법에 대한 자세한 내용은 개별 선언문 항목을 참조하십시오.


Class 문

Class 문
참고 		언어 참조

Dim 문
Function 문
Private 문
Property Get 문
Property Let 문
Property Set 문
Public 문
Set 문
Sub 문


Const 문

Const 문 		언어 참조
버전 2

참고

설명
리터럴 값을 대신할 상수를 선언합니다.
구문
[Public | Private] Const constname = expression

Const 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
Public | 선택적인 요소. 모든 스크립트의 모든 프로시저에서 사용될 수 있는 상수를 선언하는 스크립트 수준에서 사용하는 키워드입니다. 프로시저 안에서는 사용할 수 없습니다.
Private | 선택적인 요소. 상수가 선언된 스크립트 안에서만 사용될 수 있는 상수를 선언하는 스크립트 수준에서 사용하는 키워드입니다. 프로시저 안에서는 사용할 수 없습니다.
constname | 필수적인 요소. 일반 변수 명명 규칙을 따르는 상수의 이름입니다.
expression | 필수적인 요소. 리터럴, 다른 상수 또는 Is를 제외한 모든 산술 연산자와 논리 연산자를 포함하는 조합입니다.

참고
기본적으로 상수는 public입니다. 상수는 항상 프로시저 안에서 private이므로 상수의 표시 상태를 바꿀 수 없지만, 스크립트 안에 있는 스크립트 수준 상수의 기본 표시 상태는 Private 키워드를 사용하여 바꿀 수 있습니다.

한 줄에 여러 상수를 선언하려면 쉼표로 각 상수의 지정을 구분합니다. 상수를 이런 방법으로 선언한 경우 Public 또는 Private 키워드를 사용할 때 그 키워드는 선언된 상수에 모두 적용됩니다.

변수, 사용자 정의 함수 또는 Char 함수와 같은 VBScript 내부 함수는 그 정의에 따라 상수가 될 수 없으므로 상수 선언에 사용할 수 없습니다. 또한 연산자를 포함하는 식으로는 상수를 만들 수 없습니다. 즉 단순 상수만 사용할 수 있습니다. Sub 또는 Function 프로시저에 선언된 상수는 해당 프로시저에서만 사용할 수 있고, 프로시저 밖에서 선언된 상수는 그 상수가 선언되는 모든 스크립트에서 정의됩니다. 식을 사용할 수 있는 곳이면 어디든지 상수를 사용할 수 있습니다. 아래 코드는 Const 문의 사용 예를 보여줍니다.

Const MyVar = 459			        ' 기본적으로 상수는 Public입니다.

Private Const MyString = "HELP"			' Private 상수를 선언합니다.

Const MyStr = "Hello", MyNumber  = 3.4567	' 같은 줄에 여러 상수를 선언합니다.
메모 상수는 스크립트를 자동 문서로 작성되도록 하며 쉽게 수정할 수 있도록 합니다. 스크립트를 실행하는 동안 상수는 변수와는 달리 우연하게 바뀔 수 없습니다.


Const 문

Const 문
참고 		언어 참조

Dim 문
Function 문
Private 문
Public 문
Sub 문


Dim 문

Dim 문 		언어 참조
버전 1

참고

설명
변수를 선언하고 저장 공간을 할당합니다.
구문
Dim varname[([subscripts])][, varname[([subscripts])]] . . .

Dim 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
varname | 변수 이름. 일반 변수 명명 규칙을 따릅니다.
subscripts 배열 변수의 차원. 60개까지의 차원을 선언할 수 있습니다. subscripts 요소의 구문은 아래와 같습니다.

upperbound [,upperbound] . . .

배열의 하한값은 항상 0입니다.

참고
스크립트 수준에서 Dim으로 선언된 변수는 해당 스크립트에 있는 모든 프로시저에서 사용할 수 있고, 프로시저 수준의 변수는 해당 프로시저 안에서만 사용할 수 있습니다.

Dim 문을 빈 괄호와 함께 사용하여 동적 배열을 선언할 수도 있습니다. 동적 배열을 선언한 다음 프로시저에서 ReDim 문을 사용하여 배열의 차원과 요소를 정의합니다. 그 크기를 Dim 문에 명시적으로 지정한 크기를 갖는 경우 이 배열 변수의 차원을 다시 선언하면 오류가 발생합니다.

팁 Dim 문을 프로시저에서 사용하는 경우 대개 Dim 문을 프로시저 시작 부분에 놓습니다.

아래 예제는 Dim 문 사용법을 보여줍니다.

Dim Names(9)     ' 10 개의 요소로 배열을 선언합니다.
Dim Names()      ' 동적 배열을 선언합니다.
Dim MyVar, MyNum ' 두 개의 변수를 선언합니다.


Dim 문

Dim 문
참고 		언어 참조

Private 문
Public 문
ReDim 문
Set 문


Do...Loop 문

Do...Loop 문 		언어 참조
버전 1

참고

설명
조건문이 True이거나 True가 될 때까지 블록문을 반복하여 실행합니다.
구문
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop

또는 아래 구문도 사용합니다.

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]

Do...Loop 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
condition | 값이 True 또는 False인 수식이나 문자식입니다. condition이 Null인 경우 False로 취급합니다.
statements | condition이 True이거나 True가 될 때까지 반복해서 실행되는 하나 이상의 문입니다.

참고
Exit Do 문은 Do...Loop 문을 빠져 나가는 방법을 제공하기 위해 Do...Loop 제어 구조 안에서만 사용할 수 있습니다. 여러 개의 Exit Do 문을 Do...Loop 문 안의 아무 곳에 둘 수 있습니다. If...Then과 같은 조건문의 계산을 자주 수행할 경우, Exit Do 문은 Loop 문 바로 뒤에 오는 문에 제어를 전송합니다.

Exit Do 문이 중첩된 Do...Loop 문에 사용되면 이 문은 해당 루프의 한 단계 위에 있는 중첩된 루프에 제어를 전송합니다.

아래 예제는 Do...Loop 문 사용법을 보여줍니다.

Do Until DefResp = vbNo
  MyNum = Int (6 * Rnd + 1)  ' 1에서 6까지 무작위 정수를 생성합니다.
  DefResp = MsgBox (MyNum & ". 다른 수를 원하십니까?", vbYesNo)
Loop

Dim Check, Counter
Check = True: Counter = 0   ' 변수를 초기화합니다.
Do                          ' 외부 루프
  Do While Counter < 20     ' 내부 루프
    Counter = Counter + 1   ' Counter를 증가시킵니다..
    If Counter = 10 Then    ' 조건문이 True이면...
      Check = False         ' 플래그 값을  False로 설정합니다.
      Exit Do               ' 내부 루프를 종료합니다.
    End If
  Loop
Loop Until Check = False    ' 외부 루프를 즉시 종료합니다.


Do...Loop 문

Do...Loop 문
참고 		언어 참조

Exit 문
For...Next 문
While...Wend 문


Erase 문

Erase 문 		언어 참조
버전 1

참고

설명
고정 크기 배열의 요소를 다시 초기화하여 동적 배열 저장 공간을 반납합니다.
구문
Erase array

array 요소는 저장 공간을 반납할 배열 변수의 이름입니다.

참고
Erase 문은 배열 형식에 따라 다르게 작동하므로 일반적인 고정 크기 배열인지 또는 동적 배열인지를 확인해야 하며, 고정 크기 배열의 메모리는 복구하지 않습니다. Erase 문은 고정 배열의 요소를 아래와 같이 설정합니다.

배열 형식 | 고정 배열의 요소에 대한 Erase 문의 결과
고정 숫자 배열 | 각 요소를 0으로 설정합니다.
고정 문자열 배열 | 각 요소를 길이가 0인 문자열("")로 설정합니다.
개체 배열 | 각 요소를 특수한 값인 Nothing으로 설정합니다.

Erase 문은 동적 배열에서 사용한 메모리를 비웁니다. 프로그램에서 동적 배열을 다시 참조하기 전에 ReDim 문을 사용하여 배열 변수의 차원을 다시 선언해야 합니다.

아래 예제는 Erase 문을 사용법을 보여줍니다.

Dim NumArray(9)
Dim DynamicArray()
ReDim DynamicArray(9)  ' 저장 공간을 할당합니다.
Erase NumArray         ' 각 요소가 다시 초기화됩니다.
Erase DynamicArray     ' 배열에서 사용한 빈 메모리입니다.


Erase 문

Erase 문
참고 		언어 참조

Dim 문
Nothing
ReDim 문


Execute 문

Execute 문 		언어 참조
버전 5

참고

설명
하나 이상의 지정된 문을 실행합니다.
구문
Execute statement

필요한 statement 인수는 하나 이상의 실행문을 포함한 문자식입니다. 문장을 구분하는 콜론이나 내장 줄바꿈을 사용하여 statement 인수에 다중문을 포함할 수 있습니다.

참고
VBScript에서는 x = y가 두 가지 방법으로 해석될 수 있습니다. 첫째는 지정문인 경우로서 y 값이 x에 지정됩니다. 둘째는 x와 y가 동일한 값을 가지고 있는지 검사하는 식입니다. 이 경우에 result는 True이며, 그렇지 않은 경우 result는 False입니다. Eval 메서드에서는 항상 둘째 방법을 사용하지만, Execute 문은 첫째 방법을 사용합니다.

메모 Microsoft® JScript®에서는 지정 연산자(=)가 비교 연산자(==)와 다르기 때문에 혼동을 일으킬 염려가 없습니다.

Execute 문을 실행하는 컨텍스트는 코드를 실행하는데 사용할 수 있는 개체와 변수를 결정합니다. 내부 범위 개체 및 변수는 Execute 문에서 코드를 실행하는데 사용할 수 있습니다. 그러나 프로시저를 생성하는 코드를 실행하는 경우 해당 프로시저가 생성한 프로시저의 범위를 상속받지 않는다는 사실을 알아야 합니다.

일반 프로시저와 마찬가지로, 새로운 프로시저의 범위는 전역이며 전역 범위의 모든 것을 상속받습니다. 다른 프로시저와는 달리 이 프로시저의 컨텍스트는 전역이 아니기 때문에 Execute 문이 생성한 프로시저의 컨텍스트에서만 실행됩니다. 그러나 동일한 Execute 문이 전역 범위와 같이 프로시저의 외부에서 호출되는 경우에는 컨텍스트가 전역이기 때문에 전역 범위의 모든 것을 상속받을 뿐만 아니라 어느 곳에서든 호출할 수 있습니다. 다음은 이러한 경우에 대한 예입니다.

Dim X			' X를 전역 범위로 선언합니다.
X = "Global"		' X 값을 전역 범위로 지정합니다.
Sub Proc1	' 프로시저를 선언합니다.
  Dim X		' X를 지역 범위로 선언합니다.
  X = "Local"	' X 값을 지역 범위로 할당합니다.
            ' Execute 문이 실행되면 여기에서
            ' 프로시저를 만들고 X를 출력합니다.
            ' Proc2는 전역 범위의 모든 것을 상속받기
            ' 때문에 전역 범위 X를 출력합니다.
  Execute "Sub Proc2: Print X: End Sub"
  Print Eval("X")	' 지역 범위 X를 출력합니다.
  Proc2		' Proc1의 범위에서 Proc2를 호출합니다.
End Sub
Proc2			' Proc2는 Proc1의 외부에서 사용할 수 없으므로
            ' 이 줄에서 오류가 발생합니다.
Proc1			' Proc1을 호출합니다.
  Execute "Sub Proc2: Print X: End Sub"
Proc2			' 이제 Proc2를 전역으로 사용할 수 있으므로
            ' 이 호출은 올바로 동작합니다.
아래 코드는 Execute 문을 다시 작성하여 전체 프로시저를 큰따옴표로 묶지 않고도 실행하는 방법에 대한 예입니다.

S = "Sub Proc2" & vbCrLf
S = S & "  Print X" & vbCrLf
S = S & "End Sub"
Execute S


Execute 문

Execute 문
참고 		언어 참조

Eval 함수


Exit 문

Exit 문 		언어 참조
버전 1

참고

설명
Do...Loop, For...Next, Function 또는 Sub 코드의 블록을 빠져 나갑니다.
구문
Exit Do

Exit For

Exit Function

Exit Property

Exit Sub

Exit 문은 아래 요소로 구성됩니다.

문 | 설명
Exit Do | Do...Loop 문을 빠져 나가는 방법을 제공하기 위해 Do...Loop 문 안에서만 사용할 수 있습니다. Exit Do 문은 Loop 문 바로 뒤에 오는 문에 제어를 전송합니다. Exit Do 문이 중첩된 Do...Loop 문에 사용되면 이 문은 해당 루프의 한 단계 위에 있는 중첩된 루프에 제어를 전송합니다.
Exit For | For 루프를 빠져 나가는 방법을 제공하기 위해 For...Next 또는 For Each...Next 루프 안에서만 사용할 수 있습니다. Exit For 문은 Next 문 바로 뒤에 오는 문에 제어를 전송합니다. Exit For 문이 중첩된 For 루프에 사용되면 이 문은 해당 루프의 한 단계 위에 중첩된 루프에 제어를 전송합니다.
Exit Function | 해당 Function 프로시저를 빠져 나갑니다. 그런 다음 이 Function 프로시저들을 호출한 문 바로 뒤에 있는 문으로 계속 실행됩니다.
Exit Property | 해당 Property 프로시저를 빠져 나갑니다. 그런 다음 이 Property 프로시저를 호출한 문 바로 뒤에 있는 문으로 계속 실행됩니다.
Exit Sub | 해당 Sub 프로시저를 빠져 나갑니다. 그런 다음 이 Sub 프로시저를 호출한 문 바로 뒤에 있는 문으로 계속 실행됩니다.

아래 예제는 Exit 문 사용법을 보여줍니다.

Sub RandomLoop
  Dim I, MyNum
  Do                           ' 무한 루프를 설정합니다.
    For I = 1 To 1000          ' 1000회 반복합니다.
      MyNum = Int(Rnd * 100)   ' 난수를 생성합니다.
      Select Case MyNum        ' 난수를 평가합니다.
        Case 17: MsgBox "17인 경우"
          Exit For             ' 17이면 For...Next 문을 종료합니다.
        Case 29: MsgBox "29인 경우"
          Exit Do              ' 29이면 Do...Loop 문을 종료합니다.
        Case 54: MsgBox "54인 경우"
          Exit Sub             ' 54이면 Sub 프로시저를 종료합니다.
        End Select
    Next
  Loop
End Sub


Exit 문

Exit 문
참고 		언어 참조

Do...Loop 문
For Each...Next 문
For...Next 문
Function 문
Sub 문


For...Next 문

For...Next 문 		언어 참조
버전 1

참고

설명
지정한 횟수만큼 문 그룹을 반복하여 실행합니다.
구문
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next

For...Next 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
counter | 루프 카운터로 사용되는 숫자 변수입니다. 이 변수는 배열 요소 또는 사용자 정의 형식의 요소가 될 수 없습니다.
start | counter의 초기값입니다.
end | counter의 최종값입니다.
step | 루프를 반복할 때마다 매번 바뀌는 counter의 합계입니다. 지정하지 않으면 step의 기본값은 1이 됩니다.
statements | 지정한 횟수만큼 반복해서 실행되는 For와 Next 사이에 있는 하나 이상의 문입니다.

참고
step 요소는 양수 또는 음수가 될 수 있습니다. step 요소는 아래와 같이 루프 처리를 결정합니다.

값 | 루프를 실행하는 경우
양수 또는 0 | counter <= end
음수 | counter >= end

일단 루프를 시작하고 해당 루프의 모든 문을 실행하였으면 counter에 step를 더합니다. 이 때 처음 루프를 실행시킨 것과 동일한 검사를 수행하여 루프의 문을 다시 실행하거나 루프를 빠져 나와 Next 문 바로 뒤에 있는 문으로 계속 실행됩니다.

팁 루프를 반복한 다음이 아니라 루프를 실행하고 있는 중에 counter 값을 바꾸면 코드를 읽거나 수정하기가 매우 어려워질 수 있습니다.

Exit For 문은 루프를 빠져 나가는 방법을 제공하기 위해 For Each...Next 또는 For...Next 제어 구조 안에서만 사용할 수 있습니다. 여러 개의 Exit For 문을 루프 안의 아무 곳에 둘 수 있습니다. Exit For 문은 If...Then 문과 같은 조건문을 계산할 때 자주 사용되며 Next 문 바로 뒤에 오는 문으로 제어를 전송합니다.

For...Next 루프는 다른 For...Next 루프 안에 중첩시킬 수 있습니다. 각 루프에 유일한 변수 이름을 counter 변수로 제공해야 합니다. 올바른 For...Next 중첩문의 예는 아래와 같습니다.

For I = 1 To 10
    For J = 1 To 10
        For K = 1 To 10
        . . .
        Next
    Next
Next


For...Next 문

For...Next 문
참고 		언어 참조

Do...Loop 문
Exit 문
For Each...Next 문
While...Wend 문


For Each...Next 문

For Each...Next 문 		언어 참조
버전 2

참고

설명
배열이나 컬렉션에 있는 각 요소의 문 그룹을 반복하여 실행합니다.
구문
For Each element In group
[statements]
[Exit For]
[statements]
Next [statements]

For Each...Next 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
element | 컬렉션이나 배열의 요소를 통해 반복하는 데 사용하는 변수입니다. 컬렉션의 element는 Variant 변수, 일반 Object 변수 또는 다른 특정 자동화 개체 변수만이 될 수 있으며, 배열의 element는 Variant 변수만 될 수 있습니다.
group | 개체 컬렉션이나 배열의 이름입니다.
statements | group 안의 각 항목에 대해 실행되는 하나 이상의 문입니다.

참고
For Each 블록문은 group에 요소가 적어도 하나라도 있으면 시작됩니다. 일단 루프가 시작되었으면 group의 첫째 요소에 대해 루프 안의 모든 문이 실행됩니다. group에 더 많은 요소가 있는 이상, 각 요소에 대해 루프 안의 문이 계속 실행됩니다. group에 요소가 더이상 없으면, 루프를 빠져 나와 Next 문 바로 뒤에 오는 문으로 계속 실행됩니다.

Exit For 문은 루프를 빠져 나가는 방법을 제공하기 위해 For Each...Next 또는 For...Next 제어 구조 안에서만 사용할 수 있습니다. 여러 개의 Exit For 문을 루프 안의 아무 곳에 둘 수 있습니다. Exit For 문은 If...Then과 같은 조건문을 계산할 때 자주 사용되며, Next 문 바로 뒤에 오는 문으로 제어를 전송합니다.

For Each...Next 루프를 다른 For Each...Next 루프 안에 중첩시킬 수 있지만, 각 루프의 element는 유일해야 합니다.

메모 Next 문의 element를 생략할지라도 요소를 포함시킨 것처럼 계속 실행됩니다. Next 문이 해당 For 문 앞에 나오면 오류가 발생합니다.

아래 예제는 For Each...Next 문 사용법을 보여줍니다.

Function ShowFolderList(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
    s = s & f1.name
    s = s & "<BR>"
  Next
  ShowFolderList = s
End Function


For Each...Next 문

For Each...Next 문
참고 		언어 참조

Do...Loop 문
Exit 문
For...Next 문
While...Wend 문


Function 문

Function 문 		언어 참조
버전 1

참고

설명
Function 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
구문
[Public [Default] | Private] Function name [(argumentlist)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function

Function 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
Public | 해당 Function 프로시저에서 모든 스크립트의 다른 모든 프로시저를 액세스할 수 있음을 나타냅니다.
Default | Class 블록에서 Function 프로시저를 클래스에 대한 기본 메서드로 나타내려면 Public 키워드를 사용해야 합니다. 둘 이상의 Default 프로시저를 클래스에서 지정하면 오류가 발생합니다.
Private | 해당 Function 프로시저에서 선언된 스크립트의 다른 프로시저만을 액세스할 수 있음을 나타내거나, 해당 함수가 클래스의 구성원일 경우 Function 프로시저가 해당 클래스의 다른 프로시저만을 액세스할 수 있음을 나타냅니다.
name | Function 프로시저의 이름으로 일반 변수 명명 규칙을 따릅니다.
argumentlist | Function 프로시저를 호출했을 때 그 프로시저에 전달되는 인수를 나타내는 변수 목록입니다. 여러 개의 변수는 쉼표로 구분합니다.
statements | Function 프로시저의 본문 안에서 실행될 일단의 문들입니다.
expression | Function 프로시저의 결과 값입니다.

argumentlist 요소는 아래 구문과 요소로 구성됩니다.

[ByVal | ByRef] varname[( )]

구성 요소 | 설명
ByVal | 인수를 값에 의한 호출로 전달함을 나타냅니다.
ByRef | 인수를 참조에 의한 호출로 전달함을 나타냅니다.
varname | 인수를 나타내는 변수의 이름으로 일반 변수 명명 규칙을 따릅니다.

참고
Function 프로시저를 Public 또는 Private을 사용하여 명시적으로 지정하지 않으면 기본적으로 이 프로시저는 public(공용)이 됩니다. 즉, 스크립트의 다른 모든 프로시저에 나타날 수 있습니다. Function 프로시저에 있는 지역 변수의 값은 해당 프로시저의 호출 간에 보존되지 않습니다.

Function 프로시저를 다른 Sub나 Property Get 프로시저 안에 정의할 수 없습니다.

Exit Function 문은 프로그램 실행이 Function 프로시저를 즉시 빠져 나가도록 한 다음，Function 프로시저를 호출한 문 바로 뒤에 오는 문으로 프로그램을 계속 실행시킵니다. 여러 개의 Exit Function 문을 Function 프로시저 안의 아무 곳에 둘 수 있습니다.

Function 프로시저는 Sub 프로시저처럼 인수를 사용하여 일련의 문을 실행하고 그 인수의 값을 바꾸는 별도의 개별 프로시저입니다. 그러나 함수에서 반환하는 값을 사용할 경우 Function 프로시저는 Sub 프로시저와는 달리 Sqr, Cos, Chr 등의 내부 함수를 사용하는 방법과 같은 방법으로 식의 오른쪽에 사용할 수 있습니다.

괄호로 묶은 인수 목록 앞의 함수 이름을 식에 사용하여 Function 프로시저를 호출합니다. Function 프로시저의 호출 방법에 관한 특정 정보는 Call 문을 참조하십시오.

주의 Function 프로시저는 재귀 호출, 즉 자신을 호출하여 주어진 작업을 수행할 수 있습니다. 그러나 재귀 호출을 사용하면 스택 오버플로를 일으킬 수 있습니다.

함수에서 값을 반환하려면 그 값을 함수 이름에 지정해야 하며 해당 프로시저 안의 아무 위치에 여러 번 동일하게 지정할 수도 있습니다. name에 값을 지정하지 않으면, Function 프로시저에서는 기본값, 즉 숫자 함수일 경우는 0을, 문자열 함수일 경우에는 길이가 0인 문자열("")을 반환합니다. 개체 참조를 반환하는 함수는 Function 프로시저 안에서 Set 문을 사용하여 name에 개체 참조를 지정하지 않으면, Nothing을 반환합니다.

아래 예제는 결과 값을 BinarySearch라는 함수에 지정하는 방법을 보여줍니다. 이 경우 그 이름에 False로 지정하여 값이 없음을 나타냅니다.

Function BinarySearch(. . .)
    . . .
    ' 값이 없습니다. False 값을 반환합니다.
    If lower > upper Then
        BinarySearch = False
        Exit Function
    End If
    . . .
End Function
Function 프로시저에 사용되는 변수에는 두 가지 유형, 즉 프로시저 안에서 명시적으로 선언된 변수와 선언되지 않은 변수가 있습니다. 프로시저 안에서 Dim 또는 이와 동등한 문을 사용하여 명시적으로 선언된 변수는 항상 해당 프로시저의 지역 변수가 됩니다. 또 프로시저에서 사용되지만 명시적으로 선언되지 않은 변수도 해당 프로시저 밖의 상위 수준에서 명시적으로 선언되지 않으면 지역 변수가 됩니다.

주의 프로시저는 그 자신의 내부에서 명시적으로 선언하지 않은 변수를 사용할 수 있지만, 스크립트 수준에서 정의한 변수 이름과 그 이름이 같을 경우 이름 충돌 오류가 발생할 수도 있습니다. 다른 프로시저, 상수 또는 변수와 같은 이름을 가진 선언되지 않은 변수를 프로시저에서 참조할 경우 이 프로시저에서 스크립트 수준의 이름을 참조하고 있는 것으로 간주됩니다. 이런 종류의 충돌을 피하려면 Option Explicit 문을 사용하여 변수를 명시적으로 선언하도록 합니다.

주의 VBScript에서는 산술식을 다시 배치하여 내부 효율성을 높일 수 있습니다. 함수에서 동일한 식의 변수 값을 바꿀 경우 Function 프로시저를 그 산술식에 사용하지 마십시오.


Function 문

Function 문
참고 		언어 참조

Call 문
Dim 문
Exit 문
Nothing
Set 문
Sub 문


If...Then...Else 문

If...Then...Else 문 		언어 참조
버전 1

설명
식의 값에 따라 일단의 문을 조건부로 실행합니다.
구문
If condition Then statement [Else elsestatements ]

또는 아래의 블록 형식 구문도 사용합니다.

If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If

If...Then...Else문은 아래 요소로 구성됩니다.

구성 요소 | 설명
condition 아래 두 형식의 식들 중 하나 이상의 식들입니다.

True 또는 False로 계산되는 수식이나 문자식입니다. condition이 Null인 경우 False로 취급합니다.

TypeOf 개체 이름 Is 개체 형식 형태의 식입니다. 개체 이름은 특정 개체 참조이며 개체 형식은 유효한 특정 개체의 형식입니다. 개체 이름이 개체 형식에서 지정한 개체 형식인 경우 식의 값은 True, 그렇지 않으면 False입니다.

statements | 콜론으로 구분되는 하나 이상의 문으로 condition이 True인 경우 실행됩니다.
condition-n | condition과 같습니다.
elseifstatements | 연관된 condition-n이 True인 경우 실행되는 하나 이상의 문입니다.
elsestatements | 앞에 나오는 condition이나 condition-n이 True가 아닌 경우 실행되는 하나 이상의 문입니다.

참고
단일 줄 형태인 첫째 구문을 사용하여 짧고 간단하게 검사할 수 있습니다. 그러나 블록 형태의 둘째 구문을 사용하면 단일 줄 형태보다 더 많은 구조와 유연성을 제공하며 일반적으로 단일 줄 형태보다도 더 쉽게 읽거나 관리하거나 디버깅합니다.

메모 단일 줄 구문을 사용하여 If...Then 결정의 결과로 실행되는 여러 문을 가질 수 있지만, 아래 문처럼 그 문들은 콜론으로 구분하여 한 줄 안에 작성되어야 합니다.
If A > 10 Then A = A + 1 : B = B + A : C = C + B

둘째 구문인 If 블록문을 실행하면 condition을 테스트합니다. condition이 True인 경우, Then 뒤에 나오는 문을, False인 경우, ElseIf문이 있으면 각각의 ElseIf문을 순서대로 계산합니다. True 조건문이 있으면 연관된 Then 뒤에 나오는 문이 실행됩니다. ElseIf문이 모두 True가 아니거나 ElseIf 절이 없으면 Else 뒤에 나오는 문이 실행됩니다. Then 또는 Else, 뒤에 나오는 문을 실행한 후에는 End If문 뒤에 나오는 문으로 계속 실행됩니다.

Else 및 ElseIf 절은 모두 선택적인 절입니다. If 블록문 안에서 원하는 만큼 ElseIf문을 사용할 수 있지만, Else 절 뒤는 비어 있어야 합니다. If 블록문은 중첩할, 즉 다른 블록 If 블록문 안에 포함시킬 수 있습니다.

Then 키워드 뒤에 나오는 절을 검사하여 그 문이 If 블록문인지의 여부를 결정합니다. 같은 줄에서 주석이 아닌 다른 문이 Then 뒤에 나타나면 이 문은 단일 줄 형태의 If 문으로 취급합니다.

If 블록문은 줄의 첫째 문으로 시작하여 End If문으로 끝나야 합니다.


On Error 문

On Error 문 		언어 참조
버전 1

참고

설명
오류 처리기를 사용할 수 있게 합니다.
구문
On Error Resume Next
참고
On Error Resume Next 문을 사용하지 않은 경우에 발생하는 런타임 오류는 치명적인 오류로, 오류 메시지를 화면에 나타낸 다음 프로그램 실행을 종료합니다.

On Error Resume Next 문은 런타임 오류를 발생시킨 문 바로 뒤에 나오는 문이나 On Error Resume Next 문을 포함하는 프로시저에서 마지막으로 호출한 문 바로 뒤에 나오는 문으로 계속 실행됩니다. 이에 따라 런타임 오류에도 불구하고 계속 실행될 수 있으며, 프로시저 안에서 인라인 오류 처리 루틴을 구현할 수 있습니다. 다른 프로시저를 호출할 때 On Error Resume Next 문은 비활성화하므로 해당 루틴 안에서 인라인 오류를 처리할 경우 호출되는 각 루틴에서 On Error Resume Next 문을 실행해야 합니다.

아래 예제는 On Error Resume Next 문 사용법을 보여줍니다.

On Error Resume Next
Err.Raise 6  '오버플로 오류를 일으킵니다.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    ' 오류를 지웁니다.


On Error 문

On Error 문
참고 		언어 참조

Err 개체
Exit 문


Option Explicit문

Option Explicit문 		언어 참조
버전 1

설명
강제적으로 스크립트에 있는 모든 변수를 명시적으로 선언합니다.
구문
Option Explicit
참고
Option Explicit 문은 사용되는 경우 스크립트 안에서 모든 다른 문 앞에 있어야 합니다.

Option Explicit 문을 사용하면 Dim, Private, Public 또는 ReDim 문을 사용하여 모든 변수를 명시적으로 선언해야 합니다. 선언하지 않은 변수 이름을 사용할 경우 오류가 발생합니다.

팁 기존 변수의 이름을 잘못 입력하거나 변수의 범위가 명확하지 않아 코드에서 혼란이 생기지 않도록 하려면 Option Explicit 문을 사용합니다.

아래 예제는 Option Explicit문 사용법을 보여줍니다.

Option Explicit    ' 명시적 변수 선언을 수행합니다.
Dim MyVar          ' 변수를 선언합니다.
MyInt = 10         ' 선언되지 않은 변수가 오류를 일으킵니다.
MyVar = 10         ' 선언된 변수는 오류를 일으키지 않습니다.


Private 문

Private 문 		언어 참조
버전 2

참고

설명
private 변수를 선언하고 저장 공간을 할당합니다. Class 블록에서 private 변수를 선언합니다.
구문
Private varname[([subscripts])][, varname[([subscripts])]] . . .

Private 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
varname | 변수 이름. 일반 변수 명명 규칙을 따릅니다.
subscripts 배열 변수의 차원. 60개까지의 차원을 선언할 수 있습니다. subscripts 요소의 구문은 아래와 같습니다.

upper [, upper] . . .

배열의 하한값은 항상 0입니다.

참고
Private 문 변수는 선언된 스크립트에서만 사용할 수 있습니다.

개체를 참조하는 변수는 사용하기 전에 Set 문을 사용하여 기존 개체에 지정되어야 합니다. 개체에 지정할 때까지 선언되는 개체 변수는 Empty로 초기화됩니다.

Private 문을 빈 괄호와 함께 사용하여 동적 배열을 선언할 수도 있습니다. 동적 배열을 선언한 다음 프로시저에서 ReDim 문을 사용하여 배열의 차원과 요소를 정의합니다. 그 크기를 Private, Public, 또는 Dim 문에 명시적으로 지정한 배열 변수의 차원을 다시 선언하면 오류가 발생합니다.

팁 Private 문을 프로시저에서 안에서 사용할 경우 일반적으로 Private 문은 프로시저의 맨 앞에 둡니다.

아래 예제는 Private 문 사용법을 보여줍니다.

Private MyNumber     ' Private Variant 변수입니다.
Private MyArray(9)   'Private 배열 변수입니다.
' Variant 변수의 다중 Private 선언입니다.
Private MyNumber, MyVar, YourNumber


Private 문

Private 문
참고 		언어 참조

Dim 문
Public 문
ReDim 문
Set 문


Property Get 문

Property Get 문 		언어 참조
버전 5

참고

설명
속성 값을 구하는(반환하는) Property 프로시저의 본문을 형성하는 이름, 인수 및 코드를 Class 블록에 선언합니다.
구문
[Public [Default]| Private] Property Get name [(arglist)]
[statements]
[[Set] name = expression]
[Exit Property]
[statements]
[[Set] name = expression]
End Property

Property Get 구문은 다음과 같은 요소로 구성되어 있습니다.

구성 요소 | 설명
Public | Property Get 프로시저를 스크립트의 다른 모든 프로시저에서 액세스할 수 있습니다.
Default | Public 키워드와 함께 사용되어 Property Get 프로시저에서 정의된 속성이 클래스의 기본 속성임을 나타냅니다.
Private | Property Get 프로시저가 선언된 Class 블록의 다른 프로시저에서만 액세스할 수 있습니니다.
name | Property Get 프로시저 이름이며, 동일한 Class 블록의 Property Let 또는 Property Set 프로시저와 동일한 이름을 가질 수 있다는 사실을 제외하고는 표준 변수 명명 규칙을 따릅니다.
arglist | 호출할 때 Property Get 프로시저로 전달되는 인수들을 나타내는 변수의 목록입니다. 인수가 여러 개 있을 때에는 쉼표로 구분합니다. Property Get 프로시저의 각 인수 이름은 Property Let 프로시저가 있을 경우 해당 인수와 동일해야 합니다.
statements | Property Get 프로시저의 본문에서 실행되는 모든 문 그룹
Set | 개체를 Property Get 프로시저의 반환값으로 지정할 때 사용하는 키워드
expression | Property Get 프로시저의 반환값

참고
Public 또는 Private을 사용하여 명시적으로 지정하지 않은 경우 Property Get 프로시저의 기본값은 Public입니다. 즉, 스크립트의 다른 모든 프로시저에서 참조할 수 있습니다. 각 프로시저를 호출할 때 Property Get의 지역 변수 값은 유지되지 않습니다.

Function 또는 Property Let처럼 Property Get 프로시저를 다른 프로시저 안에 정의할 수 없습니다.

Exit Property 문을 사용하면 Property Get 프로시저로부터 즉시 복귀할 수 있으며, Property Get 프로시저를 호출한 문장 다음부터 계속 실행됩니다. Exit Property 문은 Property Get 프로시저의 어느곳에서든 자유롭게 사용할 수 있습니다.

Sub 및 Property Let 프로시저와 같이 Property Get 프로시저는 인수를 가지고, 여러 문장을 실행하며, 인수 값을 변경하는 독립 프로시저입니다. 그러나 Sub 및 Property Let과는 달리 속성 값을 반환할 경우 Function이나 속성 이름을 사용하는 것과 동일한 방법으로 식의 오른쪽에 Property Get 프로시저를 사용할 수 있습니다.


Property Get 문

Property Get 문
참고 		언어 참조

Class 문
Dim 문
Exit 문
Function 문
Private 문
Property Let 문
Property Set 문
Public 문
Set 문
Sub 문


Property Let 문

Property Let 문 		언어 참조
버전 5

참고

설명
속성 값을 지정하는 Property 프로시저의 본문을 형성하는 이름, 인수 및 코드를 Class 블록에 선언합니다.
구문
[Public | Private] Property Let name ([arglist,] value)
[statements]
[Exit Property]
[statements]
End Property

Property Let 문은 다음과 같은 요소로 구성되어 있습니다.

구성 요소 | 설명
Public | Property Let 프로시저를 스크립트의 다른 모든 프로시저에서 액세스할 수 있습니다.
Private | 현재 선언된 곳에 있는 Class 블록의 다른 프로시저에서만 Property Let 프로시저를 액세스할 수 있습니다.
name | Property Let 프로시저의 이름이며, 동일한 Class 블록의 Property Get 또는 Property Set 프로시저와 동일한 이름을 가질수 있다는 사실을 제외하고는 표준 변수 명명 규칙을 따릅니다.
arglist | 호출할 때 Property Let 프로시저로 전달되는 인수들을 나타내는 변수의 목록입니다. 인수가 여러 개 있을 때에는 쉼표로 구분됩니다. Property Let 프로시저의 각 인수 이름은 Property Get 프로시저의 해당 인수와 동일해야 합니다. 또한 Property Let 프로시저는 해당 Property Get 프로시저보다 하나 더 많은 인수를 가집니다. 이 인수는 속성으로 지정되는 값입니다.
value | 속성으로 지정되는 값을 가지는 변수입니다. 프로시저가 호출되면 이 인수는 호출한 식의 오른쪽에 나타납니다.
statements | 모든 문장 그룹은 Property Let 프로시저의 본문 내에서 실행될 수 있습니다.

메모 모든 Property Let 문은 정의하는 프로시저에 인수를 하나 이상 정의해야 합니다. 이 인수(둘 이상일 경우는 가장 마지막 인수)는 Property Let 문에서 정의한 프로시저가 호출될 때 속성에 지정될 실제 값입니다. 이 인수는 구문의 value로 참조됩니다.

참고
Public 또는 Private을 사용하여 명시적으로 지정하지 않은 경우 Property Let 프로시저는 기본값은 Public입니다. 즉, 스크립트의 다른 모든 프로시저에서 참조할 수 있습니다. 각 프로시저를 호출할 때 Property Let의 지역 변수 값은 유지되지 않습니다.

Property Let 프로시저를 다른 프로시저의 내부에 정의할 수 없습니다(예: Function 또는 Property Get).

Exit Property 문을 사용하면 Property Get 프로시저로부터 즉시 복귀할 수 있으며, Property Let 프로시저를 호출한 문장 다음부터 계속 실행됩니다. Exit Property 문은 Property Let 프로시저의 어느곳에서든 자유롭게 사용할 수 있습니다.

Sub 및 Property Get 프로시저와 같이 Property Let 프로시저는 인수를 가지고, 여러 문장을 실행하며, 인수 값을 변경하는 독립 프로시저입니다. 그러나 Sub 및 Property Get과는 달리 속성 값을 반환할 경우 Function이나 속성 이름을 사용하는 것과 동일한 방법으로 식의 오른쪽에 Property Let 프로시저를 사용할 수 있습니다.


Property Let 문

Property Let 문
참고 		언어 참조

Class 문
Dim 문
Exit 문
Function 문
Private 문
Property Get 문
Property Set 문
Public 문
Set 문
Sub 문


Property Set 문

Property Set 문 		언어 참조
버전 5

참고

설명
개체에 대한 참조를 설정하는 Property 프로시저의 본문을 형성하는 이름, 인수 및 코드를 Class 블록에 선언합니다.
구문
[Public | Private] Property Set name([arglist,] reference)
[statements]
[Exit Property]
[statements]
End Property

Property Set 문은 다음과 같은 요소로 구성되어 있습니다.

구성 요소 | 설명
Public | Property Set 프로시저를 스크립트의 다른 모든 프로시저에서 액세스할 수 있습니다.
Private | Property Set 프로시저가 선언된 Class 블록의 다른 프로시저에서만 액세스할 수 있습니다.
name | Property Set 프로시저의 이름이며, 동일한 Class 블록의 Property Get 또는 Property Let 프로시저와 동일한 이름을 가질수 있다는 사실을 제외하고는 표준 변수 명명 규칙을 따릅니다.
arglist | 호출할 때 Property Let 프로시저로 전달되는 인수들을 나타내는 변수의 목록입니다. 인수가 여러 개 있을 때에는 쉼표로 구분합니다. 또한 Property Set 프로시저는 항상 해당 Property Get 프로시저보다 하나 더 많은 인수를 가집니다. 인수는 속성으로 지정되는 개체입니다.
reference | 개체 참조 지정문의 오른쪽에 사용되는 개체 참조를 포함하는 변수
statements | Property Set 프로시저의 본문에서 실행되는 모든 문 그룹
메모 모든 Property Set 문은 정의하는 프로시저에 인수를 하나 이상 정의해야 합니다. 이 인수(둘 이상일 경우는 가장 마지막 인수)는 Property Set 문에서 정의한 프로시저가 호출될 때 속성에 대한 실제 개체 참조를 가집니다. 이 인수는 이전 구문에서는 reference로 나타냈습니다.

참고
Public 또는 Private을 사용하여 명시적으로 지정하지 않은 경우 Property Set 프로시저의 기본값은 Public입니다. 즉, 스크립트의 다른 모든 프로시저에서 참조할 수 있습니다. 각 프로시저를 호출할 때 Property Set의 지역 변수 값은 유지되지 않습니다.

Function 또는 Property Let처럼 Property Set 프로시저를 다른 프로시저 안에서 정의할 수 없습니다.

Exit Property 문을 사용하면 Property Set 프로시저로부터 즉시 복귀할 수 있으며, Property Set 프로시저를 호출한 문장 다음부터 계속 실행됩니다. Exit Property 문은 Property Set 프로시저의 어느곳에서든 자유롭게 사용할 수 있습니다.

Function이나 Property Get 프로시저와 같이 Property Set 프로시저는 인수를 가지고, 여러 문장을 실행하며, 인수 값을 변경하는 독립 프로시저입니다. 그러나 Function이나 Property Get과는 달리 값을 반환하는 두 경우 모두 개체 참조 지정문의 왼쪽에만 Property Set 프로시저를 사용할 수 있습니다(Set 문).


Property Set 문

Property Set 문
참고 		언어 참조

Class 문
Dim 문
Exit 문
Function 문
Private 문
Property Get 문
Property Let 문
Public 문
Set 문
Sub 문


Public 문

Public 문 		언어 참조
버전 2

참고

설명
public 변수를 선언하고 저장 공간을 할당합니다. Class 블록에서 private 변수를 선언합니다.
구문
Public varname[([subscripts])][, varname[([subscripts])]] . . .

Public문은 아래 요소로 구성됩니다.

구성 요소 | 설명
varname | 변수 이름. 일반 변수 명명 규칙을 따릅니다.
subscripts 배열 변수의 차원. 60개까지의 차원을 선언할 수 있습니다. subscripts 요소의 구문은 아래와 같습니다.

upper [,upper] . . .

배열의 하한값은 항상 0입니다.

참고
Public 문 변수는 모든 스크립트의 모든 프로시저에서 사용할 수 있습니다.

개체를 참조하는 변수는 사용하기 전에 Set 문을 사용하여 기존 개체에 지정되어야 합니다. 개체에 지정할 때까지 선언되는 개체는 Empty로 초기화됩니다.

Public 문을 빈 괄호와 함께 사용하여 동적 배열을 선언할 수도 있습니다. 동적 배열을 선언한 다음 프로시저에서 ReDim 문을 사용하여 배열의 차원과 요소를 정의합니다. 그 크기를 Private, Public 또는 Dim 문에 명시적으로 지정한 배열 변수의 차원을 다시 선언하면 오류가 발생합니다.

아래 예제는 Public 문의 사용법을 보여줍니다.

Public MyNumber     ' Public Variant 변수입니다.
Public MyArray(9)   ' Public 배열 변수입니다.
' Variant 변수의 다중 Public 선언입니다.
Public MyNumber, MyVar, YourNumber


Public 문

Public 문
참고 		언어 참조

Dim 문
Private 문
ReDim 문
Set 문


Randomize 문

Randomize 문 		언어 참조
버전 1

참고

설명
난수 발생기를 초기화합니다.
구문
Randomize [number]

number는 유효한 수식이면 됩니다.

참고
Randomize 문은 number를 사용하여 Rnd 함수의 난수 발생기를 초기화하고 새 시드 값을 제공합니다. number를 생략하면 시스템 타이머에서 반환하는 값을 새 시드 값으로 사용합니다.

Randomize 문을 사용하지 않으면 인수가 없는 Rnd 함수에서는 처음 호출되었을 때의 동일한 값을 시드 값과 같은 숫자를 사용한 다음 그 이후로는 마지막으로 발생한 숫자를 시드 값으로 사용합니다.

메모 난수 발생 순차를 반복하려면, 숫자 인수를 Randomize 문에 사용하기 바로 전에 Rnd 함수를 음수 인수로 호출합니다. 같은 값의 number를 Randomize 문에 사용하면 이전의 순차를 반복하지 않습니다.

아래 예제는 Randomize 문 사용법을 보여줍니다.

Dim MyValue, Response
Randomize    ' 난수 발생기를 초기화합니다.

Do Until Response = vbNo
   MyValue = Int((6 * Rnd) + 1)    ' 1에서 6까지 무작위 값을 발생합니다.
   MsgBox MyValue
   Response = MsgBox ("반복하시겠습니까? ", vbYesNo)
Loop


Randomize 문

Randomize 문
참고 		언어 참조

Rnd 함수
Timer 함수


ReDim 문

ReDim 문 		언어 참조
버전 1

참고

설명
프로시저 수준에서 동적 배열 변수를 선언하고 저장 공간을 할당하거나 다시 할당합니다.
구문
ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . .

ReDim 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
Preserve | 마지막 차원의 크기를 바꿀 경우 기존 배열 안에 있는 데이터를 보존합니다.
varname | 변수 이름. 일반 변수 명명 규칙을 따릅니다.
subscripts 배열 변수의 차원. 60개까지의 차원을 선언할 수 있습니다. subscripts 요소의 구문은 아래와 같습니다.

upper [,upper] . . .

배열의 하한값은 항상 0입니다.

참고
ReDim 문은 배열 차원의 첨자 없이 빈 괄호와 함께 Private, Public 또는 Dim 문을 사용하여 이미 정식으로 선언된 동적 배열의 크기를 정의하거나 다시 정의하는 데 사용합니다. ReDim 문을 반복하여 사용하면 배열의 차원과 요소를 바꿀 수 있습니다.

Preserve 키워드를 사용하면 마지막 배열 차원의 크기만 변경할 수 있으나, 그 차원의 개수는 바꿀 수 없습니다. 예를 들어 1차원 배열만 있는 마지막이면서 유일한 차원이기 때문에 그 차원의 크기를 조절할 수 있지만, 2차원 이상의 배열인 경우 최종 차원의 크기만 조절할 수 있지만 그 배열의 내용은 그대로 보존하고 있습니다.

아래 예제에서는 배열에 있는 기존 데이터를 삭제하지 않으면서 동적 배열의 마지막 차원의 크기를 늘리는 방법을 보여줍니다.

ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
주의 배열을 원래 크기보다 작게 만들면 줄어드는 요소의 데이터를 잃어버립니다.

변수가 초기화되면 숫자 변수는 0으로, 문자열 변수는 길이가 0인 문자열("")로 초기화됩니다. 개체를 참조하는 변수는 사용하기 전에 Set 문을 사용하여 기존 개체에 지정되어야 합니다. 개체에 지정할 때까지 선언되는 변수는 특수한 값인 Nothing을 갖습니다.


ReDim 문

ReDim 문
참고 		언어 참조

Dim 문
Set 문


Rem문

Rem문 		언어 참조
버전 1

설명
프로그램에서 설명을 제공하는 주석을 포함시키는 데 사용합니다.
구문
Rem comment

또는

' comment

comment 요소는 포함시킬 주석에 대한 텍스트입니다. Rem 키워드와 comment 사이에는 공백이 있어야 합니다.

참고
구문에서 보여주듯이 Rem 키워드 대신 아포스트로피(')를 사용할 수도 있습니다. 한 줄에서 다른 문 다음에 Rem 키워드가 오는 경우 그 문 뒤에 콜론으로 구분해야 하지만, 아포스트로피를 사용하는 경우에는 그 문 뒤에 콜론을 사용할 필요가 없습니다.

아래 예제는 Rem문 사용법을 보여줍니다.

Dim MyStr1, MyStr2
MyStr1 = "Hello" : Rem 문 다음에 오는 주석으로 콜론으로 구분됩니다.
MyStr2 = "Goodbye"     ' 이 또한 주석입니다. 콜론은 필요없습니다.
Rem 같은 줄에 있는 주석으로 코드나 콜론이 필요없습니다.


Select Case 문

Select Case 문 		언어 참조
버전 1

참고

설명
식의 값에 따라 문의 여러 그룹 중 한 그룹을 실행합니다.
구문
Select Case testexpression
[Case expressionlist-n
[statement-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select

Select Case 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
testexpression | 수식 또는 문자식입니다.
expressionlist-n | Case가 있는 경우의 필수적인 요소. 하나 이상의 식에 대해 구분된 목록입니다.
statement-n | testexpression이 expressionlist-n의 일부와 일치할 경우에 실행되는 하나 이상의 문입니다.
elsestatements-n | testexpression이 어느 Case 절과도 일치하지 않을 경우에 실행되는 하나 이상의 문입니다.

참고
testexpression식이 Case expressionlist식과 일치하면 해당 Case 절 뒤에 나오는 문이 다음 Case 절에 이를 때까지 또는 마지막 절인 End Select 문에 이를 때까지 실행됩니다. 그런 다음 End Select 문 뒤에 나오는 문으로 제어를 전달합니다. testexpression식이 둘 이상의 Case절에 있는 expressionlist식과 일치하면 처음 일치한 Case절 뒤에 있는 문만 실행됩니다.

Case Else절은 testexpression식과 그 밖의 다른 Case 선택문에 있는 expressionlist식과 일치하지 않는 경우 elsestatements가 실행되도록 하는 데 사용합니다. Case Else 문은 반드시 필요하지는 않지만 Select Case 블록문에 삽입하여 예기치 않은 testexpression 값을 처리하는 데 사용하는 것이 좋습니다. testexpression식에 일치하는 Case expressionlist식이 없고 Case Else 문이 없는 경우 End Select 문 뒤에 오는 문으로 계속 실행됩니다.

Select Case 문은 중첩될 수 있으며 중첩되는 각 Select Case 문에는 그와 짝을 이루는 End Select 문이 있어야 합니다.

아래 예제는 Select Case 문 사용법을 보여줍니다.

Dim Color, MyVar
Sub ChangeBackground (Color)
    MyVar = lcase (Color)
       Select Case MyVar
           Case "빨강"    document.bgColor = "빨강"
           Case "녹색"  document.bgColor = "녹색"
           Case "파랑"   document.bgColor = "파랑"
           Case Else     MsgBox "다른 색을 고르십시오."
      End Select
End Sub


Select Case 문

Select Case 문
참고 		언어 참조

If...Then...Else 문


Set 문

Set 문 		언어 참조
버전 1

참고

설명
개체 참조를 변수나 속성으로 지정하거나 프로시저 참조를 이벤트와 관련시킵니다.
구문 1
Set objectvar = {objectexpression | New classname | Nothing}

구문 2
Set object.eventname = GetRef(procname)

Set 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
objectvar | 필수. 변수 또는 속성의 이름. 일반 변수 명명 규칙을 따릅니다.
objectexpression | 선택. 개체, 동일한 개체 형식. 선언한 다른 변수 또는 동일한 개체 형식의 개체를 반환하는 함수나 메서드의 이름으로 구성되는 식입니다.
New | 클래스의 새 인스턴스를 만들 때 사용하는 키워드입니다. objectvar가 개체에 대한 참조를 포함하는 경우, 새 개체를 할당할 때 이 참조는 해제됩니다. contained a reference to an object, that reference is released when the new one is assigned. 새 키워드는 클래스의 인스턴스를 만들 때만 사용됩니다.
classname | 선택. 만든 클래스의 이름. 클래스와 클래스의 구성원은 Class 문을 사용하여 정의됩니다.
Nothing | 선택. objectvar와 특정 개체 또는 클래스의 연결을 끊습니다. objectvar를 Nothing으로 지정하면 이전에 참조한 개체를 참조하는 다른 변수가 없을 때 그 개체와 연관된 모든 시스템과 메모리 리소스의 사용을 해제합니다.
object | 필수적인 요소. event와 관련된 개체 이름.
event | 필수적인 요소. 바인딩할 함수에 대한 이벤트 이름.
procname | 필수적인 요소. event와 관련된 Sub나 Function의 이름을 포함하는 문자열.

참고
유효한 objectvar는 지정될 개체와 일치하는 개체 형식이어야 합니다.

Dim, Private, Public 또는 ReDim 문은 개체를 참조하는 변수만을 선언합니다. Set 문을 사용하여 특정 개체를 지정할 때까지는 실제 개체를 참조할 수 없습니다.

대개 Set 문을 사용하여 개체 참조를 변수에 지정하면 해당 변수의 개체에 대한 사본을 만들지 않는 대신 해당 개체에 대한 참조를 만듭니다. 둘 이상의 개체 변수에서 동일한 개체를 참조할 수도 있습니다. 이 변수들은 개체에 대한 사본이 아니라 참조이므로 해당 개체를 바꾸면 그 개체를 참조하는 변수도 모두 그 변경 사항을 반영하게 됩니다.

Function ShowFreeSpace(drvPath)
  Dim fso, d, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set d = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "드라이브 " & UCase(drvPath) & " - "
  s = s & d.VolumeName  & "<BR>"
  s = s & "사용할 수 있는 공간: " & FormatNumber(d.FreeSpace/1024, 0)
  s = s & " KB"
  ShowFreeSpace = s
End Function
새 키워드를 사용하여 동시에 클래스의 인스턴스를 만들고 개체 참조 변수에 클래스의 인스턴스를 할당할 수 있습니다. 할당된 클래스의 인스턴스에 대한 변수를 Dim(또는 동등한 문) 문과 함께 선언했어야 합니다.

Set을 사용하여 프로시저를 이벤트와 관련시키는 정보에 대해 GetRef 함수에 대한 설명서를 참조합니다.


Set문

Set 문
참고 		언어 참조

= 연산자
Dim문
GetRef 함수
ReDim 문


Sub 문

Sub 문 		언어 참조
버전 1

참고

설명
Sub 프로시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다.
구문
[Public [Default]| Private] Sub name [(argumentlist)]
[statements]
[Exit Sub]
[statements]
End Sub

Sub 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
Public | 해당 Sub 프로시저에서 모든 스크립트의 다른 모든 프로시저를 액세스할 수 있음을 나타냅니다.
Default | Class 블럭에서 Sub 프로시저를 클래스에 대한 기본 메서드로 나타내려면 Public 키워드를 사용해야 합니다. 둘 이상의 Default 프로시저를 클래스에서 지정하면 오류가 발생합니다.
Private | 해당 Sub 프로시저에서 선언된 스크립트의 다른 프로시저만을 액세스할 수 있음을 나타냅니다.
name | Sub 프로시저의 이름. 일반 변수 명명 규칙을 따릅니다.
argumentlist | Sub 프로시저를 호출했을 때 그 프로시저에 전달되는 인수를 나타내는 변수 목록입니다. 여러 개의 변수는 쉼표로 구분합니다.
statements | Sub 프로시저의 본문 안에서 실행될 일단의 문들입니다.

argumentlist 요소는 아래 구문과 요소로 구성됩니다.

[ByVal | ByRef] varname[( )]

구성 요소 | 설명
ByVal | 인수를 값에 의한 호출로 전달함을 나타냅니다.
ByRef | 인수를 참조에 의한 호출로 전달함을 나타냅니다.
varname | 인수를 나타내는 변수의 이름으로 일반 변수 명명 규칙을 따릅니다.

참고
Sub 프로시저를 Public 또는 Private을 사용하여 명시적으로 지정하지 않으면, 기본적으로 이 프로시저는 public(공용)이 됩니다. 즉, 스크립트의 다른 모든 프로시저에 나타날 수 있습니다. Sub 프로시저에 있는 지역 변수의 값은 해당 프로시저의 호출 간에 보존되지 않습니다.

Sub 프로시저를 다른 Function 프로시저나 Property Get 프로시저 안에 정의할 수 없습니다.

Exit Sub 문은 프로그램 실행이 Sub 프로시저를 즉시 빠져 나가도록 한 다음, Sub 프로시저를 호출한 문 바로 뒤에 오는 문으로 프로그램을 계속 실행시킵니다. 여러 개의 Exit Sub 문을 Sub 프로시저 안의 아무 곳에 둘 수 있습니다.

Sub 프로시저는 Function 프로시저처럼 인수를 사용하여 일련의 문을 실행하고 그 인수의 값을 바꾸는 별도의 프로시저입니다. 그러나 값을 반환하는 Function 프로시저와는 달리 Sub 프로시저는 식에 사용할 수 없습니다.

괄호로 묶은 인수 목록 프로시저 이름을 사용하여 Sub 프로시저를 호출합니다. Sub 프로시저의 호출 방법에 관한 특정 정보는 Call 문을 참조하십시오.

주의 Sub 프로시저는 재귀 호출, 즉 자신을 호출하여 주어진 작업을 수행할 수 있습니다. 그러나 재귀 호출을 사용하면 스택 오버플로를 일으킬 수 있습니다.

Sub 프로시저에 사용되는 변수에는 두 가지 유형, 즉 프로시저 안에서 명시적으로 선언된 변수와 선언되지 않은 변수가 있습니다. 프로시저 안에서 Dim 또는 이와 동등한 문을 사용하여 명시적으로 선언된 변수는 항상 해당 프로시저의 지역 변수가 됩니다. 프로시저에서 사용하지만 명시적으로 선언되지 않은 변수도 해당 프로시저 밖의 상위 수준에서 명시적으로 선언되지 않으면 지역 변수가 됩니다.

주의 프로시저는 그 자신의 내부에서 명시적으로 선언하지 않은 변수를 사용할 수 있지만, 스크립트 수준에서 정의한 변수의 이름과 그 이름이 같을 경우 이름 충돌 오류가 발생할 수도 있습니다. 다른 프로시저, 상수 또는 변수와 같은 이름을 가진 선언되지 않은 변수를 프로시저에서 참조할 경우 이 프로시저에서 스크립트 수준의 이름을 참조하고 있는 것으로 간주됩니다. 이런 종류의 충돌을 피하려면 Option Explicit 문을 사용하여 변수를 명시적으로 선언할 수 있습니다.


Sub 문

Sub 문
참고 		언어 참조

Call 문
Dim 문
Exit 문
Function 문


While...Wend 문

While...Wend 문 		언어 참조
버전 1

참고

설명
주어진 조건문이 True로 있는 동안에만 일련의 문을 실행합니다.
구문
While condition
[statements]
Wend

While...Wend 문은 아래 요소로 구성됩니다.

구성 요소 | 설명
condition | True 또는 False로 계산되는 수식 또는 문자식입니다. condition이 Null이면 False로 취급합니다.
statements | 조건문이 True인 동안에만 실행되는 하나 이상의 문입니다.

참고
condition이 True이면 Wend 문을 만날 때까지 문에 있는 모든 문을 실행합니다. 그런 다음 다시 While 문으로 제어를 넘겨서 condition을 다시 검사합니다. 그래도 condition이 계속 True이면 위 과정을 반복합니다. 조건문이 True가 아니고 False가 될 때, Wend 문 바로 뒤에 있는 문으로 계속 실행됩니다.

While...Wend 루프문은 어느 수준에서도 중첩될 수 있으며, 각 Wend 문은 최근의 While 문과 일치합니다.

팁 Do...Loop 문을 사용하면 더욱 구조적이고 유연하게 루프를 처리할 수 있습니다.

아래 예제는 While...Wend 문 사용법을 보여줍니다.

Dim Counter
Counter = 0                ' 변수를 초기화합니다.
While Counter < 20         ' Counter 값을 테스트합니다.
   Counter = Counter + 1   ' Counter를 늘립니다.
   Alert Counter
Wend                       ' Counter > 19인 경우  While 루프를 종료합니다.


While...Wend 문

While...Wend 문
참고 		언어 참조

Do...Loop 문


With 문

With 문 		언어 참조
버전 5

참고

설명
단일 개체에서 일련의 문을 실행합니다.
구문
With object
statements
End With

With 문은 다음과 같은 요소로 구성되어 있습니다.

구성 요소 | 설명
object | 필수적인 인수. 개체 또는 개체를 반환하는 함수의 이름
statements | 필수적인 인수. object에서 실행되는 하나 이상의 문

참고
With 문을 사용하면 개체의 이름을 다시 부여하지 않고도 지정된 개체에서 일련의 문을 실행할 수 있습니다. 예를 들어, 단일 개체의 여러 다른 속성을 변경하려면 With 제어 구조 내에 속성 지정문을 둡니다. 이렇게 하면 각 개체마다 속성 지정을 통해 참조하는 대신 개체를 한 번만 참조하면 됩니다. 아래 코드는 With 문을 사용하여 동일한 개체의 여러 속성에 값을 지정하는 예입니다.

With MyLabel
  .Height = 2000
  .Width = 2000
  .Caption = "이것은 MyLabel입니다."
End With
With 기능에서 속성을 다루는 것도 중요하지만 그 밖에 문법에 맞는 모든 코드를 With 블록에서 사용할 수 있습니다.
메모 일단 With 블록으로 들어가면 object는 변경될 수 없습니다. 따라서 단일 With 문으로 다른 여러 개체에 영향을 미치게 할 수는 없습니다.
With 블록 안에 다시 With 블록을 사용하여 With 문을 중첩시킬 수 있습니다. 그러나 외부 With 블록의 구성원이 내부 With 블록 안에서 마스크되기 때문에, 내부 With 블록에서 외부 With 블록의 모든 구성원에 대한 정확한 개체 참조를 제공해야 합니다.

중요 With 문의 안이나 밖으로 점프하지 마십시오. With 블록 안의 문이 실행되고 With 또는 End With 문이 실행되지 않으면 오류나 예상치 못한 상황이 발생할 수 있습니다.


With 문

With 문
참고 		언어 참조

Set 문