[VB] CIMON 함수 안내

함수명

스크립트 표기

n = GetTagVal(“태그이름”)

기능

해당 태그의 값을 가져옵니다.

사용 예제

태그 ‘태그_1’의 값을 변수 ‘Tag1’에 저장합니다.

Sub Func1()

Tag1 = GetTagVal(“태그_1”)

End Sub

함수명

스크립트 표기

n = GetTagValEx(“태그이름”, “태그변수”)

기능

해당 태그의 태그 변수 값을 가져옵니다.

사용 예제

태그 ‘태그_2’의 내부 최대값을 변수 ‘Tag2’에 저장합니다.

Sub Func2()

Tag2 = GetTagValEx(“태그_2”, “MAX”)

End Sub

※      태그 변수에 대한 내용은 연산식 및 명령식 도움말의 ‘태그 변수’를 참조해주시기 바랍니다.

서브루틴명

스크립트 표기

SetTagVal “태그이름”, 값

기능

지정된 태그에 값을 설정합니다.

문자열 태그의 경우에는 “값” 형태로 작성하시기 바랍니다.

사용 예제

아날로그 태그 ‘태그_3’의 값에 10을 설정합니다.

Sub Func3()

SetTagVal “태그_3”, 10

End Sub

서브루틴명

스크립트 표기

SetTagValEx “태그이름”, “태그변수”, 값

기능

지정된 태그의 태그변수에 값을 설정합니다.

사용 예제

‘태그_4’주석“이것은 ‘태그_4’의 주석입니다.”로 설정합니다.

Sub Func4()

SetTagValEx “태그_4”, “DESC”, “이것은 ‘태그_4’의 주석입니다”

End Sub

산술 관련 함수

함수명

스크립트 표기

n = Abs(number)

내용

입력한 값의 절대값을 반환합니다.

사용 예제

‘산술태그_1’에 -10.55의 절대값을 설정합니다.

Sub AbsTest()

 SetTagVal “산술태그_1", Abs(-10.55)

End Sub

함수명

스크립트 표기

n = Atn(number)

내용

arc tangent 값을 반환합니다.

사용 예제

‘산술태그_2’에 arc tangent 값을 설정합니다. [Atn(1.0) = 0.79]

Sub AtnTest()

SetTagVal “산술태그_2", Atn(1.00)

End Sub

비고

Pi(3.1415) radians = 1800 degrees.

1 radian = 57.2957795131 degrees.

1 degree = .0174532925 radians.

함수명

스크립트 표기

n = Cos(number)

내용

입력한 값(각도)의 Cosine 값을 반환합니다.

사용 예제

‘산술태그_3’에 Cosine 값을 설정합니다. [Cos(3.141592/4) = 0.71]

Sub CosTest()

 SetTagVal “산술태그_3", Cos(3.141592/4)

End Sub

함수명

스크립트 표기

n = Exp(number)

내용

입력한 값만큼 거듭제곱한 e 값을 반환합니다.

사용 예제

‘산술태그_4’에 e의 근사값을 반환합니다. [Exp(1) = 2.71828183]

Sub ExpTest()

 SetTagVal “산술태그_4", Exp(1)

End Sub

함수명

스크립트 표기

n = Fix(number)

내용

입력한 값의 정수자리만 반환합니다.

사용 예제

‘산술태그_5’에 입력한 값의 정수자리만 설정합니다. [Fix(-19923.45) = -19923]

Sub FixTest()

SetTagVal "산술태그_5", Fix(-19923.45)

End Sub

함수명

스크립트 표기

n = Int(number)

내용

입력한 값의 반올림 값을 반환합니다.

사용 예제

‘산술태그_6’에 입력한 값의 반올림 값을 설정합니다. [Int(-1234.5224) = -1235]

Sub IntTest()

SetTagVal "산술태그_6", Int(-1234.5224)

End Sub

함수명

스크립트 표기

n = Log(number)

내용

입력한 값의 Log값을 반환합니다.

사용 예제

산술태그_7’에 입력한 값의 Log 값을 설정합니다. [Log(100) = 4.61]

Sub LogTest()

SetTagVal "산술태그_7", Log(100)

End Sub

함수명

스크립트 표기

n = Random(min, max)

내용

입력한 두 최소, 최대 숫자 사이의 임의의 값을 반환합니다.

사용 예제

‘산술태그_8’에 1과 10 사이의 임의의 값을 2초마다 설정합니다.

Sub RandomTest()

While 1

SetTagVal "산술태그_8", Random(1, 10)

Sleep(2000)

WEnd

End Sub

서브루틴명

스크립트 표기

Randomize [number]

내용

