[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) |
내용 | 문자의 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) |
내용 | 임의의 문자열 또는 숫자 식을 날짜 값으로 변환합니다. | |
사용 예제 | 두 날짜를 입력 후 해당 날짜 사이의 날짜 수를 반환합니다. 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) |
내용 | 입력한 기호를 문자의 값으로 반환합니다. | |
사용 예제 | 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 |
서브루틴명 | 스크립트 표기 |
statements Loop {While | Until} condition Do statements Loop |
내용 | 조건이 참이거나, 조건이 참이 될 때까지 기본 스크립트문 한 블록을 반복합니다. | |
사용 예제 | 예1) 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) 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) 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) 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 |
서브루틴명 | 스크립트 표기 |
[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) |
내용 | 지정된 시각의 시간, 분, 초 값을 반환합니다. | |
사용 예제 | 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$) 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 |