VBScript-퀵 가이드
VB스크립트는 Visual BVBA (Visual Basic for Applications)의 하위 집합을 형성하는 asic 스크립팅. VBA는 MS Project 및 MS Office와 같은 다른 Microsoft 제품뿐만 아니라 AUTO CAD와 같은 타사 도구에도 포함 된 Microsoft 제품입니다.
VBScript의 특징
VBScript는 초고속 인터프리터가있는 경량 스크립팅 언어입니다.
대부분의 경우 VBScript는 대소 문자를 구분하지 않습니다. 구문이 매우 간단하고 배우고 구현하기 쉽습니다.
C ++ 또는 Java와 달리 VBScript는 객체 지향 프로그래밍 언어가 아닌 객체 기반 스크립팅 언어입니다.
구성 요소 개체 모델을 사용합니다. (COM) 실행중인 환경의 요소에 액세스하기 위해
VBScript의 성공적인 실행은 Internet Explorer와 같은 호스트 환경에서 실행 되어야만 가능합니다. (IE), 인터넷 정보 서비스 (IIS) 및 Windows 스크립팅 호스트 (WSH)
VBscript – 버전 기록 및 용도
VBScript는 Microsoft에서 1996 년에 소개되었으며 첫 번째 버전은 1.0이었습니다. VBScript의 현재 안정 버전은 5.8이며 IE8 또는 Windows 7의 일부로 사용할 수 있습니다. VBScript 사용 영역은 다양하며 아래 목록에 제한되지 않습니다.
VBScript는 널리 사용되는 자동화 테스트 도구 중 하나 인 Quick Test Professional에서 스크립팅 언어로 사용됩니다. QTP
Windows 데스크탑 자동화를 위해 Windows 시스템 관리자가 주로 사용하는 Windows 스크립팅 호스트.
활성 서버 페이지 (ASP), VBScript 또는 Java Script를 사용하는 동적 웹 페이지를 만들기위한 서버 측 스크립팅 환경입니다.
VBScript는 Microsoft Internet Explorer에서 클라이언트 측 스크립팅에 사용됩니다.
Microsoft Outlook Forms는 일반적으로 VBScript에서 실행됩니다. 그러나 응용 프로그램 수준 프로그래밍은 VBA (Outlook 2000 이상)에 의존합니다.
단점
VBscript는 IE 브라우저에서만 사용됩니다. Chrome, Firefox와 같은 다른 브라우저는 VBScript를 지원하지 않습니다. 따라서 JavaScript는 VBScript보다 선호됩니다.
VBScript는 제한된 명령 줄 지원을 제공합니다.
기본적으로 사용 가능한 개발 환경이 없기 때문에 디버깅이 어렵습니다.
VBScript는 오늘날 어디에 있습니까?
VBScript의 현재 버전은 5.8이며 최근 .NET 프레임 워크가 개발됨에 따라 Microsoft는 웹 개발을 위해 ASP.NET 내에서 VBScript의 향후 지원을 제공하기로 결정했습니다. 따라서 더 이상 새로운 버전의 VBScript 엔진은 없지만 전체 결함 수정 및 보안 문제는 Microsoft 유지 엔지니어링 팀에서 해결하고 있습니다. 그러나 VBScript 엔진은 기본적으로 모든 Microsoft Windows 및 IIS의 일부로 제공됩니다.
첫 번째 VBScript
"Hello World"를 출력하는 VBScript를 작성해 보겠습니다.
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
document.write("Hello World!")
</script>
</body>
</html>
위의 예에서 우리 는 HTML 문서에 문자열을 쓰는 document.write 함수를 호출했습니다 . 이 함수는 텍스트, HTML 또는 둘 다를 작성하는 데 사용할 수 있습니다. 따라서 위의 코드는 다음과 같은 결과를 표시합니다.
Hello World!
공백 및 줄 바꿈
VBScript는 VBScript 프로그램에 나타나는 공백, 탭 및 줄 바꿈을 무시합니다. 프로그램 내에서 공백, 탭 및 줄 바꿈을 자유롭게 사용할 수 있으므로 코드를 쉽게 읽고 이해할 수 있도록 깔끔하고 일관된 방식으로 프로그램을 형식화하고 들여 쓰기 할 수 있습니다.
서식
VBScript는 Microsoft의 Visual Basic을 기반으로합니다. JavaScript와 달리 세미콜론과 같은 문 종결자는 특정 문을 종료하는 데 사용되지 않습니다.
한 줄 구문
콜론은 두 줄 이상의 VBScript를 한 줄로 작성해야 할 때 사용됩니다. 따라서 VBScript에서 콜론은 줄 구분 기호 역할을합니다.
<script language = "vbscript" type = "text/vbscript">
var1 = 10 : var2 = 20
</script>
여러 줄 구문
VBScript의 명령문이 길고 사용자가 여러 줄로 나누고 싶다면 밑줄 "_"을 사용해야합니다. 이것은 코드의 가독성을 향상시킵니다. 다음 예는 여러 줄로 작업하는 방법을 보여줍니다.
<script language = "vbscript" type = "text/vbscript">
var1 = 10
var2 = 20
Sum = var1 + var2
document.write("The Sum of two numbers"&_"var1 and var2 is " & Sum)
</script>
예약어
다음 목록은 VBScript의 예약어를 보여줍니다. 이러한 예약어는 상수, 변수 또는 기타 식별자 이름으로 사용해서는 안됩니다.
고리 | LSet | 나를 |
모드 | 새로운 | 다음 |
아니 | 아무것도 | 없는 |
의 위에 | 선택권 | 선택 과목 |
또는 | ParamArray | 보존하다 |
은밀한 | 공공의 | RaiseEvent |
ReDim | 렘 | 이력서 |
RSet | 고르다 | 세트 |
공유 | 단일 | 공전 |
중지 | 보결 | 그때 |
에 | 진실 | 유형 |
과 | 같이 | 부울 |
ByRef | 바이트 | ByVal |
요구 | 케이스 | 수업 |
Const | 통화 | 디버그 |
어둑한 | 하다 | 더블 |
마다 | 그밖에 | ElseIf |
빈 | 종료 | EndIf |
열거 형 | Eqv | 행사 |
출구 | 그릇된 | 에 대한 |
함수 | 가져 오기 | 이동 |
만약 | 꼬마 도깨비 | 구현 |
에 | 정수 | 이다 |
허락하다 | 처럼 | 긴 |
유형 | 까지 | 다른 |
향하게 하다 | 동안 | 와 |
Xor | 평가 | 실행 |
Msgbox | 삭제 | ExecuteGlobal |
명시 적 옵션 | 무작위 화 | SendKeys |
대소 문자 구분
VBScript는 case-insensitive language. 이는 언어 키워드, 변수, 함수 이름 및 기타 식별자를 일관된 대문자로 입력 할 필요가 없음을 의미합니다. 따라서 식별자 int_counter, INT_Counter 및 INT_COUNTER는 VBScript 내에서 동일한 의미를 갖습니다.
VBScript의 주석
주석은 다른 프로그래머가 향후 동일한 코드에서 원활하게 작업 할 수있는 프로그램 논리 및 사용자 정보를 문서화하는 데 사용됩니다. 여기에는 개발자, 수정 자 등의 정보가 포함될 수 있으며 통합 논리도 포함될 수 있습니다. 인터프리터는 실행 중에 주석을 무시합니다. VBScript의 주석은 두 가지 방법으로 표시됩니다.
1. Any statement that starts with a Single Quote (‘) is treated as comment.
다음은 예입니다-
<script language = "vbscript" type = "text/vbscript">
<!—
' This Script is invoked after successful login
' Written by : TutorialsPoint
' Return Value : True / False
//- >
</script>
2. Any statement that starts with the keyword “REM”.
다음은 예입니다-
<script language = "vbscript" type = "text/vbscript">
<!—
REM This Script is written to Validate the Entered Input
REM Modified by : Tutorials point/user2
//- >
</script>
모든 최신 브라우저가 VBScript를 지원하는 것은 아닙니다. VBScript는 Microsoft의 Internet Explorer에서만 지원되는 반면 다른 브라우저 (Firefox 및 Chrome)는 JavaScript 만 지원합니다. 따라서 개발자는 일반적으로 VBScript보다 JavaScript를 선호합니다.
Internet Explorer (IE)는 VBScript를 지원하지만이 기능을 수동으로 활성화 또는 비활성화해야 할 수 있습니다. 이 자습서는 Internet Explorer에서 VBScript 지원을 활성화 및 비활성화하는 절차를 알려줍니다.
Internet Explorer의 VBScript
다음은 Internet Explorer에서 VBScript를 켜거나 끄는 간단한 단계입니다.
메뉴에서 도구 → 인터넷 옵션을 따르십시오.
대화 상자에서 보안 탭을 선택하십시오.
사용자 지정 수준 버튼을 클릭합니다.
스크립팅 옵션을 찾을 때까지 아래로 스크롤하십시오.
Active 스크립팅에서 사용 라디오 버튼을 선택합니다.
마지막으로 확인을 클릭하고 나오십시오
Internet Explorer에서 VBScript 지원을 비활성화하려면 아래 에서 비활성화 라디오 버튼 을 선택해야합니다.Active scripting.
HTML 파일에 VBScript 배치
HTML 문서의 어느 곳에 나 VBScript 코드를 포함 할 수있는 유연성이 있습니다. 그러나 HTML 파일에 VBScript를 포함하는 가장 선호되는 방법은 다음과 같습니다.
<head> ... </ head> 섹션의 스크립트.
<body> ... </ body> 섹션의 스크립트.
<body> ... </ body> 및 <head> ... </ head> 섹션의 스크립트.
외부 파일에 스크립트 한 다음 <head> ... </ head> 섹션에 포함합니다.
다음 섹션에서는 VBScript를 다른 방식으로 배치하는 방법을 살펴 보겠습니다.
<head> ... </ head> 섹션의 VBScript
사용자가 어딘가를 클릭 할 때와 같은 일부 이벤트에서 스크립트를 실행하려면 다음과 같이 해당 스크립트를 헤드에 배치합니다.
<html>
<head>
<script type = "text/Vbscript">
<!--
Function sayHello()
Msgbox("Hello World")
End Function
//-->
</script>
</head>
<body>
<input type = "button" onclick = "sayHello()" value = "Say Hello" />
</body>
</html>
다음과 같은 결과가 생성됩니다. SayHello라는 이름의 버튼입니다. 버튼을 클릭하면 "Hello World"메시지와 함께 메시지 상자가 사용자에게 표시됩니다.
<body> ... </ body> 섹션의 VBScript
페이지가로드 될 때 스크립트가 페이지에 콘텐츠를 생성하도록 스크립트를 실행해야하는 경우 스크립트는 문서의 <body> 부분에 들어갑니다. 이 경우 VBScript를 사용하여 정의 된 함수가 없습니다.
<html>
<head> </head>
<body>
<script type = "text/vbscript">
<!--
document.write("Hello World")
//-->
</script>
<p>This is web page body </p>
</body>
</html>
이것은 다음 결과를 생성합니다-
Hello World
This is web page body
<body> 및 <head> 섹션의 VBScript
다음과 같이 VBScript 코드를 <head> 및 <body> 섹션에 모두 넣을 수 있습니다.
<html>
<head>
<script type = "text/vbscript">
<!--
Function sayHello()
msgbox("Hello World")
End Function
//-->
</script>
</head>
<body>
<script type = "text/vbscript">
<!--
document.write("Hello World")
//-->
</script>
<input type = "button" onclick = "sayHello()" value = "Say Hello" />
</body>
</html>
'Say Hello'버튼이있는 Hello World 메시지가 표시됩니다. 버튼을 클릭하면 "Hello World"메시지가있는 메시지 상자가 사용자에게 표시됩니다.
Hello World
외부 파일의 VBScript
VBScript로 더 광범위하게 작업하기 시작하면 사이트의 여러 페이지에서 동일한 VBScript 코드를 재사용하는 경우가있을 수 있습니다. 여러 HTML 파일에서 동일한 코드를 유지하도록 제한되지 않습니다.
스크립트 태그를 사용하면 외부 파일에 VBScript를 저장 한 다음 HTML 파일로 포함 할 수 있도록하는 메커니즘을 제공합니다. 다음은 스크립트 태그와 src 속성을 사용하여 HTML 코드에 외부 VBScript 파일을 포함하는 방법을 보여주는 예입니다.
<html>
<head>
<script type = "text/vbscript" src = "filename.vbs" ></script>
</head>
<body>
.......
</body>
</html>
외부 파일 소스에서 VBScript를 사용하려면 확장명이 ".vbs"인 간단한 텍스트 파일에 모든 VBScript 소스 코드를 작성한 다음 위에 표시된대로 해당 파일을 포함해야합니다. 예를 들어 다음 내용을 filename.vbs 파일에 보관 한 다음 filename.vbs 파일을 포함시킨 후 HTML 파일에서 sayHello 함수를 사용할 수 있습니다 .
Function sayHello()
Msgbox "Hello World"
End Function
QTP에서 VBScript 배치
VBScript는 QTP (Quick Test Professional) 도구에 배치되지만 HTML 태그 내에 포함되어 있지 않습니다. 스크립트 파일은 확장자 .vbs로 저장되며 Quick Test Professional 실행 엔진에 의해 실행됩니다.
VBScript 변수
변수는 스크립트 실행 중에 변경할 수있는 값을 저장하는 데 사용되는 명명 된 메모리 위치입니다. VBScript에는ONE 기본 데이터 유형, Variant.
Rules for Declaring Variables −
변수 이름은 알파벳으로 시작해야합니다.
변수 이름은 255자를 초과 할 수 없습니다.
변수는 마침표 (.)를 포함하지 않아야합니다.
변수 이름은 선언 된 컨텍스트에서 고유해야합니다.
변수 선언
변수는 "dim"키워드를 사용하여 선언됩니다. 기본 데이터 유형은 하나뿐이므로 선언 된 모든 변수는 기본적으로 변형입니다. 따라서 사용자NEED NOT 선언 중에 데이터 유형을 언급하십시오.
Example 1 −이 예에서 IntValue는 문자열, 정수 또는 배열로 사용될 수 있습니다.
Dim Var
Example 2 − 둘 이상의 선언은 쉼표 (,)로 구분됩니다.
Dim Variable1,Variable2
변수에 값 할당
값은 대수식과 유사하게 할당됩니다. 왼쪽의 변수 이름과 같음 (=) 기호, 오른쪽의 값.
규칙
숫자 값은 큰 따옴표없이 선언해야합니다.
문자열 값은 큰 따옴표 ( ")로 묶어야합니다.
날짜 및 시간 변수는 해시 기호 (#)로 묶어야합니다.
예
' Below Example, The value 25 is assigned to the variable.
Value1 = 25
' A String Value ‘VBScript’ is assigned to the variable StrValue.
StrValue = “VBScript”
' The date 01/01/2020 is assigned to the variable DToday.
Date1 = #01/01/2020#
' A Specific Time Stamp is assigned to a variable in the below example.
Time1 = #12:30:44 PM#
변수의 범위
변수의 범위를 결정하는 다음 문을 사용하여 변수를 선언 할 수 있습니다. 변수의 범위는 프로 시저 또는 클래스 내에서 사용될 때 중요한 역할을합니다.
- Dim
- Public
- Private
어둑한
프로 시저 수준에서 "Dim"키워드를 사용하여 선언 된 변수는 동일한 프로 시저 내에서만 사용할 수 있습니다. 스크립트 수준에서 "Dim"키워드를 사용하여 선언 된 변수는 동일한 스크립트 내의 모든 프로 시저에서 사용할 수 있습니다.
Example − 아래 예제에서 Var1과 Var2의 값은 스크립트 수준에서 선언되고 Var3은 프로 시저 수준에서 선언됩니다.
Note−이 장의 범위는 변수를 이해하는 것입니다. 기능은 다음 장에서 자세히 다룰 것입니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim Var1
Dim Var2
Call add()
Function add()
Var1 = 10
Var2 = 15
Dim Var3
Var3 = Var1 + Var2
Msgbox Var3 'Displays 25, the sum of two values.
End Function
Msgbox Var1 ' Displays 10 as Var1 is declared at Script level
Msgbox Var2 ' Displays 15 as Var2 is declared at Script level
Msgbox Var3 ' Var3 has No Scope outside the procedure. Prints Empty
</script>
</body>
</html>
공공의
"공용"키워드를 사용하여 선언 된 변수는 모든 관련 스크립트의 모든 프로 시저에서 사용할 수 있습니다. "public"유형의 변수를 선언 할 때 Dim 키워드는 "Public"으로 대체됩니다.
Example − 다음 예에서 Var1 및 Var2는 스크립트 수준에서 사용할 수있는 반면 Var3은 Public으로 선언 된 관련 스크립트 및 절차에서 사용할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim Var1
Dim Var2
Public Var3
Call add()
Function add()
Var1 = 10
Var2 = 15
Var3 = Var1+Var2
Msgbox Var3 'Displays 25, the sum of two values.
End Function
Msgbox Var1 ' Displays 10 as Var1 is declared at Script level
Msgbox Var2 ' Displays 15 as Var2 is declared at Script level
Msgbox Var3 ' Displays 25 as Var3 is declared as Public
</script>
</body>
</html>
은밀한
"Private"로 선언 된 변수는 선언 된 스크립트 내에서만 범위를 갖습니다. "Private"유형의 변수를 선언 할 때 Dim 키워드는 "Private"로 대체됩니다.
Example− 다음 예에서 Var1과 Var2는 Script Level에서 사용할 수 있습니다. Var3은 Private으로 선언되며이 특정 스크립트에 대해서만 사용할 수 있습니다. "개인"변수의 사용은 클래스 내에서 더 두드러집니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim Var1
Dim Var2
Private Var3
Call add()
Function add()
Var1 = 10
Var2 = 15
Var3 = Var1+Var2
Msgbox Var3 'Displays the sum of two values.
End Function
Msgbox Var1 ' Displays 10 as Var1 is declared at Script level
Msgbox Var2 ' Displays 15 as Var2 is declared at Script level
Msgbox Var3 ' Displays 25 but Var3 is available only for this script.
</script>
</body>
</html>
상수는 스크립트 실행 중에 변경할 수없는 값을 저장하는 데 사용되는 명명 된 메모리 위치입니다. 사용자가 상수 값을 변경하려고하면 스크립트 실행이 오류와 함께 종료됩니다. 상수는 변수가 선언되는 것과 동일한 방식으로 선언됩니다.
상수 선언
통사론
[Public | Private] Const Constant_Name = Value
상수는 Public 또는 Private 유형일 수 있습니다. 공용 또는 개인 사용은 선택 사항입니다. Public 상수는 모든 스크립트와 프로 시저에 사용할 수있는 반면 Private 상수는 프로 시저 또는 클래스 내에서 사용할 수 있습니다. 선언 된 상수에 숫자, 문자열 또는 날짜와 같은 값을 할당 할 수 있습니다.
예 1
이 예에서 pi 값은 3.4이고 메시지 상자에 원의 영역을 표시합니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim intRadius
intRadius = 20
const pi = 3.14
Area = pi*intRadius*intRadius
Msgbox Area
</script>
</body>
</html>
예 2
아래 예제는 상수에 문자열 및 날짜 값을 할당하는 방법을 보여줍니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Const myString = "VBScript"
Const myDate = #01/01/2050#
Msgbox myString
Msgbox myDate
</script>
</body>
</html>
예제 3
아래 예에서 사용자는 상수 값을 변경하려고합니다. 따라서, 그것은Execution Error.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim intRadius
intRadius = 20
const pi = 3.14
pi = pi*pi 'pi VALUE CANNOT BE CHANGED.THROWS ERROR'
Area = pi*intRadius*intRadius
Msgbox Area
</script>
</body>
</html>
운영자는 무엇입니까?
4 + 5 is equal to 9 라는 식을 봅시다 . 여기서 4와 5는operands +는 operator. VBScript 언어는 다음 유형의 연산자를 지원합니다-
- 산술 연산자
- 비교 연산자
- 논리 (또는 관계형) 연산자
- 연결 연산자
산술 연산자
VBScript는 다음 산술 연산자를 지원합니다-
변수 A가 5를 보유하고 변수 B가 10을 보유한다고 가정하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
+ | 두 개의 피연산자를 더합니다. | A + B는 15를 줄 것입니다 |
- | 첫 번째에서 두 번째 피연산자를 뺍니다. | A-B는 -5를 줄 것입니다 |
* | 두 피연산자 곱하기 | A * B는 50을 줄 것입니다 |
/ | 분자를 구분자로 나누기 | B / A는 2를 줄 것입니다 |
% | 계수 연산자 및 정수 나누기 후의 나머지 | B MOD A는 0을 제공합니다 |
^ | 지수 연산자 | B ^ A는 100000을 줄 것입니다 |
이러한 연산자를 더 잘 이해하려면 직접 시도해 볼 수 있습니다 .
비교 연산자
VBScript 언어에서 지원하는 다음과 같은 비교 연산자가 있습니다.
변수 A가 10을 보유하고 변수 B가 20을 보유한다고 가정하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
= | 두 피연산자의 값이 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A == B)는 거짓입니다. |
<> | 두 피연산자의 값이 같은지 확인하고, 값이 같지 않으면 조건이 참이됩니다. | (A <> B)는 참입니다. |
> | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인하고, 그렇다면 조건이 참이됩니다. | (A> B)는 False입니다. |
< | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은 지 확인하고, 그렇다면 조건이 참이됩니다. | (A <B)는 참입니다. |
> = | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인하고, 그렇다면 조건이 참이됩니다. | (A> = B)는 False입니다. |
<= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인하고, 그렇다면 조건이 참이됩니다. | (A <= B)는 참입니다. |
이러한 연산자를 더 잘 이해하려면 직접 시도해 볼 수 있습니다 .
논리 연산자
VBScript 언어가 지원하는 다음과 같은 논리 연산자가 있습니다-
변수 A가 10을 보유하고 변수 B가 0을 보유한다고 가정하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
과 | 논리 AND 연산자라고합니다. 두 조건이 모두 True이면 Expression이 True가됩니다. | a <> 0 AND b <> 0은 False입니다. |
또는 | 논리 OR 연산자라고합니다. 두 조건 중 하나라도 True이면 조건이 True가됩니다. | a <> 0 또는 b <> 0이 참입니다. |
아니 | 논리 NOT 연산자라고합니다. 피연산자의 논리적 상태를 반전합니다. 조건이 True이면 논리 NOT 연산자가이를 False로 만듭니다. | NOT (a <> 0 OR b <> 0)은 거짓입니다. |
XOR | 논리적 배제라고합니다. NOT과 OR 연산자의 조합입니다. 식 중 하나만 True로 평가되면 결과는 True입니다. | (a <> 0 XOR b <> 0)이 참입니다. |
이러한 연산자를 더 잘 이해하려면 직접 시도해 볼 수 있습니다 .
연결 연산자
VBScript 언어에서 지원하는 다음 연결 연산자가 있습니다-
변수 A가 5를 보유하고 변수 B가 10을 보유한다고 가정하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
+ | 변수 값이 숫자이므로 두 값을 더합니다. | A + B는 15를 줄 것입니다 |
& | 두 값을 연결합니다. | A & B는 510을 줄 것입니다 |
변수 A = "Microsoft"및 변수 B = "VBScript"라고 가정 한 다음-
운영자 | 기술 | 예 |
---|---|---|
+ | 두 값을 연결합니다. | A + B는 MicrosoftVBScript를 제공합니다. |
& | 두 값을 연결합니다. | A & B는 MicrosoftVBScript를 제공합니다. |
Note− 연결 연산자는 숫자와 문자열에 사용할 수 있습니다. 출력은 변수가 숫자 값 또는 문자열 값을 보유하는 경우 컨텍스트에 따라 다릅니다.
이러한 연산자를 더 잘 이해하려면 직접 시도해보십시오 .
의사 결정을 통해 프로그래머는 스크립트 또는 해당 섹션 중 하나의 실행 흐름을 제어 할 수 있습니다. 실행은 하나 이상의 조건문에 의해 제어됩니다.
다음은 대부분의 프로그래밍 언어에서 발견되는 일반적인 의사 결정 구조의 일반적인 형태입니다.
VBScript는 다음과 같은 유형의 의사 결정문을 제공합니다.
성명서 | 기술 |
---|---|
if 문 | 안 if 문은 부울 식과 하나 이상의 문으로 구성됩니다. |
if..else 문 | 안 if else문은 부울 식과 하나 이상의 문으로 구성됩니다. 조건이 True 인 경우If문이 실행됩니다. 조건이 거짓이면Else 스크립트의 일부가 실행 됨 |
if ... elseif..else 문 | 안 if 문 뒤에 하나 이상의 ElseIf 모든 조건이 거짓이 될 때 실행되는 부울 표현식과 그 뒤에 선택적 else 문으로 구성된 문. |
중첩 된 if 문 | 안 if 또는 elseif 다른 내부의 진술 if 또는 elseif 진술 (들). |
switch 문 | ㅏ switch 문을 사용하면 변수가 값 목록과 같은지 테스트 할 수 있습니다. |
코드 블록을 여러 번 실행해야하는 상황이있을 수 있습니다. 일반적으로 명령문은 순차적으로 실행됩니다. 함수의 첫 번째 명령문이 먼저 실행되고 두 번째 명령문이 실행되는 식입니다.
프로그래밍 언어는보다 복잡한 실행 경로를 허용하는 다양한 제어 구조를 제공합니다. 루프 문을 사용하면 문 또는 문 그룹을 여러 번 실행할 수 있으며 다음은 VBScript의 루프 문에서 일반적인 내용입니다.
VBScript는 루핑 요구 사항을 처리하기 위해 다음 유형의 루프를 제공합니다. 세부 사항을 확인하려면 다음 링크를 클릭하십시오.
루프 유형 | 기술 |
---|---|
for 루프 | 일련의 명령문을 여러 번 실행하고 루프 변수를 관리하는 코드를 축약합니다. |
for ..each 루프 | 그룹에 요소가 하나 이상 있으면 실행되고 그룹의 각 요소에 대해 반복됩니다. |
while..wend 루프 | 루프 본문을 실행하기 전에 조건을 테스트합니다. |
do..while 루프 | do..While 문은 조건이 True이면 실행됩니다. (즉) 조건이 False가 될 때까지 루프를 반복해야합니다. |
do..until 루프 | do..Until 문은 조건이 False이면 실행됩니다. (즉) 조건이 True가 될 때까지 루프를 반복해야합니다. |
루프 제어문
루프 제어문은 정상적인 순서에서 실행을 변경합니다. 실행이 범위를 벗어나면 루프의 나머지 문은 모두 실행되지 않습니다.
VBScript는 다음 제어문을 지원합니다. 세부 사항을 확인하려면 다음 링크를 클릭하십시오.
제어문 | 기술 |
---|---|
For 문 종료 | 종료 For loop 문을 실행하고 루프 바로 다음 문으로 실행을 전송합니다. |
Do 문 종료 | 종료 Do While 문을 실행하고 루프 바로 다음 문으로 실행을 전송합니다. |
이벤트 란?
VBScript와 HTML의 상호 작용은 사용자 나 브라우저가 페이지를 조작 할 때 발생하는 이벤트를 통해 처리됩니다. 페이지가로드되면 이벤트입니다. 사용자가 버튼을 클릭하면 그 클릭도 이벤트입니다. 이벤트의 다른 예로는 아무 키나 누르기, 창 닫기, 창 크기 조정 등이 있습니다. 개발자는 이러한 이벤트를 사용하여 VBScript 코딩 응답을 실행하여 버튼이 창을 닫고, 메시지가 사용자에게 표시되고, 데이터가 유효성을 검사하고, 발생할 수있는 다른 유형의 반응.
이벤트는 DOM (문서 개체 모델)의 일부이며 모든 HTML 요소에는 VBScript 코드를 트리거 할 수있는 특정 이벤트 집합이 있습니다. HTML 이벤트 참조를 더 잘 이해하려면이 작은 자습서를 살펴보십시오 . 여기서는 Event와 VBScript 간의 관계를 이해하기위한 몇 가지 예를 살펴 보겠습니다.
onclick 이벤트 유형
사용자가 마우스 왼쪽 버튼을 클릭 할 때 발생하는 가장 자주 사용되는 이벤트 유형입니다. 이 이벤트 유형에 대해 유효성 검사, 경고 등을 넣을 수 있습니다.
예
<html>
<head>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox "Hello World"
End Function
</script>
</head>
<body>
<input type = "button" onclick = "sayHello()" value = "Say Hello"/>
</body>
</html>
다음 결과가 생성되고 Hello 버튼을 클릭하면 sayHello () 함수를 트리거하는 onclick 이벤트가 발생합니다.
onsubmit 이벤트 유형
또 다른 가장 중요한 이벤트 유형은 onsubmit 입니다. 이 이벤트는 양식을 제출하려고 할 때 발생합니다. 따라서이 이벤트 유형에 대해 양식 유효성 검사를 할 수 있습니다. 제출 버튼을 클릭하여 양식을 제출하면 메시지 상자가 나타납니다.
제출 버튼을 클릭하여 양식을 제출하면 메시지 상자가 나타납니다.
예
<html>
<head> </head>
<body>
<script language = "VBScript">
Function fnSubmit()
Msgbox("Hello Tutorialspoint.Com")
End Function
</script>
<form action = "/cgi-bin/test.cgi" method = "post" name = "form1" onSubmit = "fnSubmit()">
<input name = "txt1" type = "text"><br>
<input name = "btnButton1" type = "submit" value="Submit">
</form>
</body>
</html>
onmouseover 및 onmouseout
이 두 가지 이벤트 유형은 이미지 또는 텍스트로도 멋진 효과를 만드는 데 도움이됩니다. onMouseover와 어떤 요소 위에 마우스를 가져오고 때 이벤트가 발생 onmouseout는 해당 요소에서 마우스를 꺼내 때 발생합니다.
예
<html>
<head> </head>
<body>
<script language = "VBScript">
Function AlertMsg
Msgbox("ALERT !")
End Function
Function onmourse_over()
Msgbox("Onmouse Over")
End Function
Sub txt2_OnMouseOut()
Msgbox("Onmouse Out !!!")
End Sub
Sub btnButton_OnMouseOut()
Msgbox("onmouse out on Button !")
End Sub
</script>
<form action = "page.cgi" method = "post" name = "form1">
<input name = "txt1" type = "text" OnMouseOut = "AlertMsg()"><br>
<input name = "txt2" type = "text" OnMouseOver = "onmourse_over()">
<br><input name = "btnButton" type = "button" value = "Submit">
</form>
</body>
</html>
마우스를 텍스트 상자 위로 가져 가거나 포커스를 텍스트 상자와 버튼에서 멀리 이동할 때 결과가 생성됩니다.
HTML 4 표준 이벤트
참조를 위해 표준 HTML 4 이벤트가 여기에 나열되어 있습니다. 여기서 스크립트는 해당 이벤트에 대해 실행될 VBScript 함수를 나타냅니다.
행사 | 값 | 기술 |
---|---|---|
onchange | 스크립트 | 요소가 변경되면 스크립트가 실행됩니다. |
제출시 | 스크립트 | 양식이 제출되면 스크립트가 실행됩니다. |
onreset | 스크립트 | 양식이 재설정되면 스크립트가 실행됩니다. |
onblur | 스크립트 | 요소가 포커스를 잃으면 스크립트가 실행됩니다. |
onfocus | 스크립트 | 요소가 포커스를 받으면 스크립트가 실행됩니다. |
onkeydown | 스크립트 | 키를 누르면 스크립트가 실행됩니다. |
onkeypress | 스크립트 | 키를 눌렀다 놓으면 스크립트가 실행됩니다. |
onkeyup | 스크립트 | 키를 놓으면 스크립트가 실행됩니다. |
onclick | 스크립트 | 마우스 클릭시 스크립트 실행 |
ondblclick | 스크립트 | 마우스를 두 번 클릭하면 스크립트가 실행됩니다. |
onmousedown | 스크립트 | 마우스 버튼을 누르면 스크립트가 실행됩니다. |
onmousemove | 스크립트 | 마우스 포인터가 움직일 때 스크립트 실행 |
onmouseout | 스크립트 | 마우스 포인터가 요소 밖으로 이동할 때 스크립트가 실행됩니다. |
onmouseover | 스크립트 | 마우스 포인터가 요소 위로 이동할 때 스크립트가 실행됩니다. |
onmouseup | 스크립트 | 마우스 버튼을 놓으면 스크립트가 실행됩니다. |
쿠키 란 무엇입니까?
웹 브라우저와 서버는 HTTP 프로토콜을 사용하여 통신하고 HTTP는 상태 비 저장 프로토콜입니다. 그러나 상업용 웹 사이트의 경우 서로 다른 페이지간에 세션 정보를 유지해야합니다. 예를 들어 하나의 사용자 등록은 여러 페이지를 완료 한 후 종료됩니다. 그러나 모든 웹 페이지에서 사용자의 세션 정보를 유지하는 방법. 많은 상황에서 쿠키 사용은 더 나은 방문자 경험이나 사이트 통계에 필요한 선호도, 구매, 수수료 및 기타 정보를 기억하고 추적하는 가장 효율적인 방법입니다.
어떻게 작동합니까?
귀하의 서버는 쿠키 형태로 방문자의 브라우저에 일부 데이터를 보냅니다. 브라우저는 쿠키를 수락 할 수 있습니다. 그렇다면 방문자의 하드 드라이브에 일반 텍스트 레코드로 저장됩니다. 이제 방문자가 사이트의 다른 페이지에 도착하면 브라우저는 검색을 위해 동일한 쿠키를 서버로 보냅니다. 일단 검색되면 서버는 이전에 저장된 내용을 알고 / 기억합니다. 쿠키는 5 개의 가변 길이 필드의 일반 텍스트 데이터 레코드입니다.
Expires− 쿠키가 만료되는 날짜. 비어있는 경우 방문자가 브라우저를 종료 할 때 쿠키가 만료됩니다.
Domain − 사이트의 도메인 이름.
Path− 쿠키를 설정 한 디렉토리 또는 웹 페이지의 경로. 디렉토리 나 페이지에서 쿠키를 검색하려는 경우 비어있을 수 있습니다.
Secure−이 필드에 "secure"라는 단어가 포함되어 있으면 쿠키는 보안 서버에서만 검색 할 수 있습니다. 이 필드가 비어 있으면 그러한 제한이 없습니다.
Name=Value − 쿠키는 키와 값 쌍의 형태로 설정 및 검색됩니다.
쿠키는 원래 CGI 프로그래밍을 위해 설계되었으며 쿠키의 데이터는 웹 브라우저와 웹 서버간에 자동으로 전송되므로 서버의 CGI 스크립트는 클라이언트에 저장된 쿠키 값을 읽고 쓸 수 있습니다.
VBScript는 Document 개체 의 쿠키 속성을 사용하여 쿠키를 조작 할 수도 있습니다 . VBScript는 현재 웹 페이지에 적용되는 쿠키를 읽고, 만들고, 수정하고, 삭제할 수 있습니다.
쿠키 저장
쿠키를 만드는 가장 간단한 방법은 document.cookie 객체에 문자열 값을 할당하는 것입니다.
통사론
document.cookie = "key1 = value1;key2 = value2;expires = date"
여기서 만료 속성은 선택 사항입니다. 이 속성에 유효한 날짜 또는 시간을 제공하면 쿠키가 지정된 날짜 또는 시간에 만료되고 해당 쿠키 값에 액세스 할 수 없게됩니다.
예
다음은 입력 쿠키에 고객 이름을 설정하는 예 입니다.
<html>
<head>
<script type = "text/vbscript">
Function WriteCookie
If document.myform.customer.value = "" Then
msgbox "Enter some value!"
Else
cookievalue = (document.myform.customer.value)
document.cookie = "name = " + cookievalue
msgbox "Setting Cookies : " & "name = " & cookievalue
End If
End Function
</script>
</head>
<body>
<form name = "myform" action = "">
Enter name: <input type = "text" name = "customer"/>
<input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
</form>
</body>
</html>
다음 결과가 생성됩니다. 이제 텍스트 상자에 무언가를 입력하고 "쿠키 설정"버튼을 눌러 쿠키를 설정하십시오.
이제 시스템에 name 이라는 쿠키가 있습니다. 쉼표로 구분 된 여러 키 = 값 쌍을 사용하여 여러 쿠키를 설정할 수 있습니다 . 다음 섹션에서이 쿠키를 읽는 방법을 배웁니다.
쿠키 읽기
document.cookie 객체 의 값 이 쿠키 이기 때문에 쿠키를 읽는 것은 쿠키를 쓰는 것만 큼 간단 합니다. 따라서 쿠키에 액세스 할 때마다이 문자열을 사용할 수 있습니다. 위해 document.cookie 문자열의 목록을 유지합니다 이름 = 값의 경우 세미콜론으로 구분 쌍의 이름 은 IS 이름 쿠키가 가치가 문자열 값입니다. 다음과 같이 문자열의 split () 함수를 사용하여 문자열을 키와 값으로 나눌 수 있습니다.
예
다음은 이전 섹션에서 설정 한 쿠키를 가져 오는 예입니다.
<html>
<head>
<script type = "text/vbscript">
Function ReadCookie
allcookies = document.cookie
msgbox "All Cookies : " + allcookies
cookiearray = split(allcookies,";")
For i = 0 to ubound(cookiearray)
Name = Split(cookiearray(i),"=")
Msgbox "Key is : " + Name(0) + " and Value is : " + Name(1)
Next
End Function
</script>
</head>
<body>
<form name = "myform" action = "">
<input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>
</form>
</body>
</html>
Note− 여기서 UBound 는 배열 의 길이를 반환하는 Array 클래스 의 메서드입니다 . 별도의 장에서 배열에 대해 설명합니다. 그때까지 소화해보세요.
다음 결과가 생성됩니다. 이제 이전 섹션에서 설정 한 쿠키를 보려면 "쿠키 가져 오기"버튼을 누르십시오.
Note− 컴퓨터에 이미 다른 쿠키가 설정되어있을 수 있습니다. 따라서 위의 코드는 컴퓨터에 설정된 모든 쿠키를 보여줍니다.
쿠키 만료 날짜 설정
만료 날짜를 설정하고 쿠키 내에 만료 날짜를 저장하여 현재 브라우저 세션 이상으로 쿠키 수명을 연장 할 수 있습니다. 만료 속성을 날짜 및 시간 으로 설정하여이를 수행 할 수 있습니다 .
예
다음 예제는 1 개월 후 쿠키 만료 날짜를 설정하는 방법을 보여줍니다.
<html>
<head>
<script type = "text/vbscript">
Function WriteCookie()
x = now()
y = dateadd("m",1,now()) ' Making it to expire next
cookievalue = document.myform.customer.value
document.cookie = "name = " & cookievalue
document.cookie = "expires = " & y
msgbox("Setting Cookies : " & "name=" & cookievalue )
End Function
</script>
</head>
<body>
<form name = "myform" action = "">
Enter name: <input type = "text" name = "customer"/>
<input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
</form>
</body>
</html>
쿠키 삭제
때로는 쿠키를 삭제하여 이후에 쿠키를 읽으려는 시도가 아무것도 반환하지 않도록 할 수 있습니다. 이렇게하려면 만료 날짜를 과거 시간으로 설정하기 만하면됩니다.
Example
The following example illustrates how to delete a cookie by setting its expiration date 1 Month in the past −
<html>
<head>
<script type = "text/vbscript">
Function WriteCookie()
x = now()
x = now()
a = Month(x)-1
b = day(x)
c = year(x)
d = DateSerial(c,a,b)
e = hour(x)
msgbox e
f = minute(x)
msgbox f
d = cdate(d & " " & e & ":" & f)
msgbox d
cookievalue = document.myform.customer.value
document.cookie = "name = " & cookievalue
document.cookie = "expires = " & d
msgbox("Setting Cookies : " & "name=" & cookievalue )
End Function
</script>
</head>
<body>
<form name = "myform" action = "">
Enter name: <input type = "text" name = "customer"/>
<input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
</form>
</body>
</html>
Number functions help the developers to handle numbers in an efficient way and also helps them to convert their subtypes. It also helps them to make use of the inbuilt mathematical functions associated with VBScript.
Number Conversion Functions
Number functions help us to convert a given number from one data subtype to another data subtype.
Show Examples
Sr.No | Function & Description |
---|---|
1 | CDbl A Function, which converts a given number of any variant subtype to double |
2 | CInt A Function, which converts a given number of any variant subtype to Integer |
3 | CLng A Function, which converts a given number of any variant subtype to Long |
4 | CSng A Function, which converts a given number of any variant subtype to Single |
5 | Hex A Function, which converts a given number of any variant subtype to Hexadecimal |
Number Formatting Functions
The Number formatting functions help the developers to express the given number in a format that they wish to.
Show Examples
Sr.No | Function & Description |
---|---|
1 | FormatNumber A Function, which would return an expression formatted as a number |
2 | FormatPercent A Function, which would return an expression formatted as a percentage |
Mathematical Functions
Mathematical Functions help us to evaluate the mathematical and trigonometrical functions of a given input number.
Show Examples
Sr.No | Function & Description |
---|---|
1 | Int A Function, which returns the integer part of the given number |
2 | Fix A Function, which returns the integer part of the given number |
3 | Log A Function, which returns the natural logarithm of the given number. Negative numbers disallowed |
4 | Oct A Function, which returns the Octal value of the given percentage |
5 | Hex A Function, which returns the Hexadecimal value of the given number |
6 | Rnd A Function, which returns a random number between 0 and 1 |
7 | Sgn A Function, which returns a number corresponding to the sign of the specified number |
8 | Sqr A Function, which returns the square root of the given number. Negative numbers disallowed |
9 | Abs A Function, which returns the absolute value of the given number |
10 | Exp A Function, which returns the value of e raised to the specified number |
11 | Sin A Function, which returns sine value of the given number |
12 | Cos A Function, which returns cosine value of the given number |
13 | Tan A Function, which returns tan value of the given number |
문자열은 일련의 문자로 알파벳이나 숫자, 특수 문자 또는 모두로 구성 될 수 있습니다. 변수는 큰 따옴표 ""로 묶인 경우 문자열이라고합니다.
통사론
variablename = "string"
예
str1 = "string" ' Only Alphabets
str2 = "132.45" ' Only Numbers
str3 = "!@#$;*" ' Only Special Characters
Str4 = "Asc23@#" ' Has all the above
문자열 함수
개발자가 문자열로 매우 효과적으로 작업 할 수 있도록 미리 정의 된 VBScript 문자열 함수가 있습니다. 다음은 VBScript에서 지원되는 String 메서드입니다. 자세히 알아 보려면 각 방법을 클릭하십시오.
기능 명 | 기술 |
---|---|
InStr | 지정된 부분 문자열의 첫 번째 발생을 반환합니다. 검색은 왼쪽에서 오른쪽으로 이루어집니다. |
InstrRev | 지정된 부분 문자열의 첫 번째 발생을 반환합니다. 검색은 오른쪽에서 왼쪽으로 이루어집니다. |
Lcase | 지정된 문자열의 소문자를 반환합니다. |
Ucase | 지정된 문자열의 대문자를 반환합니다. |
왼쪽 | 문자열의 왼쪽에서 특정 수의 문자를 반환합니다. |
권리 | 문자열의 오른쪽에서 특정 수의 문자를 반환합니다. |
중간 | 지정된 매개 변수를 기반으로 문자열에서 특정 수의 문자를 리턴합니다. |
Ltrim | 지정된 문자열의 왼쪽에있는 공백을 제거한 후 문자열을 반환합니다. |
Rtrim | 지정된 문자열의 오른쪽에있는 공백을 제거한 후 문자열을 반환합니다. |
손질 | 선행 및 후행 공백을 모두 제거한 후 문자열 값을 리턴합니다. |
Len | 주어진 문자열의 길이를 반환합니다. |
바꾸다 | 문자열을 다른 문자열로 바꾼 후 문자열을 반환합니다. |
우주 | 지정된 수의 공백으로 문자열을 채 웁니다. |
StrComp | 지정된 두 문자열을 비교 한 후 정수 값을 반환합니다. |
끈 | 지정된 횟수만큼 지정된 문자가있는 문자열을 반환합니다. |
StrReverse | 주어진 문자열의 문자 시퀀스를 뒤집은 후 문자열을 반환합니다. |
어레이 란?
우리는 변수가 값을 저장하는 컨테이너라는 것을 잘 알고 있습니다. 때때로 개발자는 한 번에 하나의 변수에 둘 이상의 값을 보유 할 수 있습니다. 일련의 값이 단일 변수에 저장되면이를array variable.
배열 선언
배열은 괄호를 사용하는 배열 변수 선언을 제외하고는 변수가 선언 된 것과 동일한 방식으로 선언됩니다. 다음 예에서 배열의 크기는 괄호 안에 언급되어 있습니다.
'Method 1 : Using Dim
Dim arr1() 'Without Size
'Method 2 : Mentioning the Size
Dim arr2(5) 'Declared with size of 5
'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")
배열 크기는 5로 표시되지만 배열 인덱스가 ZERO부터 시작하므로 6 개의 값을 보유 할 수 있습니다.
배열 색인은 음수 일 수 없습니다.
VBScript 배열은 배열에 모든 유형의 변수를 저장할 수 있습니다. 따라서 배열은 단일 배열 변수에 정수, 문자열 또는 문자를 저장할 수 있습니다.
배열에 값 할당
값은 할당 할 각 값에 대해 배열 인덱스 값을 지정하여 배열에 할당됩니다. 문자열 일 수 있습니다.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim arr(5)
arr(0) = "1" 'Number as String
arr(1) = "VBScript" 'String
arr(2) = 100 'Number
arr(3) = 2.45 'Decimal Number
arr(4) = #10/07/2013# 'Date
arr(5) = #12.45 PM# 'Time
document.write("Value stored in Array index 0 : " & arr(0) & "<br />")
document.write("Value stored in Array index 1 : " & arr(1) & "<br />")
document.write("Value stored in Array index 2 : " & arr(2) & "<br />")
document.write("Value stored in Array index 3 : " & arr(3) & "<br />")
document.write("Value stored in Array index 4 : " & arr(4) & "<br />")
document.write("Value stored in Array index 5 : " & arr(5) & "<br />")
</script>
</body>
</html>
위의 코드를 .HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 생성됩니다.
Value stored in Array index 0 : 1
Value stored in Array index 1 : VBScript
Value stored in Array index 2 : 100
Value stored in Array index 3 : 2.45
Value stored in Array index 4 : 7/10/2013
Value stored in Array index 5 : 12:45:00 PM
다차원 배열
배열은 단일 차원에 국한되지 않고 최대 60 개의 차원을 가질 수 있습니다. 2 차원 배열이 가장 일반적으로 사용되는 배열입니다.
예
다음 예제에서 다차원 배열은 3 개의 행과 4 개의 열로 선언됩니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim arr(2,3) ' Which has 3 rows and 4 columns
arr(0,0) = "Apple"
arr(0,1) = "Orange"
arr(0,2) = "Grapes"
arr(0,3) = "pineapple"
arr(1,0) = "cucumber"
arr(1,1) = "beans"
arr(1,2) = "carrot"
arr(1,3) = "tomato"
arr(2,0) = "potato"
arr(2,1) = "sandwitch"
arr(2,2) = "coffee"
arr(2,3) = "nuts"
document.write("Value in Array index 0,1 : " & arr(0,1) & "<br />")
document.write("Value in Array index 2,2 : " & arr(2,2) & "<br />")
</script>
</body>
</html>
위의 코드를 .HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 생성됩니다.
Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee
Redim 성명
ReDim 문은 동적 배열 변수를 선언하고 저장 공간을 할당하거나 재 할당하는 데 사용됩니다.
ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
Preserve − 마지막 차원의 크기를 변경할 때 기존 배열의 데이터를 보존하는 데 사용되는 선택적 매개 변수.
varname − 표준 변수 이름 지정 규칙을 따라야하는 변수 이름을 나타내는 필수 매개 변수.
subscripts − 배열의 크기를 나타내는 필수 매개 변수.
예
아래 예에서는 배열이 재정의 된 후 기존 배열 크기가 변경 될 때 값이 보존됩니다.
Note − 원래보다 더 작은 배열의 크기를 조정하면 제거 된 요소의 데이터가 손실됩니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim a()
i = 0
redim a(5)
a(0) = "XYZ"
a(1) = 41.25
a(2) = 22
REDIM PRESERVE a(7)
For i = 3 to 7
a(i) = i
Next
'to Fetch the output
For i = 0 to ubound(a)
Msgbox a(i)
Next
</script>
</body>
</html>
위의 스크립트를 HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 나옵니다.
XYZ
41.25
22
3
4
5
6
7
배열 방법
VBScript에는 개발자가 배열을 효과적으로 처리하는 데 도움이되는 다양한 내장 함수가 있습니다. 배열과 함께 사용되는 모든 방법은 다음과 같습니다. 자세히 알아 보려면 메소드 이름을 클릭하십시오.
함수 | 기술 |
---|---|
LBound | 주어진 배열의 가장 작은 첨자에 해당하는 정수를 반환하는 함수. |
UBound | 주어진 배열의 가장 큰 첨자에 해당하는 정수를 반환하는 함수. |
스플릿 | 지정된 수의 값을 포함하는 배열을 반환하는 함수입니다. 구분 기호에 따라 분할됩니다. |
어울리다 | 배열에 지정된 수의 하위 문자열을 포함하는 문자열을 반환하는 함수입니다. 이것은 Split Method의 정반대 기능입니다. |
필터 | 특정 필터 기준에 따라 문자열 배열의 하위 집합을 포함하는 0 기반 배열을 반환하는 함수입니다. |
IsArray | 입력 변수가 배열인지 여부를 나타내는 부울 값을 반환하는 함수입니다. |
삭제 | 배열 변수에 할당 된 메모리를 복구하는 함수. |
VBScript 날짜 및 시간 함수는 개발자가 날짜와 시간을 한 형식에서 다른 형식으로 변환하거나 특정 조건에 맞는 형식으로 날짜 또는 시간 값을 표현할 수 있도록 도와줍니다.
날짜 기능
함수 | 기술 |
---|---|
데이트 | 현재 시스템 날짜를 반환하는 함수 |
CDate | 주어진 입력을 날짜로 변환하는 함수 |
날짜 추가 | 지정된 시간 간격이 추가 된 날짜를 반환하는 함수 |
DateDiff | 두 기간의 차이를 반환하는 함수 |
DatePart | 주어진 입력 날짜 값의 지정된 부분을 반환하는 함수 |
DateSerial | 주어진 연도, 월, 날짜에 유효한 날짜를 반환하는 함수 |
FormatDateTime | 제공된 매개 변수에 따라 날짜 형식을 지정하는 함수 |
IsDate | 제공된 매개 변수가 날짜인지 여부에 관계없이 부울 값을 반환하는 함수 |
일 | 지정된 날짜의 일을 나타내는 1에서 31 사이의 정수를 반환하는 함수 |
달 | 지정된 날짜의 월을 나타내는 1에서 12 사이의 정수를 반환하는 함수 |
년 | 지정된 날짜의 연도를 나타내는 정수를 반환하는 함수 |
MonthName | 지정된 날짜에 대한 특정 월의 이름을 반환하는 함수 |
주일 | 지정된 요일의 요일을 나타내는 정수 (1 ~ 7)를 반환하는 함수입니다. |
WeekDayName | 지정된 요일의 요일 이름을 반환하는 함수입니다. |
시간 함수
함수 | 기술 |
---|---|
지금 | 현재 시스템 날짜 및 시간을 반환하는 함수 |
시 | 주어진 시간의 시간 부분을 나타내는 0에서 23 사이의 정수를 반환하는 함수 |
분 | 주어진 시간의 분 부분을 나타내는 0에서 59 사이의 정수를 반환하는 함수 |
둘째 | 주어진 시간의 초 부분을 나타내는 0에서 59 사이의 정수를 반환하는 함수 |
시각 | 현재 시스템 시간을 반환하는 함수 |
시간제 노동자 | 오전 12:00 이후의 초 및 밀리 초를 반환하는 함수 |
TimeSerial | 시간, 분, 초의 특정 입력에 대한 시간을 반환하는 함수 |
TimeValue | 입력 문자열을 시간 형식으로 변환하는 함수 |
기능이란?
함수는 프로그램의 어느 곳에서나 호출 할 수있는 재사용 가능한 코드 그룹입니다. 이렇게하면 동일한 코드를 반복해서 작성할 필요가 없습니다. 이를 통해 프로그래머는 큰 프로그램을 여러 개의 작고 관리 가능한 기능으로 나눌 수 있습니다. 내장 함수 외에도 VBScript를 사용하면 사용자 정의 함수도 작성할 수 있습니다. 이 섹션에서는 VBScript에서 자신의 함수를 작성하는 방법을 설명합니다.
기능 정의
함수를 사용하기 전에 특정 함수를 정의해야합니다. VBScript에서 함수를 정의하는 가장 일반적인 방법은 Function 키워드를 사용하고 그 뒤에 고유 한 함수 이름을 사용하는 것입니다.End Function 키워드는 함수의 끝을 나타냅니다.
기본 구문은 다음과 같습니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function Functionname(parameter-list)
statement 1
statement 2
statement 3
.......
statement n
End Function
</script>
</body>
</html>
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
</script>
</body>
</html>
함수 호출
나중에 스크립트의 어딘가에서 함수를 호출하려면 다음을 사용하여 해당 함수의 이름을 작성하면됩니다. Call 예어.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
Call sayHello()
</script>
</body>
</html>
기능 매개 변수
지금까지는 매개 변수가없는 함수를 보았지만 함수를 호출하는 동안 다른 매개 변수를 전달하는 기능이 있습니다. 이러한 전달 된 매개 변수는 함수 내에서 캡처 할 수 있으며 이러한 매개 변수를 통해 모든 조작을 수행 할 수 있습니다. 함수는Call 예어.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello(name, age)
msgbox( name & " is " & age & " years old.")
End Function
Call sayHello("Tutorials point", 7)
</script>
</body>
</html>
함수에서 값 반환
VBScript 함수는 선택적 return 문을 가질 수 있습니다. 함수에서 값을 반환하려는 경우 필요합니다. 예를 들어 함수에 두 개의 숫자를 전달한 다음 함수에서 호출 프로그램에서 곱셈을 반환 할 것으로 예상 할 수 있습니다.
NOTE − 함수는 함수 이름 자체에 할당 된 배열로 쉼표로 구분 된 여러 값을 반환 할 수 있습니다.
예
이 함수는 두 개의 매개 변수를 가져 와서 연결하고 호출 프로그램에서 결과를 리턴합니다. VBScript에서는 함수 이름을 사용하여 함수에서 값이 반환됩니다. 두 개 이상의 값을 반환하려는 경우 함수 이름이 값 배열과 함께 반환됩니다. 호출 프로그램에서 결과는 결과 변수에 저장됩니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
</script>
</body>
</html>
이제이 함수를 다음과 같이 호출 할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
' Here is the usage of returning value from function.
dim result
result = concatenate("Zara", "Ali")
msgbox(result)
</script>
</body>
</html>
하위 절차
하위 절차는 기능과 유사하지만 몇 가지 차이점이 있습니다.
함수가 값을 반환하거나 반환하지 않을 수있는 동안 하위 절차는 값을 반환하지 않습니다.
호출 키워드없이 호출 할 수 있습니다.
하위 절차는 항상 Sub 과 End Sub 진술.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
</script>
</body>
</html>
호출 절차
나중에 스크립트의 어딘가에서 프로 시저를 호출하려면 해당 프로 시저의 이름을 Call 예어.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
sayHello()
</script>
</body>
</html>
기능에 대한 고급 개념
VBScript 함수에 대해 배울 것이 많습니다. 매개 변수를 값 또는 참조로 전달할 수 있습니다. 자세한 내용을 보려면 각각을 클릭하십시오.
ByVal- 값으로 매개 변수 전달
ByRef- 참조로 매개 변수 전달
대화 상자 란 무엇입니까?
VBScript를 사용하면 개발자가 사용자와 효과적으로 상호 작용할 수 있습니다. 사용자에게 메시지를 표시하는 메시지 상자 또는 사용자가 값을 입력 할 수있는 입력 상자 일 수 있습니다.
VBScript MsgBox 함수
MsgBox 함수는 메시지 상자를 표시하고 사용자가 버튼을 클릭 할 때까지 기다린 후 사용자가 클릭 한 버튼을 기반으로 동작을 수행합니다.
통사론
MsgBox(prompt[,buttons][,title][,helpfile,context])
매개 변수 설명
Prompt− 필수 매개 변수. 대화 상자에 메시지로 표시되는 문자열입니다. 프롬프트의 최대 길이는 약 1024 자입니다. 메시지가 한 줄 이상으로 확장되면 각 줄 사이에 캐리지 리턴 문자 (Chr (13)) 또는 줄 바꿈 문자 (Chr (10))를 사용하여 줄을 구분할 수 있습니다.
buttons− 선택적 매개 변수. 표시 할 버튼 유형, 사용할 아이콘 스타일, 기본 버튼의 ID 및 메시지 상자의 양식을 지정하는 숫자 표현식입니다. 공백으로두면 버튼의 기본값은 0입니다.
Title− 선택적 매개 변수. 대화 상자의 제목 표시 줄에 표시되는 문자열 식입니다. 제목이 비어 있으면 응용 프로그램 이름이 제목 표시 줄에 배치됩니다.
helpfile− 선택적 매개 변수. 대화 상자에 상황에 맞는 도움말을 제공하는 데 사용할 도움말 파일을 식별하는 문자열 식입니다.
context− 선택적 매개 변수. 도움말 작성자가 적절한 도움말 항목에 할당 한 도움말 컨텍스트 번호를 식별하는 숫자 식입니다. 컨텍스트가 제공되는 경우 도움말 파일도 제공되어야합니다.
그만큼 Buttons 매개 변수는 다음 값 중 하나를 취할 수 있습니다.
0 vbOKOnly 확인 버튼 만 표시합니다.
1 vbOKCancel 확인 및 취소 버튼을 표시합니다.
2 vbAbortRetryIgnore 중단, 다시 시도 및 무시 단추를 표시합니다.
3 vbYesNoCancel 예, 아니요 및 취소 단추를 표시합니다.
4 vbYesNo 예 및 아니요 단추를 표시합니다.
5 vbRetryCancel 다시 시도 및 취소 단추를 표시합니다.
16 vbCritical 위험 메시지 아이콘을 표시합니다.
32 vbQuestion 경고 쿼리 아이콘을 표시합니다.
48 vbExclamation 경고 메시지 아이콘을 표시합니다.
64 vbInformation 정보 메시지 아이콘을 표시합니다.
0 vbDefaultButton1 첫 번째 버튼이 기본값입니다.
256 vbDefaultButton2 두 번째 버튼이 기본값입니다.
512 vbDefaultButton3 세 번째 버튼이 기본값입니다.
768 vbDefaultButton4 네 번째 버튼이 기본값입니다.
0 vbApplicationModal 응용 프로그램 모달. 현재 응용 프로그램은 사용자가 메시지 상자에 응답 할 때까지 작동하지 않습니다.
4096 vbSystemModal 시스템 모달. 사용자가 메시지 상자에 응답 할 때까지 모든 응용 프로그램이 작동하지 않습니다.
위의 값은 논리적으로 4 개의 그룹으로 나뉩니다. 첫 번째 그룹 (0 ~ 5)은 메시지 상자에 표시 할 버튼을 나타냅니다. 두 번째 그룹 (16, 32, 48, 64)은 표시 할 아이콘의 스타일을 설명하고 세 번째 그룹 (0, 256, 512, 768)은 어떤 버튼이 기본값이어야하는지, 네 번째 그룹 (0, 4096)은 )는 메시지 상자의 양식을 결정합니다.
반환 값
MsgBox 함수는 다음 값 중 하나를 반환 할 수 있습니다.
1-vbOK-확인을 클릭했습니다.
2-vbCancel-취소를 클릭했습니다.
3-vbAbort-중단을 클릭했습니다.
4-vbRetry-재 시도를 클릭했습니다.
5-vbIgnore-무시를 클릭했습니다.
6-vbYes-예를 클릭했습니다.
7-vbNo-아니요를 클릭했습니다.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
'Message Box with just prompt message
MsgBox("Welcome")
'Message Box with title, yes no and cancel Butttons
a = MsgBox("Do you like blue color?",3,"Choose options")
' Assume that you press No Button
document.write("The Value of a is " & a)
</script>
</body>
</html>
위의 스크립트가 실행되면 메시지 박스가 표시되고 No Button을 누르면 a의 값은 7이됩니다.
The Value of a is 7
VBScript InputBox 함수
InputBox 함수는 사용자가 사용자로부터 값을 가져 오는 데 도움이됩니다. 값을 입력 한 후 사용자가 확인 버튼을 클릭하거나 키보드에서 Enter 키를 누르면 InputBox 함수가 텍스트 상자에 텍스트를 반환합니다. 사용자가 취소 버튼을 클릭하면 함수는 빈 문자열 ( "")을 반환합니다.
통사론
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
매개 변수 설명
Prompt− 필수 매개 변수. 대화 상자에 메시지로 표시되는 문자열입니다. 프롬프트의 최대 길이는 약 1024 자입니다. 메시지가 한 줄 이상으로 확장되면 각 줄 사이에 캐리지 리턴 문자 (Chr (13)) 또는 줄 바꿈 문자 (Chr (10))를 사용하여 줄을 구분할 수 있습니다.
Title− 선택적 매개 변수. 대화 상자의 제목 표시 줄에 표시되는 문자열 식입니다. 제목이 비어 있으면 응용 프로그램 이름이 제목 표시 줄에 배치됩니다.
Default− 선택적 매개 변수. 사용자가 표시 할 텍스트 상자의 기본 텍스트입니다.
XPos− 선택적 매개 변수. 화면 왼쪽에서 수평으로 프롬프트 거리를 나타내는 X 축의 위치입니다. 공백으로두면 입력 상자가 가로 중앙에 배치됩니다.
YPos− 선택적 매개 변수. 화면 왼쪽에서 수직으로 프롬프트 거리를 나타내는 Y 축의 위치입니다. 공백으로두면 입력 상자가 세로 중앙에 배치됩니다.
helpfile− 선택적 매개 변수. 대화 상자에 상황에 맞는 도움말을 제공하는 데 사용할 도움말 파일을 식별하는 문자열 식입니다.
context− 선택적 매개 변수. 도움말 작성자가 적절한 도움말 항목에 할당 한 도움말 컨텍스트 번호를 식별하는 숫자 식입니다. 컨텍스트가 제공되는 경우 도움말 파일도 제공되어야합니다.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
' Input Box with only Prompt
InputBox("Enter a number")
' Input Box with a Title
a = InputBox("Enter a Number","Enter Value")
msgbox a
' Input Box with a Prompt,Title and Default value
a = InputBox("Enter a Number","Enter Value",123)
msgbox a
' Input Box with a Prompt,Title,Default and XPos
a = InputBox("Enter your name","Enter Value",123,700)
msgbox a
' Input Box with a Prompt,Title and Default and YPos
a = InputBox("Enter your name","Enter Value",123,,500)
msgbox a
</script>
</body>
</html>
위의 스크립트가 실행되면 입력 상자가 표시되고 사용자가 입력 한 값을 표시합니다.
개체 란?
VBScript 런타임 개체는 다양한 작업을 수행하는 데 도움이됩니다. 이 섹션은 개체를 인스턴스화하고 작업하는 방법을 이해하는 데 도움이됩니다.
통사론
객체를 원활하게 사용하려면 객체를 선언하고 다음을 사용하여 인스턴스화해야합니다. Set 예어.
Dim objectname 'Declare the object name
Set objectname = CreateObject(object_type)
예
아래 예에서는 유형의 객체를 생성합니다. Scripting.Dictionary.
Dim obj
Set obj = CreateObject("Scripting.Dictionary")
개체 파괴
Object를 파괴하는 것의 중요성은 메모리를 해제하고 객체 변수를 재설정하는 것입니다.
통사론
객체를 파괴하려면 다음을 사용해야합니다. Set 키워드 다음에 개체 이름을 입력하고이를 가리 킵니다. Nothing.
Set objectname = Nothing 'Destroy the object.
예
아래 예에서는 유형의 객체를 생성합니다. Scripting.Dictionary.
Dim obj
Set obj = CreateObject("Scripting.Dictionary")
Set obj = Nothing.
개체 사용
자세한 내용을 알아 보려면 주어진 개체 유형을 각각 클릭하십시오.
개체 유형 | 기술 |
---|---|
수업 | Class는 그와 관련된 메소드 및 변수를 보유하고 Type Class의 객체를 생성하여 액세스하는 컨테이너입니다. |
Scripting.FileSystemObject | 파일 시스템으로 작업 할 수있는 개체 그룹입니다. |
스크립팅. 사전 | 사전 개체를 만드는 데 사용되는 개체 그룹입니다. |
디버그 | 출력을 Microsoft 스크립트 디버거로 보낼 수있는 전역 개체입니다. |
정규식은 패턴을 형성하는 일련의 문자로, 주로 검색 및 바꾸기에 사용됩니다. 패턴을 만드는 목적은 개발자가 조건에 따라 문자를 추출하고 특정 문자를 대체 할 수 있도록 특정 문자열을 일치시키는 것입니다.
RegExp 개체
RegExp 개체는 개발자가 문자열 패턴을 일치시키는 데 도움이되며 속성 및 메서드는 정규식을 쉽게 사용할 수 있도록 도와줍니다. JavaScript의 RegExp와 유사합니다.
속성
Pattern − Pattern 방식은 정규식을 정의하는 데 사용되는 문자열을 나타내며 정규식 객체를 사용하기 전에 설정해야합니다.
IgnoreCase− true 또는 false 인 경우 문자열의 가능한 모든 일치에 대해 정규식을 테스트해야하는지 여부를 나타내는 부울 속성. 명시 적으로 지정하지 않으면 IgnoreCase 값이 False로 설정됩니다.
Global− 정규식이 문자열의 모든 가능한 일치에 대해 테스트되어야하는지 여부를 나타내는 부울 속성. 명시 적으로 지정하지 않으면 전역 값이 False로 설정됩니다.
행동 양식
Test(search-string) − Test 메서드는 문자열을 인수로 사용하고 정규식이 문자열과 성공적으로 일치 할 수 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
Replace(search-string, replace-string) − Replace 메서드는 2 개의 매개 변수를 사용합니다. 검색이 성공하면 일치하는 문자열을 replace-string으로 바꾸고 새 문자열을 반환합니다. 일치하는 항목이 없으면 원래 검색 문자열이 반환됩니다.
Execute(search-string) − Execute 메서드는 각 성공적인 일치에 대한 Match 개체를 포함하는 Matches 컬렉션 개체를 반환한다는 점을 제외하면 Replace와 같이 작동합니다. 원래 문자열을 수정하지 않습니다.
컬렉션 개체와 일치
Matches 컬렉션 개체는 Execute 메서드의 결과로 반환됩니다. 이 컬렉션 개체는 0 개 이상의 Match 개체를 포함 할 수 있으며이 개체의 속성은 읽기 전용입니다.
Count − Count 메서드는 컬렉션에있는 일치 개체의 수를 나타냅니다.
Item − Item 메서드를 사용하면 match 컬렉션 개체에서 일치 개체에 액세스 할 수 있습니다.
개체 일치
Match 개체는 match 컬렉션 개체 내에 포함됩니다. 이러한 개체는 문자열 검색 후 성공적인 일치를 나타냅니다.
FirstIndex− 일치가 발생한 원래 문자열 내 위치를 나타냅니다. 이 색인은 0부터 시작하므로 문자열의 첫 번째 위치가 0입니다.
Length − 일치하는 문자열의 총 길이를 나타내는 값.
Value− 일치하는 값 또는 텍스트를 나타내는 값. Match 개체에 액세스 할 때의 기본값이기도합니다.
패턴 매개 변수에 관한 모든 것
패턴 구축은 PERL과 유사합니다. 패턴 구축은 정규 표현식으로 작업하는 동안 가장 중요한 것입니다. 이 섹션에서는 다양한 요소를 기반으로 패턴을 만드는 방법을 다룹니다.
위치 매칭
위치 일치의 중요성은 정규 표현식을 올바른 위치에 배치하는 것입니다.
상징 | 기술 |
---|---|
^ | 문자열의 시작 부분 만 일치합니다. |
$ | 문자열의 끝만 일치합니다. |
\비 | 모든 단어 경계와 일치 |
\비 | 비 단어 경계와 일치 |
리터럴 매칭
알파벳, 숫자 또는 특수 문자 또는 십진수, 16 진수와 같은 모든 형식의 문자는 리터럴로 처리 할 수 있습니다. 정규식 컨텍스트 내에서 이미 특별한 의미를 가진 문자가 거의 없으므로 이스케이프 시퀀스를 사용하여 이스케이프해야합니다.
상징 | 기술 |
---|---|
영숫자 | 알파벳 및 숫자 만 일치합니다. |
\엔 | 새 줄과 일치합니다. |
\ [ | 일치 [리터럴 만 |
\] | 일치] 리터럴 만 |
\ ( | 일치 (리터럴 만 |
\) | 일치) 리터럴 만 |
\티 | 가로 탭과 일치 |
\V | 수직 탭과 일치 |
\ | | 일치 | 리터럴 만 |
\ { | {리터럴 만 일치 |
\} | } 리터럴 만 일치 |
\\ | \ 리터럴 만 일치 |
\? | 일치? 리터럴 만 |
\ * | * 리터럴 만 일치 |
\ + | 일치 + 리터럴 만 |
\. | 일치합니다. 리터럴 만 |
\비 | 모든 단어 경계와 일치 |
\비 | 비 단어 경계와 일치 |
\에프 | 양식 피드와 일치 |
\아르 자형 | 캐리지 리턴과 일치 |
\트리플 엑스 | 8 진수 xxx의 ASCII 문자와 일치합니다. |
\ xdd | 16 진수 dd의 ASCII 문자와 일치합니다. |
\ uxxxx | UNICODE 리터럴 xxxx의 ASCII 문자와 일치합니다. |
캐릭터 클래스 매칭
문자 클래스는 사용자 정의 그룹화에 의해 형성되고 [] 중괄호로 묶인 패턴입니다. 목록에 포함되지 않아야하는 문자 클래스를 예상하는 경우 캡 ^ 인 음수 기호를 사용하여 특정 문자 클래스를 무시해야합니다.
상징 | 기술 |
---|---|
[xyz] | 문자 집합에 포함 된 모든 문자 클래스와 일치합니다. |
[^ xyz] | 문자 집합에 포함되지 않은 문자 클래스와 일치합니다. |
. | \ n을 제외한 모든 문자 클래스와 일치합니다. |
\ w | 모든 단어 문자 클래스와 일치합니다. [a-zA-Z_0-9]와 동일 |
\ W | 단어가 아닌 문자 클래스와 일치합니다. [^ a-zA-Z_0-9]와 동일 |
\디 | 모든 숫자 클래스와 일치합니다. [0-9]와 같습니다. |
\디 | 숫자가 아닌 문자 클래스와 일치합니다. [^ 0-9]와 같습니다. |
\에스 | 공백 문자 클래스와 일치합니다. [\ t \ r \ n \ v \ f]와 동일 |
\에스 | 공백 문자 클래스와 일치합니다. [^ \ t \ r \ n \ v \ f]와 동일 |
반복 매칭
반복 일치는 정규 표현식 내에서 여러 검색을 허용합니다. 또한 정규식에서 요소가 반복되는 횟수를 지정합니다.
상징 | 기술 |
---|---|
* | 지정된 정규식의 0 개 이상의 발생과 일치합니다. {0,}와 같습니다. |
+ | 주어진 정규식의 하나 이상의 발생과 일치합니다. {1,}에 해당합니다. |
? | 주어진 정규식의 0 개 또는 1 개의 발생과 일치합니다. {0,1}과 같습니다. |
{엑스} | 주어진 정규식의 정확히 x 개의 발생 횟수와 일치합니다. |
{엑스,} | 주어진 정규식의 최소 x 개 이상의 발생과 일치합니다. |
{x, y} | 주어진 정규식의 발생 횟수를 x에서 y로 찾습니다. |
대체 및 그룹화
대체 및 그룹화는 개발자가 특히 정규식 내에서 복잡한 절을 처리 할 때 더 복잡한 정규식을 생성하는 데 도움이되며 이는 뛰어난 유연성과 제어를 제공합니다.
상징 | 기술 |
---|---|
0 | 절을 만들기 위해 절을 그룹화합니다. "(xy)? (z)"는 "xyz"또는 "z"와 일치합니다. |
| | 대체는 하나의 정규식 절을 결합한 다음 개별 절 중 하나와 일치합니다. "(ij) | (23) | (pq)"는 "ij", "23"또는 "pq"와 일치합니다. |
정규식 작성
다음은 정규 표현식을 작성하는 방법을 명확하게 설명하는 몇 가지 예입니다.
정규식 | 기술 |
---|---|
"^ \ s * .."및 ".. \ s * $" | 한 줄에 선행 및 후행 공백 문자가 얼마든지있을 수 있음을 나타냅니다. |
"((\ $ \ s?) | (# \ s?))?" | 선택적 $ 또는 # 기호 뒤에 선택적 공백을 나타냅니다. |
"((\ d + (\. (\ d \ d)?)?))" | 하나 이상의 숫자가 있고 그 뒤에 선택적 소수와 소수 뒤에 두 자리가 있음을 나타냅니다. |
예
아래 예제는 사용자가 이메일 ID 다음에 '@'이 있고 그 뒤에 도메인 이름이 오는 형식이 일치해야하는 이메일 ID를 입력했는지 여부를 확인합니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
strid = "[email protected]"
Set re = New RegExp
With re
.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$"
.IgnoreCase = False
.Global = False
End With
' Test method returns TRUE if a match is found
If re.Test( strid ) Then
Document.write(strid & " is a valid e-mail address")
Else
Document.write(strid & " is NOT a valid e-mail address")
End If
Set re = Nothing
</script>
</body>
</html>
프로그래밍 오류에는 (a) 구문 오류, (b) 런타임 오류 및 (c) 논리적 오류의 세 가지 유형이 있습니다.
구문 오류
구문 오류라고도하는 구문 오류는 VBScript의 해석시 발생합니다. 예를 들어, 다음 줄은 닫는 괄호가 없기 때문에 구문 오류가 발생합니다.
<script type = "text/vbscript">
dim x,y
x = "Tutorialspoint"
y = Ucase(x
</script>
런타임 오류
예외라고도하는 런타임 오류는 해석 후 실행 중에 발생합니다. 예를 들어, 다음 줄은 여기 구문이 정확하지만 런타임에 존재하지 않는 함수 인 fnmultiply를 호출하려고하기 때문에 런타임 오류가 발생합니다.
<script type = "text/vbscript">
Dim x,y
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
논리적 오류
논리 오류는 추적하기 가장 어려운 유형의 오류 일 수 있습니다. 이러한 오류는 구문 또는 런타임 오류의 결과가 아닙니다. 대신 스크립트를 구동하는 논리에 실수를하여 예상 한 결과를 얻지 못할 때 발생합니다. 이러한 오류는 비즈니스 요구 사항에 따라 프로그램에 넣을 논리 유형에 따라 다르기 때문에 포착 할 수 없습니다. 예를 들어 숫자를 0으로 나누거나 무한 루프에 들어가는 스크립트를 작성합니다.
Err 개체
A 런타임 오류가 발생하면 오류 메시지를 표시하여 실행이 중지됩니다. 개발자로서 오류를 캡처하려면Error 개체가 사용됩니다.
예
아래 예에서 Err.Number 오류 번호를 제공하고 Err.Description 오류 설명을 제공합니다.
<script type = "text/vbscript">
Err.Raise 6 ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear ' Clear the error.
</script>
VBScript에는 개발자가 효율적인 스크립트를 개발하는 데 도움이되는 몇 가지 다른 중요한 설명이 있습니다. 다음 표에는 이러한 중요한 설명이 나열되어 있습니다. 이 장에서는 예제와 함께 이러한 각 진술에 대해 자세히 설명합니다.
범주 | 기능 명 / 문명 |
---|---|
옵션 | 명시 적 옵션 |
스크립트 엔진 ID | ScriptEngine |
변형 | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
표현 | 평가, 실행 |
제어문 | 함께 ... 끝으로 |
수학 함수 | 무작위 화 |
명시 적 옵션
Option Explicit 개발자가 다음을 사용하여 변수를 선언하도록합니다. Dim 코드의 일부에서 사용되기 전에 문.
통사론
Option Explicit
예
우리가 사용한다면 Option Explicit 변수를 선언하지 않으면 인터프리터가 오류를 발생시킵니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Option Explicit
Dim x,y,z,a
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
</body>
</html>
ScriptEngine
ScriptEngine사용중인 스크립팅 언어의 세부 사항을 나타냅니다. 또한 다음과 함께 사용됩니다.ScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion vbscript 엔진의 주 버전, vbscript 엔진의 부 버전 및 vbscript의 빌드 버전을 각각 제공합니다.
통사론
ScriptEngine
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim scriptdetails
scriptdetails = " Version " & ScriptEngine & " - "
'For getting Major version, use ScriptEngineMajorVersion'
scriptdetails = scriptdetails & ScriptEngineMajorVersion & "."
'For getting Minor version, use ScriptEngineMinorVersion'
scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
'For getting Build version, use ScriptEngineBuildVersion'
scriptdetails = scriptdetails & ScriptEngineBuildVersion
Document.write scriptdetails
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Version VBScript - 5.8.16996
비었다
IsEmpty 함수는식이 비어 있는지 여부를 확인하는 데 사용됩니다. 부울 값을 반환합니다.IsEmpty변수가 초기화되지 않았거나 명시 적으로 Empty로 설정된 경우 True를 반환합니다. 그렇지 않으면 표현식은 False를 반환합니다.
통사론
IsEmpty(expression)
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, MyCheck
MyCheck = IsEmpty(var)
Document.write "Line 1 : " & MyCheck & "<br />"
var = Null ' Assign Null.
MyCheck = IsEmpty(var)
Document.write "Line 2 : " & MyCheck & "<br />"
var = Empty ' Assign Empty.
MyCheck = IsEmpty(var)
Document.write "Line 3 : " & MyCheck & "<br />"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Line 1 : True
Line 2 : False
Line 3 : True
IsNull
함수 IsNull은 식에 유효한 데이터가 있는지 여부를 확인하는 데 사용됩니다. 부울 값을 반환합니다.IsNull 변수가 Null이면 True를 반환하고 그렇지 않으면 식은 False를 반환합니다.
통사론
IsNull(expression)
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, res
res = IsNull(var)
document.write "Line 1 : " & res & "<br />"
var = Null
res = IsNull(var)
document.write "Line 2 : " & res & "<br />"
var = Empty
res = IsNull(var)
document.write "Line 3 : " & res & "<br />"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Line 1 : False
Line 2 : True
Line 3 : False
IsObject
IsObject 함수는 식에 유효한 개체가 있는지 여부를 확인하는 데 사용됩니다. 부울 값을 반환합니다.IsObject 표현식에 객체 하위 유형이 포함되어 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
통사론
IsObject(expression)
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim fso,b
b = 10
set fso = createobject("Scripting.Filesystemobject")
x = isobject(fso)
Document.write "Line 1 : " & x & "<br />"
y = isobject(b)
Document.write "Line 2 : " & y & "<br />"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Line 1 : True
Line 2 : False
IsNumeric
IsNumeric 함수는 표현식에 숫자 하위 유형이 있는지 여부를 확인하는 데 사용됩니다. 부울 값을 반환합니다.IsObject 식에 숫자 하위 유형이 포함되어 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
통사론
IsNumeric(expression)
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, chk
var = 20
chk = IsNumeric(var)
Document.write "Line 1 : " & chk & "<br />"
var = "3.1415935745"
chk = IsNumeric(var)
Document.write "Line 2 : " & chk & "<br / >"
var = "20 Chapter 23.123 VBScript"
chk = IsNumeric(var)
Document.write "Line 3 : " & chk & "<br / >"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Line 1 : True
Line 2 : True
Line 3 : False
유형 이름
TypeName 함수는 변수의 변형 하위 유형 정보를 반환하는 데 사용됩니다.
통사론
TypeName(varname)
Typename 함수는 다음 값 중 하나를 반환 할 수 있습니다.
바이트-바이트 값
정수-정수 값
Long − Long 정수 값
Single − 단 정밀도 부동 소수점 값
Double − 배정 밀도 부동 소수점 값
통화-통화 값
Decimal − Decimal 값
날짜-날짜 또는 시간 값
String-문자열 값
부울-부울 값
비어 있음-초기화되지 않은 값
Null-유효한 데이터 없음
개체-개체의 유형 이름
Nothing-아직 개체 인스턴스를 참조하지 않는 개체 변수
Error
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim ArrVar(2), vartype
NullVar = Null ' Assign Null value.
vartype = TypeName(3.1450)
Document.write "Line 1 : " & vartype & "<br />"
vartype = TypeName(432)
Document.write "Line 2 : " & vartype & "<br />"
vartype = TypeName("Microsoft")
Document.write "Line 3 : " & vartype & "<br />"
vartype = TypeName(NullVar)
Document.write "Line 4 : " & vartype & "< br />"
vartype = TypeName(ArrVar)
Document.write "Line 5 : " & vartype & "<br />"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()
평가
Eval 함수는 표현식을 실행하고 결과를 문자열 또는 숫자로 반환합니다.
통사론
Eval(expression)
Expression 인수는 문자열 표현식 또는 숫자 일 수 있습니다. Eval 함수에 숫자 식이나 함수 이름이 포함되지 않고 단순한 텍스트 문자열 만 포함 된 문자열을 전달하면 런타임 오류가 발생합니다. 예를 들어 Eval ( "VBScript")은 오류를 발생시킵니다.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Document.write Eval("10 + 10") & "<br />"
Document.write Eval("101 = 200") & "<br />"
Document.write Eval("5 * 3") & "<br />"
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
20
false
15
실행
Execute 문은 실행을위한 하나 이상의 문을 포함하는 문자열 식인 인수를받습니다.
통사론
Execute(expression)
VBScript에서 a = b는 두 가지 방식으로 해석 될 수 있습니다. x 값이 y에 할당되는 할당 문으로 처리 할 수 있습니다. a와 b가 동일한 값을 갖는지 테스트하는 표현식으로 해석 될 수도 있습니다. 그렇다면 결과는 참입니다. 그렇지 않은 경우 결과는 False입니다. Execute 문은 항상 첫 번째 해석을 사용하는 반면 Eval 문은 항상 두 번째 해석을 사용합니다.
예
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim x
x = "Global"
y = "VBScript"
Execute("x = y")
msgbox x
msgbox y
</script>
</body>
</html>
IE에서 스크립트 실행시 .html 확장자로 파일을 저장하면 다음과 같은 결과가 화면에 표시됩니다.
VBScript
VBScript
함께 .. 끝으로
With 문을 사용하면 개체 이름을 반복해서 명시 적으로 언급하지 않고도 지정된 개체에 대해 일련의 작업을 수행 할 수 있습니다.
통사론
With (objectname)
statement 1
statement 2
statement 3
...
...
statement n
End With
예
다음 스크립트를 실행하면 Winword가 열리고 지정된 텍스트가 입력됩니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Msg = "Vbscript" & vbCrLf & "Programming"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Objects methods are accessed without requaliyfying the objects again.'
With objWord
.Documents.Add
.Selection.TypeText Msg
.Selection.WholeStory
End With
</script>
</body>
</html>
무작위 화
Randomize 문은 개발자가 난수를 생성하는 데 도움이되는 난수 생성기를 초기화합니다.
통사론
Randomize [number]
예
다음 스크립트를 실행하면 Winword가 열리고 지정된 텍스트가 입력됩니다.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim MyValue
Randomize
MyValue = Int((100 * Rnd) + 1) ' Generate random value between 1 and 100.
MsgBox MyValue
</script>
</body>
</html>
위의 스크립트를 HTML로 저장하고 IE에서 스크립트를 실행하면 다음과 같은 출력이 표시됩니다.
42