입력한 값을 초기 난수 값으로 지정합니다.

사용 예제

초기 난수 값을 9로 지정한 뒤, ‘산술태그_9’에 1과 10 사이의 임의의 값을 2초마다 설정합니다.

Sub RandomizeTest()

Randomize 9

While 1

SetTagVal "산술태그_9", Random(1, 10)

Sleep(2000)

WEnd

End Sub

함수명

스크립트 표기

n = Rnd ([number])

내용

0과 1 사이의 임의의 값을 반환합니다

사용 예제

‘산술태그_10’에 0과 1 사이의 임의의 값을 2초마다 설정합니다.

Sub RndTest()

While 1

SetTagVal "산술태그_10", Rnd()

Sleep(2000)

WEnd

End Sub

함수명

스크립트 표기

n = Sgn (number)

내용

입력한 값이 양수이면 1, 음수이면 -1을 반환합니다.

사용 예제

‘산술태그_11’에 입력한 값의 양수/음수 여부 확인 값을 설정합니다.

Sub SgnTest()

SetTagVal "산술태그_11", Sgn(100)

End Sub

함수명

스크립트 표기

n = Sin(number)

내용

입력한 값(각도)의 Sine 값을 반환합니다.

사용 예제

‘산술태그_12’에 Sine 값을 설정합니다. [Sin(3.141592/4) = 0.71]

Sub SinTest()

 SetTagVal “산술태그_12", Sin(3.141592/4)

End Sub

함수명

스크립트 표기

n = Sqr(number)

내용

입력한 값의 제곱근 값을 반환합니다.

사용 예제

‘산술태그_13’에 9의 제곱근 값을 설정합니다. [Sqr(9) = 3]

Sub SqrTest()

 SetTagVal “산술태그_13", Sqr(9)

End Sub

함수명

스크립트 표기

n = Tan(number)

내용

입력한 값(각도)의 Tangent 값을 반환합니다.

사용 예제

‘산술태그_14’에 Tangent 값을 설정합니다. [Tan(3.141592/4) = 1.00]

Sub TanTest()

 SetTagVal “산술태그_14", Tan(3.141592/4)

End Sub

변환 관련 함수

함수명

스크립트 표기

n = Asc(string)
n = AscB(string)
n = AscW(string)

내용

문자의 ASCII 코드 값을 반환합니다.

사용 예제

알파벳 ‘A’의 ASCII 코드 값을 반환합니다.

Sub Asc_Test()

Dim nNum

nNum = Asc(“A”)

End Sub

함수명

스크립트 표기

n = Cbool(expression)

내용

임의의 문자열 또는 숫자 식의 결과 값을 True 또는 False로 반환합니다.

사용 예제

입력한 값(34224.54)이 숫자 또는 날짜 형태이면 True, 아니면 False를 반환하여 해당하는 메시지박스를 출력합니다.

Sub Cbool_test()

 Dim IsNumericOrDate As Boolean

 S$ = "34224.54"

 IsNumericOrDate = Cbool(IsNumeric(S$) Or IsDate(S$))

 If IsNumericOrDate = True Then

 MsgBox S$ & " is either a valid date or number!"

 Else

 MsgBox S$ & " is not a valid date or number!"

End if

End Sub

 

함수명

스크립트 표기

n = CDate(expression)
n = CVDate(expression)

내용

임의의 문자열 또는 숫자 식을 날짜 값으로 변환합니다.

사용 예제

두 날짜를 입력 후 해당 날짜 사이의 날짜 수를 반환합니다.

Sub CDate_Test()

Dim Date1 As Date

Dim Date2 As Date

Dim Diff As Date

 

