Microsoft® Visual Basic® Scripting Edition 조건문 사용 |
VBScript 자습서 이전 페이지| 다음 페이지
|
조건문과 루프 처리문으로 스크립트의 흐름을 제어할 수 있습니다. 또한 조건문을 사용하면 동작을 결정하여 반복하는 VBScript 코드를 작성할 수도 있습니다. VBScript에서는 아래 조건문을 사용할 수 있습니다.
If...Then...Else문은 조건문이 True 또는 False인지를 평가하고 그 결과에 따라 둘 이상의 명령문을 실행합니다. 대개 조건문은 비교 연산자를 사용하여 값이나 변수를 서로 비교하는 식입니다. 비교 연산자에 관한 정보는 비교 연산자를 참조하십시오. If...Then...Else문은 필요한 만큼 중첩할 수 있습니다.
조건문이 True인 경우 명령문 실행
조건문이 True일 때 하나의 명령문만 실행하려면 If...Then...Else문의 단일 줄 구문을 사용합니다. 아래 용례에서는 단일 줄 구문을 보여주지만 Else 키워드를 생략하고 있음에 유의하십시오.두 줄 이상의 코드를 실행하려면 여러 줄(또는 블록) 구문을 사용해야 합니다. 이 구문은 아래 용례에서처럼 End If문을 포함합니다.Sub FixDate() Dim myDate myDate = #2/13/95# If myDate < Now Then myDate = Now End SubSub 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문의 기능을 확장하여 여러 가지 다른 가능성(확률)을 기준으로 프로그램 흐름을 제어할 수 있습니다. 사용 예는 아래와 같습니다.선택적인 대안을 제공할 필요가 있는 만큼 ElseIf절을 추가할 수 있습니다. ElseIf절을 너무 많이 사용하면 가끔 작업이 번거로워집니다. 여러 대안에서 선택할 경우에는 Select Case문을 사용하는 것이 가장 좋습니다.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
Select Case 구조는 여러 블록문에서 선택적으로 하나를 실행하는 If...Then...ElseIf문에 대한 대안을 제공합니다. Select Case문은 If...Then...Else문과 비슷한 기능을 제공하지만, 더 효율적이고 읽기 쉬운 코드를 작성합니다.Select Case 구조는 해당 구조의 맨 앞에서 한 번만 평가되는 테스트 식 하나로 작동합니다. 그런 다음 그 식의 결과 값과 구조에 있는 각 Case의 값을 비교합니다. 서로 일치하면 해당 Case와 연관된 블록문을 실행합니다.
Select Case 구조는 구조의 맨 앞에 있는 식을 한 번만 평가하지만, If...Then...ElseIf 구조는 각 ElseIf문에 대한 서로 다른 식을 평가합니다. 각각의 ElseIf문이 동일한 식을 평가할 경우에만 If...Then...ElseIf 구조를 Select 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