Date1 = Cdate(#1/1/2018#)

Date2 = Cdate("01/02/2018")

Diff = DateDiff("d", Date1, Date2)

MsgBox "The date difference is " & Cint(diff) & " days."

End Sub

 

함수명

스크립트 표기

n = CDbl(expression)

내용

입력한 값을 Double 형 데이터로 변환합니다.

사용 예제

입력한 숫자 식을 Double형으로 변환합니다.

Sub CDbl_test()

MsgBox "The double value is : " & CDbl(535.22 * 5.4 * 0.01)

End Sub

 

함수명

스크립트 표기

n = CInt(expression)

내용

입력한 값을 정수 형 데이터로 변환합니다.

사용 예제

Sub CInt_test()

 I% = 100.55

 MsgBox "The value of CInt(I) = " & CInt(I%)

End Sub

 

함수명

스크립트 표기

n = CLng(expression)

내용

입력한 값을 Long 데이터 형식으로 변환합니다.

사용 예제

Sub CLng_test()

 I% = 10.55

 J% = 123.66

MsgBox "The result is" & CLng(I% * J%)

End Sub

 

함수명

스크립트 표기

n = CSng(expression)

내용

입력한 값을 Single 데이터 형식으로 변환합니다.

사용 예제

Sub CSng_test()

 I% = 100

 MsgBox "The single value is: " & CSng(I%)

End Sub

 

함수명

스크립트 표기

n = CStr(expression)

내용

입력한 값을 문자열 형태로 변환합니다.

사용 예제

입력한 숫자 값을 문자로 변환하여 출력합니다.

Sub Cstr_test()

 I% = 123.456

 MsgBox "The string value is: " & CStr(I%)

End Sub

 

함수명

스크립트 표기

n = Cvar(expression)

내용

입력한 값을 Variant 데이터 형식으로 변환합니다.

사용 예제

Sub Cvar_test()

 Dim V As Variant

 V = 4 & "th"

 MsgBox "You came in:" & V

 V = Cvar(4 & "th")

 MsgBox "You came in: " & V

End Sub

 

함수명

스크립트 표기

n = Chr[$] (charcode)
n = ChrB[$] (charcode)
n = ChrW[$] (charcode)

내용

입력한 기호를 문자의 값으로 반환합니다.

사용 예제

Sub Chr_test()

 Dim A%(2)

 For I = 0 To 2

 A%(I) = (65 + I)

 Next I

 MsgBox "The first three elements of the array are: "

 N=Chr$(A%(0)) & Chr$(A%(1)) & Chr$(A%(2))

End Sub

 

함수명

스크립트 표기

n = CVErr(expression)

내용

임의의 문자열 또는 숫자식을 Error 형으로 반환합니다.

사용 예제

Sub CVErr_test()

 MsgBox "The error is: " & CStr(CVErr(2046))

End Sub

 

함수명

스크립트 표기

n = Hex[$] (number)

내용

입력한 숫자의 16진수 값을 포함한 문자열을 반환합니다.

사용 예제

Sub Hex_test()

 Do

 XS$ = InputBox$("Enter a number to convert: "," Hex Convert")

 X = Val(XS$)

 IF X <> 0 Then

 MsgBox "Dec: " & X & " Hex: " & Hex$(X)

 Else

 MsgBox "Goodbye."

 End if

 Loop While X<> 0

End Sub

 

함수명

스크립트 표기

n = IsDate(expression)

내용

입력한 문자열이 날짜 형식인 경우 True, 아닌 경우 False를 반환합니다.

사용 예제

Sub IsDate_test()

 Dim A As Variant

 Retry :

 A = InputBox("Enter a date "," Enter Date")

 If IsDate(A) Then

 MsgBox Format(A, "long date")

 Else

 MsgBox "Not quite, please try again!"

 Goto retry

 End if

End Sub

 

함수명

스크립트 표기

n = IsNumeric(expression)

내용

입력한 값이 숫자인 경우 True, 아닌 경우 False를 반환합니다.

사용 예제

Sub IsNumeric_test()

 Dim S As String

 S$ = InputBox("숫자를 입력하세요."," 숫자 입력")

 IF IsNumeric(S$) Then

 MsgBox "입력한 값이 숫자가 맞습니다."

 Else

 MsgBox "입력한 값이 숫자가 아닙니다."

 End if

End Sub

 

함수명

스크립트 표기

n = Oct[$] (number)

내용

입력한 숫자의 8진수 값을 포함하는 문자열을 반환합니다.

사용 예제

Sub Oct_test()

 ST$ = "The octal values are: "

 For X = 1 To 5

 Y% = X * 10

 ST$ = ST$ & Y% & ":" & Oct6$(Y%)

 Next X

 Msgbox ST$

End Sub

함수명

스크립트 표기

n = Str[$] (number)

내용

입력한 숫자를 문자열 형식으로 변환하여 반환합니다.

사용 예제

Sub Str_test()

 X# = 100.22

 MsgBox "The stirng value is :" + Str$(X#)

End Sub

함수명

스크립트 표기

n = Val (string)

내용

문자열로 입력한 값을 숫자로 변환합니다.

사용 예제

Sub Val_test()

 A$ = InputBox("Enter anything containing a number", "Enter Number")

 B# = Val(A$)

 MsgBox "The value is:" & B#

End Sub

흐름 제어 함수 및 제어문

함수명

스크립트 표기

n = Choose(index, expression1. Expression2, …. Expression13)

내용

지정한 Index 위치에 있는 임의의 문자열 또는 숫자 식을 찾아 반환합니다.

사용 예제

Sub Choose_test()

 Dim A As Variant

 Dim C As Integer

 C% = 2

 A = Choose(C%, "Hello, world", #1/1/94#,5.5,Flase)

 MsgBox "Item" & C% & " is’" & A & "’"

End Sub

 

서브루틴명

스크립트 표기

End

내용

현재 실행 중인 스크립트를 종료하고 열려있는 모든 파일을 닫습니다.

사용 예제

Sub En_test()

 MsgBox" The next line will terminate the script"

 End

End Sub

서브루틴명

스크립트 표기

  1. Do {While | Until} condition statements Loop

  2. Do

 statements

 Loop {While | Until} condition

Do

 statements

Loop

내용

조건이 참이거나, 조건이 참이 될 때까지 기본 스크립트문 한 블록을 반복합니다.

사용 예제

예1)
Sub Do_Test()

 Dim A$(100)

 I% = -1

 Do

 I% = I% + 1

 If I% = 0 Then

 A(I%) = Dir$("*")

Else

 A(I%) = Dir$

 End if

 Loop While (A(I%) <> "" And I% <= 99)

 R% = SelectBox(I% & " files found",,a)

End Sub

‘=============================

예2)
Sub Do_Test2()

 Dim A$(100)

I% = 0

A(I%) = Dir$("*")

 Do While (A(I%) <> "" And I% <= 99)

 I% = I% + 1

 A(I%) = Dir$

 Loop

 R% = SelectBox(I% & " files found",,A)

End Sub

‘=============================

예3)
Sub Do_Test3()

 Dim A$(100)

 I% = 0

A(I%) = Dir$("*")

Do Until (A(I%) = "" Or I% = 100)

 I% = I% + 1

 A(I%) = Dir$

 Loop

 R% = SelectBox(I% & " files found",,A)

End Sub

‘=============================

예4)
Sub Do_Test4()

 Dim A$(100)

 I% = -1

 Do

 I% = I% + 1

 If I% = 0 Then

 A(I%) = Dir$("*")

 Else

A(I%) = Dir$

 End if

 Loop Until (A(I%) <> "" Or I% = 100)

R% = SelectBox(I% & " files found",,a)

End Sub

서브루틴명

스크립트 표기

Exit Do

내용

Loop 절 다음의 명령문에서 실행을 계속합니다.

사용 예제

현재 프로젝트 경로에 있는 파일 개수를 센 후, 10개 이상일 때와 아닐 때의 메시지를 출력합니다.

Const crlf = Chr$(13) + Chr$(10)

Sub ExitDo_test()

Dim A$(100)

I% = -1

 Do

 I% = I% + 1

 If I% = 0 Then

 A(I%) = Dir$("*")

 Else

 A(I%) = Dir$

 End if

 If I% >= 10 Then Exit Do

 Loop While (A(I%) <> "")

 If I% = 10 Then

 MsgBox I% & " entries processed!"

 Else

 MsgBox "Less then " & I% & "entries processed!"

 End if

End Sub

 

서브루틴명

스크립트 표기

Exit For

내용

Loop 절 다음의 명령문에서 실행을 계속합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub ExitFor_test()

Dim A$(100)

I% = -1

 For I = 1 To 100

 I% = I% + 1

 If I% = 0 Then

 A(I%) = Dir$("*")

 Else

 A(I%) = Dir$

 End if

 If I% >= 10 Then Exit For

Next I

End Sub

서브루틴명

스크립트 표기

For counter = start To end [Step increment]

 [statements]

 [Exit For]

 [statements]

Next [Counter [,nextcounter]…]

내용

Loop를 통해 매번 지정된 증가분만큼 Loop Counter를 증가시켜, 지정된 횟수만큼 명령문 블록을 반복하여 실행합니다.

사용 예제

Sub ForCount_test()

 Dim M As String

 For X = -1 To 0

 For Y = -1 To 0

 Z = X Or Y

 M = M & Format(Abs(X), "0") & " Or"

 M = M & Format(Abs(Y), "0") & " ="

 M = M & Format(Z, "True/False") & Basic.Eoln$

 Next Y

 Next X

 MsgBox M

End Sub

서브루틴명

스크립트 표기

For Each member in group

 [statements]

 [Exit For]

 [statements]

Next [member]

내용

컬렉션 또는 배열의 각 요소에 대한 명령문을 반복 실행합니다.

사용 예제

Sub ForEach_test()

 Dim A(3 to 10) As Single

 Dim I As Variant

 Dim S As String

 For I = 3 To 10

 A(I) = Rnd()

 Next I

 For Each I In A

 I = I + 1

 Next I

 For Each I In A

 If S <> "" Then S = S & ","

 S = S & I

 Next I

 MsgBox S

End Sub

서브루틴명

스크립트 표기

GoSub label

내용

지정된 레이블에서 실행을 계속합니다.

사용 예제

Sub GoSub_test()

 Uname$ = Ucase$(Inputbox$("Enter your name:","Enter Name"))

 Gosub CheckName

 MsgBox "Hello, " & Uname$

 Exit Sub

CheckName :

 If (Uname$ = "") Then

 GoSub BlankName

 Elseif Uname$ = "MICHAEL" Then

 GoSub RightName

 Else

 GoSub OtherName

 End If

 Return

BlankName :

 MsgBox " No name? Clicked Cancel? I’m shutting down"

 Exit Sub

RightName :

 Return

OtherName:

 MsgBox "I am renaming you MICHAEL!"

 Uname$ = "MICHAEL"

 Return

End Sub

서브루틴명

스크립트 표기

Goto label

내용

지정된 레이블을 실행합니다.

사용 예제

Sub Goto_test()

 Uname$ = Ucase$(Inputbox$("Enter your name:","Enter Name"))

 If Uname$ = "MICHAEL" Then

 Goto RightName

 Else

 Goto WrongName

 End If

WrongName :

 If (Uname$ = "") Then

 MsgBox " No name? Clicked Cancel? I’m shutting down"

 Else

 MsgBox "I am renaming you MICHAEL!"

 Uname$ = "MICHAEL"

 Goto RightName

 End If

 Exit Sub

RightName :

 MsgBox "Hello, MICHEAL!"

End Sub

서브루틴명

스크립트 표기

  1. If condition Then statements [Else else_statements]

  2. If condition Then

 [statements]

 [ElseIf else_condition Then

 elseif_statements]]

 [Else

 [else_statements]]

End If

내용

조건에 따라 명령을 실행합니다.

사용 예제

Sub If_test()

 Uname$ = Ucase$(Inputbox$("Enter your name:","Enter Name"))

 If Uname$ = "MICHAEL" Then GoSub MikeName

 If Uname$ = "MIKE" Then

 GoSub MikeName

 Exit Sub

 End If

 

 If Uname$ = "" Then

 MsgBox "Since you don’t have a name, I’ll call you Mike!"

 Uname$ = "MIKE"

 GoSub MikeName

 ElseIf Uname$ = "MICHAEL" Then

 GoSub MikeName

 Else

 GoSub OtherName

 End If

 Exit Sub

MikeName :

 MsgBox "Hello, MICHAEL!"

 Return

OtherName:

 MsgBox "Hello," & "Uname$" & "!"

 Return

End Sub

함수명

스크립트 표기

Iif(expression, truepart, falsepart)

내용

임의의 문자열 또는 숫자 식이 참일 때, Truepart를 반환합니다. 거짓일 경우 Falsepart를 반환합니다.

사용 예제

Sub Iif_test()

 S$ = "Car"

 MsgBox Iif(S$ = " Car", "Nice Car", "Nice Automobile")

End Sub

서브루틴명

스크립트 표기

Sub Main()

End Sub

내용

시스템 실행 시 시작되는 서브루틴을 정의합니다.

사용 예제

Sub Main()

 MsgBox "This is the Main() subroutine and entry point"

End Sub

서브루틴명

스크립트 표기

Return

내용

가장 근접한 Gosub 명령으로 되돌아가 명령을 재실행합니다.

사용 예제

Sub Return_test()

 GoSub SubTrue

 MsgBox "The Main routine continues here"

 Exit Sub

SubTrue:

 MsgBox "This message is generated in the subroutine."

 Return

 Exit Sub

End Sub

서브루틴명

스크립트 표기

Select Case testexpression

[Case expressionlist

 [statement_block]]

[Case expressionlist

 [statement_block]]

[Case Else

 [statement_block]]

End Select

내용

주어진 식의 값에 따라 스크립트를 실행합니다.

사용 예제

스크립트가 실행되는 운영체제에 따라 메시지가 출력됩니다.

Sub Select_test()

 OpSystem% = Basic.OS

 Select Case OpSystem%

 Case 0,2

 S = "Microsoft Windows"

 Case 3, 8, 12

 S = "UNIX"

 Case 10

S = "IBM OS/2"

 Case Else

 S = "Other"

 End Select

 MsgBox :This version of BasicScript is running on:" & S

End Sub

서브루틴명

스크립트 표기

Sleep(milliseconds)

내용

지정된 밀리초 단위의 시간 동안 스크립트 명령을 일시중지합니다.

사용 예제

Sub Sleep_test()

 Msg.Open "Waiting 2 seconds", 0, False, False

 Sleep (2000)

 Msg.Close

End Sub

서브루틴명

스크립트 표기

Stop

내용

현재 실행 중인 스크립트를 중단하고, 결함이 있을 시 이를 반환합니다. 결함이 없을 경우 그대로 스크립트를 종료합니다.

사용 예제

Sub Stop_test()

 For X = 1 To 10

 Z = Random(0,10)

 If Z = 0 Then Stop

 Y = X / Z

 Next X

End Sub

함수명

스크립트 표기

n = Switch (condition1, expression1 [,condition2, expression2 … [, condition7, expression7]])

내용

첫 번째 참인 조건에 해당하는 값을 반환합니다.

사용 예제

현재 스크립트가 실행되는 운영체제에 따라 메시지가 출력됩니다.

Sub Switch_test()

 Dim A As Variant

 A = Switch(Basic.OS = 0, "Windows 3.1", Basic.OS = 2, "Win32", Basic.OS = 11, "OS/2")

 MsgBox "The current platform is: " & Iif(IsNull(A), "Unknown", A)

End Sub

서브루틴명

스크립트 표기

While condition

 [statements]

Wend

내용

조건식이 참인 경우, 명령문 또는 명령문 그룹을 반복합니다.

사용 예제

Sub While_test()

 X% = 0

 Count% = 0

 While X% <> 1 And Count% < 500

 X% = Rnd(1)

 If Count% > 1000 Then

 Exit Sub

 Else

 Count% = Count% + 1

 End If

 Wend

 MsgBox "The loop executed " & Count% & " times."

End Sub

시간 관련 함수

  • 시간 관련 함수 내에서 사용되는 날짜의 형식은 사용자의 PC에서 설정되는 날짜의 형식인 ‘mm/dd/yyyy’ 형태를 기본으로 합니다. 이와 다른 형식을 사용할 경우, 잘못된 동작이 도출될 수 있으므로 유의하여 주시기 바랍니다.

함수명

스크립트 표기

n = Date[$][()]

내용

현재 시스템의 날짜를 출력합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub Date_test()

 Date$ = "01/01/95"

 MsgBox "Saved date is : " & TheDate$ & crlf & "Changed date is : & Date$()"

 Date$ = TheDate$

 MsgBox "Restored date to: " & TheDate$

End Sub

함수명

스크립트 표기

Date$ [= newdate]

내용

지정된 날짜로 시스템 날짜를 변경합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub Date_test()

 Date$ = "01/01/95"

 MsgBox "Saved date is : " & TheDate$ & crlf & "Changed date is : & Date$()"

 Date$ = TheDate$

 MsgBox "Restored date to: " & TheDate$

End Sub

함수명

스크립트 표기

n = DateAdd(interval, number, date)

내용

날짜와 지정된 시간 간격의 합계를 날짜 형태로 반환합니다.

사용 예제

Sub DateAdd_test()

 Dim sdate$

 Sdate$ = Date$

 NewDate# = DateAdd("yyyy",4,Sdate$)

 NewDate# = DateAdd("m",3,NewDate#)

 NewDate# = DateAdd("ww",2,NewDate#)

 NewDate# = DateAdd("d",1,NewDate#)

 S$ = "Four years ,three months, two weeks,"

 S$ = S$ + " and one day from now will be:"

 S$ = S$ & Format("NewDate#”, "long date")

 MsgBox S$

End Sub

함수명

스크립트 표기

n = DateDiff(interval, date1, date2 [, [firstdayofweek] [,firstweekofyear[]]

내용

지정한 두 시간 사이의 간격 값을 날짜의 형태로 반환합니다.

사용 예제

Sub DayDiff_test()

 Today$ = Format(Date$,"Short Date")

 NextWeek = Format(DateAdd("d", 14, today$), "Short Date")

 DifDays# = DateDiff("d", Today$, NextWeek)

 DifWeek# = DateDiff("w", Today$, NextWeek)

 S$ = "The difference between " & Today$ & " and " & NextWeek

 S$ = S$ & " is: " & DifDays# & "Days or" & DifWeek# & "Weeks"

 MsgBox s$

End Sub

 

스크립트 표기

n = DatePart(interval, date[, [firstdayofweek] [,firstweekofyear[]]

내용

날짜 및 시간의 특정 부분을 숫자의 형태로 반환합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub DatePart_test()

 Today$ = Date$

 Qtr = DatePart("q", Today$)

 Yr = DatePart("yyyy", Today$)

 Mo = DatePart("m", Today$)

 Wk = DatePart("ww", Today$)

 Da = DatePart("d", Today$)

 S$ = "Quarter: " & Qtr & crlf

 S$ = S$ & "Year: " & Yr & crlf

 S$ = S$ & "Month: " & Mo & crlf

 S$ = S$ & "Week: " & Wk & crlf

 S$ = S$ & "Day: " & Da & crlf

 MsgBox S$

End Sub

함수명

스크립트 표기

n = DateSerial(year, month, day)

내용

지정된 년, 월, 일의 값을 DateSerial의 형태로 반환합니다.

사용 예제

Sub DateSerial_test()

 Tdate# = DateSerial(1993,08,22)

 MsgBox "The DateSerial Value for august 22,1993, is: " & Tdate#

End Sub

 

함수명

스크립트 표기

n = DateValue(date)

내용

지정된 문자열에 포함된 날짜를 날짜 형식으로 반환합니다.

사용 예제

Sub DateValue_test()

 Tdate# = Date$

 Tday = DateValue(Tdate#)

 MsgBox Tdate & " date value is: " & Tday

End Sub

 

함수명

스크립트 표기

n = Day(date)

내용

지정된 달의 날짜 값을 정수로 반환합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub Day_test()

 CurDate = Now()

 MsgBox "Today is day" & Day(CurDate) & "of the monthy." & crlf & "Tomorrow is day" & Day(CurDate +1)

End Sub

함수명

스크립트 표기

n = Hour(time)
n = Minute(time)
n = Second(time)

내용

지정된 시각의 시간, 분, 초 값을 반환합니다.

사용 예제

Sub HMS_test()

 Xt# = TimeValue(Time$())

 Xh# = Hour(Xt#)

 Xm# = Minute(Xt#)

 Xs# = Second(Xt#)

 MsgBox "The current time is:" & Xh# & ":" & Xm# & ":" & Xs#

End Sub

함수명

스크립트 표기

n = Month(date)

내용

입력한 날짜의 월에 해당하는 값을 반환합니다.

사용 예제

Sub Month_test()

 Mons$ = "Jan., Feb., Mar., Apr., May, Jun., Jul., Aub., sep., Oct., Nov., Dec."

 Tdate$ = Date$

 Tmonth! = Month(DateValue(tdate$))

 MsgBox "The current month is:" & Item$(mons$, Tmonth!)

End Sub

 

함수명

스크립트 표기

n = Year(date)

내용

입력한 날짜의 연도에 해당하는 값을 반환합니다.

사용 예제

Sub Year_test()

 Tdate$ = Date$

 Tyear = Year(DateValue(Tdate$))

 MsgBox Tdate & " date value is: " & Tyear

End Sub

함수명

스크립트 표기

n = Now()

내용

현재 날짜와 시간 값을 출력합니다.

사용 예제

Sub Now_test()

T1$ = Now()

MsgBox "Wait a while and click OK."

T2$ = Now()

T3$ = Second(T2$)
  T3$ = T3$ - Second(T1$)

  MsgBox "경과 시간: " & T3$ &" seconds."

End Sub

함수명

스크립트 표기

n = Time$[()]

내용

시스템 시간을 문자열 또는 날짜 데이터의 형식으로 반환합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub Main()

 Oldtime$ = Time$

   temp = " Time was : " & Oldtime$ & crlf

   Time$ = "10:30:54"

   temp = temp & "Time set to: " & Time$ & crlf

   Time$ = Oldtime$

   temp = temp & "Time restored to: " & Time$

   MsgBox temp

End Sub

함수명

스크립트 표기

n = Timer

내용

자정 이래로 경과된 시간의 값을 초 단위로 반환합니다.

사용 예제

Sub timer_test()

    Start& = Timer

   MsgBox "Click the OK button, please."

   Total& = Timer

 Total& = Total& - Start&

   MsgBox "the elapsed time was: " & Total& & "seconds."

End Sub

함수명

스크립트 표기

n = TimeSerial(hour, minute, Second)

내용

지정한 시, 분, 초의 값을 날짜 데이터 형식으로 반환합니다.

사용 예제

Sub TimeSerial_test()

 Start# = TimeSerial(10,22,30)

 Finish# = TimeSerial(10, 35,27)

 Dif# = Abs(Start# - Finish#)

 MsgBox "The time difference is : " & Format(Dif#, "hh:mm:ss")

End Sub

함수명

스크립트 표기

n = TimeValue(time)

내용

시간을 포함하는 문자열 형태의 날짜를 날짜 데이터 형식으로 반환합니다.

사용 예제

Sub TimeValue_test()

 T1$ = "10:15"

 T2# = TimeValue(T1$)

 MsgBox "The TimeValue of " & T1$ & " is: " & T2#

End Sub

파일 관련 함수

함수명

스크립트 표기

Close [[#] filenumber [,[#] filenumber]…]

내용

지정된 파일을 닫습니다.

사용 예제

Sub Close_test()

 Open "test1" For Output As #1

 Open "test2" For Output As #2

 Open "test3" For Random As #3

 Open "test4" For Binary As #4

 MsgBox "The next available file number is :" & FreeFile()

 Close #1

 Close #2, #3

 MsgBox "The next available file number is :" & FreeFile()

End Sub

함수명

스크립트 표기

EOF (filenumber)

내용

지정된 파일의 끝(end-of-file)에 도달하였을 때 True를 반환합니다. 그렇지 못할 경우 False를 반환합니다.

사용 예제

Const crlf = Chr$(13) + Chr$(10)

Sub EOF_test()

 Dim S$

 Open "C:\autoexec.bat" For Input As #1

 Do While Not EOF(1)

 Input #1, S$

 Loop

 Close

 MsgBox "The last line was:" & crlf & S$

End Sub

함수명

스크립트 표기

n = FreeFile[(rangenumber)]

내용

다음에 사용 가능한 파일 번호를 반환합니다.

사용 예제

Sub FreeFile_test()

 A = FreeFile

 MsgBox "The next free file number is: " & A

End Sub

서브루틴명

스크립트 표기

Print [#]filenumber, [[{Spc(n) | Tab(n)}] [expressionlist] [{;|,}]]

내용

데이터를 순차 디스크 파일에 씁니다. 인수는 최대 30개까지 사용할 수 있습니다.

사용 예제

Sub Print_test()

 Open "test.dat" for Output As #1

 I% = 10

 S$ = "This is a test"

 Print #1, "The value of I = "; I%, "the value of S=";S$

 Print #1, I%,, S$

 Print #1, I%; Spc(10); S$

 Print #1, I%; Tab(30); S$

 Print #1,I%;S$

 Print #1 , 67

 Close #1

 Kill "test.dat"

End Sub

서브루틴명

스크립트 표기

Put [#]filenumber, [recordnumber], variable

내용

입력한 변수(variable)의 데이터를 임의 또는 바이너리 파일에 입력합니다.

사용 예제

Sub put_test()

   Open "test.dat" For Random Access Write As #1

   For X = 1 To 10

       R% = X * 10

       Put #1, X, R%

   Next X  

   Close

   Open "test.dat" For Random Access Read As #1

   For X = 1 to 10

       Get #1, X, R%

       temp = temp & "Record" & X & "is : " & R% & Basic.Eoln$

   Next X

   MsgBox temp

   Close

   Kill "test.dat"

End Sub

서브루틴명

스크립트 표기

Put [#]filenumber, [recordnumber], variable

내용

입력한 변수(variable)의 데이터를 임의 또는 바이너리 파일에 입력합니다.

사용 예제

Sub put_test()

   Open "test.dat" For Random Access Write As #1

   For X = 1 To 10

       R% = X * 10

       Put #1, X, R%

   Next X  

   Close

   Open "test.dat" For Random Access Read As #1

   For X = 1 to 10

       Get #1, X, R%

       temp = temp & "Record" & X & "is : " & R% & Basic.Eoln$

   Next X

   MsgBox temp

   Close

   Kill "test.dat"

End Sub

서브루틴명

스크립트 표기

Reset

내용

실행 중인 모든 파일을 닫고, I/O 디바이스 메모리를 씁니다.

사용 예제

Sub Reset_test()

Open "test.dat" For Output Access Write As #1

Reset

Kill "test.dat"

If FileExists("test.dat") Then

MsgBox "The file was not deleted"

Else

MsgBox "The file was deleted"

End If

End Sub

함수명

스크립트 표기

n = Seek(filenumber)

내용

파일의 시작점을 기준으로 현재 커서의 위치를 반환합니다.

사용 예제

Sub Seek_test()

Open "test.dat" For Random Access Write As #1

For X = 1 To 10

R% = X * 10

 Put #1,X,R%

 Next X

 Y = Seek(1)

MsgBox "The current file position is: " &Y

 Close

End Sub

서브루틴명

스크립트 표기

Write [#]filenumber [expressionlist]

내용

지정된 파일에 입력 값들을 차례로 쓰기 합니다.

사용 예제

파일에 값을 쓰고 읽은 뒤, 그 내용을 출력한 후 닫습니다.

Sub Write_test()

 Open "test.dat" For Output Access Write As #1

 For X = 1 To 10

 R% = X * 10

 Write #1, X, R%

 Next X

 Close

 Open "test.dat" For Input Access Read As #1

 For X = 1 To 10

 Input #1, A%,B%

 temp = temp & "Record " & A% & ":" & B% & Basic.Eoln$

 Next X

 MsgBox temp

 Close

End Sub