메모

vba chr chrw 등 문자 함수...펌

맘편한넘 2013. 8. 21. 21:06

re: 비주얼 공부중 용어와 함수 좀 설명해 주세요

used77
답변채택률88.7%
2008.06.17 21:35
답변 추천하기

질문자 인사

모달(Modal)

- 대화상자가 열려있는 상태에서 다른 대화상자를 열면 다른 대화상자로 이동할 수 있습니다.

사용예) form2.show vbModal

모달리스(Modaless)

- 대화상자가 열려있는 상태에서 다른 대화상자를 선택하여도 이동하지 않습니다. 현재 열려있는 대화상자의 지시나 처리를 하지않으면 안됩니다

사용예) form2.show vbModaless

Asc 함수

문자열의 글자에 대응하는 문자 코드 나타내는 Integer 값을 반환합니다.

구문 Asc(string)

필수 항목인 string 인수는 유효한 문자열 이어야 합니다. string 해당하는 문자가 없는 경우 런타임 오류 발생합니다.

참고

DBCS 계열 이외의 시스템에서는 0 55 값을 반환하나, DBCS 계열의 시스템에서는 -32768

32767 사이의 값을 반환합니다.

메모

AscB 함수는 문자열에 포함된 바이트 데이터를 사용합니다. AscB 함수는 문자 코드의 글자를 반환하는 대신에 첫째 바이트를 반환합니다. AscW 함수는 Asc 함수에서와 같이 Unicode 지원하지 않는 플랫폼을 제외하고 Unicode 문자 코드를 반환합니다.

Asc 함수 예제

예제는 Asc 함수를 사용하여 문자열의 첫째 문자에 따른 문자 코드를 반환합니다.

Dim MyNumber

MyNumber = Asc("A") ' 65를 반환합니다.

MyNumber = Asc("a") ' 97을 반환합니다.

MyNumber = Asc("Apple") ' 65를 반환합니다.

Chr 함수

지정된 문자 코드 관련 있는 문자가 포함된 String 값을 반환합니다.

구문 Chr(charcode)

charcode 인수는 문자를 식별하는 Long 값입니다.

참고

숫자 0부터 31까지는 표준(인쇄가 가능하지 않은) ASCII 코드입니다. 예를 들어, Chr(10) 라인 피드 문자를 반환합니다. charcode 표준 범위는 0부터 255까지 입니다. 그러나 DBCS 시스템에서 charcode 실제 범위는 -32768부터 65536까지 입니다.

메모

ChrB 함수는 String 포함된 바이트 정보와 함께 사용됩니다. 또는 바이트 크기일 있는 문자가 반환되는 대신에 ChrB 함수는 항상 바이트만 반환합니다. ChrW 함수는 Chr 함수와 동일한 작동을 하는 Unicode 지원하지 않는 플랫폼을 제외하고 Unicode 문자를 포함하는 String 값을 반환합니다.

Chr 함수 예제 다음은 Chr 함수를 사용하여, 지정된 문자 코드에 대한 문자를 구해내는 예제입니다.

Dim MyChar

MyChar = Chr(65) ' A를 반환합니다.

MyChar = Chr(97) ' a를 반환합니다.

MyChar = Chr(62) ' >를 반환합니다.

MyChar = Chr(37) ' %를 반환합니다.

Left 함수

문자열 좌측부터 지정된 만큼의 문자를 Variant(String)값으로 반환합니다.

구문 Left(string, length)

Left 함수 구문은 다음과 같은 명명된 인수로 되어 있습니다.

구성 요소

설명

string

Length

필수. 좌측의 문자들이 반환되는 문자열 string Null 포함되면 Null 반환됨.

필수. Variant(Long). 반환할 문자의 수를 지정하는 숫자 . 0 경우, 길이가 0 문자열("") 반환됩니다. String의문자 수와 같거나 경우 문자열 전부가 반환됨.

참고

string내의 문자 수를 파악하기 위해서는 Len 함수를 이용합니다.

메모 문자열 내에 포함된 byte정보의 경우 LeftB 함수를 이용합니다. 반환할 문자 수를 지정하는 대신 length 바이트 수를 지정합니다.

Left 함수 예제

다음은 Left 함수를 사용하여 문자열의 왼쪽 끝에서부터 지정된 문자 만큼의 글자를 반환하는 예제입니다.

Dim AnyString, MyStr

AnyString = "Hello World" ' 문자열 정의.

MyStr = Left(AnyString, 1) ' "H"를 반환합니다.

MyStr = Left(AnyString, 7) ' "Hello W"를 반환합니다.

MyStr = Left(AnyString, 20) ' "Hello World"를 반환합니다.

Right 함수 문자열의 우측으로부터 지정된 수의 문자를 Variant(String)값으로 반환합니다.

구문 Right(string, length)

Right 함수 구문은 다음과 같은 명명된 인수로 되어 있습니다.

구성 요소

설명

string

Length

필수. 가장 우측에 있는 문자가 반환되는 문자열 . string Null값이 있으면 Null 반환됨.

필수; Variant(Long). 반환할 문자 수를 지정하는 숫자 0이면 길이가 0 문자열("") 반환됨. string내의 문자 수보다 크거나 같으면 문자열 전부가 반환됨.

참고 string 문자 수를 파악하려면 Len 함수를 이용합니다.

메모 문자열 내의 바이트 정보는 RightB 함수를 이용합니다. length 반환할 문자 수가 아니라 바이트 수를 지정합니다.

Right 함수 예제

다음은 Right 함수를 사용하여 주어진 문자열의 오른쪽에서부터 지정된 문자 만큼을 반환하는 예제입니다.

Dim AnyString, MyStr

AnyString = "Hello World" ' 문자열 정의.

MyStr = Right(AnyString, 1) ' "d"를 반환합니다.

MyStr = Right(AnyString, 6) ' " World"를 반환합니다.

MyStr = Right(AnyString, 20) ' "Hello World"를 반환합니다.

Mid 함수

문자열에서 지정된 수의 문자들을 Variant(String) 값으로 반환합니다.

구문 Mid(string, start[, length])

Mid 함수 구문은 다음과 같은 명명된 인수로 구성되어 있습니다.

구성 요소

설명

string

Start

Length

필수. 문자들이 반환되는 문자열 . string Null 포함되면 Null 반환됨.

필수. Long. string에서 취할 부분이 시작하는 문자 위치. start 값이 string 문자 수보다 크면 Mid 함수는 길이가 0 문자열("") 반환함.

선택. Variant(Long). 반환할 문자 . 지정되지 않거나 글에서 length 보다 문자 수가 적으면

(start 문자들 포함) start 위치부터 문자열 끝까지 모든 문자들이 반환됨.

참고

string내의 문자 수를 파악하기 위해서는 Len 함수를 이용합니다.

메모 문자열 내의 바이트 정보는 MidB 함수를 이용합니다. 인수는 문자 수를 지정하는 것이 아니라 바이트 수를 지정합니다.

Mid 함수 예제

다음은 Mid 함수를 사용하여 문자열로부터 지정된 만큼의 문자를 따내는 예제입니다.

Dim MyString, FirstWord, LastWord, MidWords

MyString = "Mid Function Demo" ' 텍스트 문자열 작성합니다.

FirstWord = Mid(MyString, 1, 3) ' "Mid"를 반환합니다.

LastWord = Mid(MyString, 14, 4) ' "Demo"를 반환합니다.

MidWords = Mid(MyString, 5) ' "Function Demo"를 반환합니다.

LTrim, RTrim, Trim 함수

지정된 문자열의 좌측에 공백이 없는(LTrim), 우측에 공백이 없는(RTrim), 또는 양쪽 끝에 공백이 없는(Trim) 문자열을 Variant(String)값으로 반환합니다.

구문 LTrim(string)

RTrim(string)

Trim(string)

string 인수로는 모든 유효한 문자열 식이 사용됩니다. string Null 값을 포함하면 Null 반환됩니다.

LTrim, RTrim, Trim 함수 예제

다음은 문자열 변수로부터 각각 앞쪽 공백과 뒤쪽 공백을 삭제하기 위해 LTrim RTrim 함수를 사용하는 예제입니다. 양쪽 공백을 모두 삭제하기 위해서는 Trim 함수를 단독으로 사용합니다.

Dim MyString, TrimString

MyString = " <-Trim-> " ' 문자열 초기화.

TrimString = LTrim(MyString) ' TrimString = "<-Trim-> ".

TrimString = RTrim(MyString) ' TrimString = " <-Trim->".

TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->".

' Trim 함수를 사용하여 같은 결과를 성취.

TrimString = Trim(MyString) ' TrimString = "<-Trim->".

DateAdd 함수

특정 시간 간격을 포함한 Variant (Date) 값을 반환합니다.

구문 DateAdd(interval, number, date)

DateAdd 함수 구문은 다음과 같은 이름 지정된 인수 되어 있습니다

구성 요소

설명

interval

필수. 문자열 식을 사용하여 시간 간격을 표시합니다.

Number

필수 숫자 식을 사용하여 날짜에 시간 간격을 가감합니다.

양수(이후 시간을 계산하는 경우) 음수(이전 시간을 계산하는 경우) 모두 사용 가능합니다.

Date

필수. Variant (Date) 형의 날짜에는 시간 간격이 가감됩니다.

설정 interval 인수는 다음과 같이 설정되어 있습니다.

설정 사항

설명

설정 사항

설명

yyyy

연도

w

요일

q

분기

ww

m

h

시간

y

일자

n

d

s

참고

날짜에 특정 시간을 가감할 DateAdd 함수를 사용합니다.

예를 들어, 현재 시간부터 45 이후 시간이나, 현재 일로부터 30 이후의 날짜를 계산할 DateAdd 함수를 사용합니다.

date 날짜를 더할 , ("y"), ("d")이나 요일("w") 사용합니다.

DateAdd 함수는 틀린 날짜 값은 반환하지 않습니다. 다음은 95 1 31 1개월(30) 더한 예제입니다:

DateAdd("m", 1, "31-Jan-95")

위의 경우, DateAdd 함수는 95-2-31일이 아닌 95-2-28일을 반환합니다.

만약 date 96 1 31 경우는 윤년이기 때문에 96 2 29 반환합니다.

계산한 날짜가 100년을 넘어가는 경우 오류가 발생합니다.(실제 date보다 많은 연도를 가감했기 때문입니다)

number Long 값이 아닌 경우는, 가까운 정수값으로 반올림한 계산합니다.

명명된 인수

개체 라이브러리에서 먼저 정의된 이름을 가진 인수를 의미합니다. 구문에서 요구하는 지정된 순서의 인수 값을 제공하는 대신에 사용자는 명명된 인수를 사용하여 임의의 순서로 값을 할당할 있습니다. 예를 들면 다음과 같이 개의 인수를 받는 방법을 제안합니다.

DoSomeThing namedarg1, namedarg2, namedarg3

값을 명명된 인수에 할당함으로써 사용자는 다음의 문을 사용할 있습니다.

DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20

명명된 인수는 구문의 정상 배치 순서로 나타내지 않아도 된다는 것을 주의하십시오.

Long 데이터 형식

-2,147,483,648에서 2,147,483,647까지의 범위를 갖는 4바이트 정수를 의미합니다. 앰퍼샌드(

&) 형식 선언 문자는 Visual Basic에서 Long으로 나타납니다.

DateAdd에서 반환하는 값의 형식은 날짜 인수에서 전달한 형식에 따라 결정되지 않고 제어판의 설정에 따라 결정됩니다.

DateAdd 함수 예제

예제는 날짜를 선택하고 DateAdd 함수를 사용하여 미래의 지정된 달에 따른 날짜를 나타냅니다.

Dim FirstDate As Date ' 변수를 선언합니다.

Dim IntervalType As String

Dim Number As Integer

Dim Msg

IntervalType = "m" ' "m" specifies months as interval.

FirstDate = InputBox("Enter a date")

Number = InputBox("Enter number of months to add")

Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)

MsgBox Msg

DateDiff 함수

지정된 날짜 간의 시간 간격을 의미하는 Variant (Long) 값을 반환합니다.

구문 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 함수 구문은 다음과 같은 이름 지정된 인수로 되어 있습니다.

구성 요소

설명

interval

date1, date2

Firstdayofweek

Firstweekofyear

필수. 문자열 사용하여 date1 date2 간의 시간 간격을 계산.

필수. Variant (Date) . 날짜 값을 계산.

선택. 상수 주의 시작하는 요일을 지정. 생략시 일요일로 지정.

선택. 상수는 년의 시작하는 주를 지정. 생략시 1 1일이 포함된 주를 지정.

DateDiff 함수 예제

예제는 DateDiff 함수를 사용하여 주어진 날짜와 오늘 사이의 날짜 수를 나타냅니다.

Dim TheDate As Date ' 변수를 선언합니다.

Dim Msg

TheDate = InputBox("Enter a date")

Msg = "Days from today: " & DateDiff("d", Now, TheDate)

MsgBox Msg

DatePart 함수

관련 자료의 특정 부분을 포함한 Variant (Integer) 값을 반환합니다.

구문 DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 함수 구문은 다음과 같은 이름 지정된 인수 형식으로 사용합니다.

구성 요소

설명

interval

Date

firstdayofweek

Firstweekofyear

필수. 문자열 식을 사용하여 시간 간격을 나타냅니다.

필수. Variant (Date) 값을 계산합니다..

선택. 상수를 사용하여 주의 시작일을 지정합니다. 생략시 일요일로 계산합니다.

선택. 상수를 사용하여 년의 주를 계산합니다. 1 1일이 포함된 주를 지정합니다.

DatePart 함수 예제

예제는 날짜를 선택하고 DatePart 함수를 사용하여 해의 4분기를 나타냅니다.

Dim TheDate As Date ' 변수를 선언합니다.

Dim Msg

TheDate = InputBox("Enter a date:")

Msg = "Quarter: " & DatePart("q", TheDate)

MsgBox Msg

DatePart()

DateSerial 함수

지정된 , , 일의 Variant (Date) 값을 반환합니다.

구문 DateSerial(year, month, day)

DateSerial 함수 구문은 다음과 같은 이름 지정된 인수 형식으로 사용합니다

구성 요소

설명

year

Month

Day

필수.정수. 숫자 식을 포함한 100 9999 사이의 숫자를 나타냅니다.

필수. 정수. 모든 숫자 .

필수. 정수. 모든 숫자 .

DateSerial 함수 예제

예제는 DateSerial 함수를 사용하여 지정된 , , 일에 대한 날짜를 반환합니다.

Dim MyDate ' MyDate1969년 2월 12 대한 날짜가 포함되어 있습니다.

MyDate = DateSerial(1969, 2, 12) ' 날짜를 반환합니다.

DateValue 함수

Variant (Date) 값을 반환합니다.

구문 DateValue(date)

date 인수는 1 1, 100부터 12 31, 9999까지의 날짜를 나타내는 문자열 식입니다. date 숫자 식을 사용하여 지정된 범위 내의 날짜, 시간, 일시 등을 나타냅니다.

DateValue 함수 예제

예제는 DateValue 함수를 사용하여 문자열을 날짜로 변환합니다.

사용자는 날짜 문자를 사용하여 날짜를 직접 Variant이나 Date 변수로 할당할 있습니다.

예를 들면, MyDate = #2/12/69#.

Dim MyDate

MyDate = DateValue("February 12, 1969") ' 날짜를 반환합니다.

TimeSerial 함수

특정 , , 초에 대한 시간을 나타내는 Variant (Date) 값을 반환합니다.

구문 TimeSerial(hour, minute, second)

TimeSerial 함수 문은 다음과 같은 이름 지정된 인수로 되어 있습니다.

구성 요소

설명

hour

minute

second

필수; Variant (Integer). 숫자 식이나 0(12:00 A.M.) 23(11:00 P.M.) 사이의 숫자입니다.

필수, Variant (Integer). 모든 숫자 .

필수, Variant (Integer). 모든 숫자 .

TimeSerial 함수 예제 예제는 TimeSerial 함수를 사용하여 지정된 , , 초에 대한 시간을 반환합니다.

Dim MyTime

MyTime = TimeSerial(16, 35, 17) ' MyTime4:35:17 PM의 일련 표현을 포함하고 있습니다.

TimeValue 함수

시간 값을 포함한 Variant (Date) 값을 반환합니다.

구문 TimeValue(time)

time 인수는 0:00:00 (12:00:00 A.M.)부터 23:59:59(11:59:59 P.M.)까지의 값을 갖는 문자열 식으로 사용합니다. 그러나 지정된 범위의 time 나타내기 위하여 어떤 식도 사용할 있습니다. time Null

포함되어 있으면, Null 반환합니다.

TimeValue 함수 예제

예제는 TimeValue 함수를 사용하여 문자열을 시간으로 변환합니다. 사용자는 날짜 문자를 사용하여 시간을 직접 Variant Date 변수로 할당할 있습니다. 예를 들면, MyTime = #4:35:17 PM#.

Dim MyTime

MyTime = TimeValue("4:35:17 PM") ' 시간을 반환합니다.

Ubound 함수

배열 차원을 나타내는 첨자가 포함된 Long 반환합니다.

구문 UBound(arrayname[, dimension])

UBound 함수 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소

설명

arrayname

dimension

필수 사항. 변수 배열 이름; 표준 변수 이름 규칙 준수.

선택 사항; Variant (Long). 하위 바운드 차원을 표시하는 정수를 반환합니다. 번째 차원에는 1, 번째 차원에는 2 같이 씁니다. dimension 없으면 1 가정합니다.

UBound 함수 예제

다음은 UBound 함수로 배열의 표시된 차원 상한 값을 결정하는 예입니다.

Dim Upper

Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 배열 변수를 선언합니다.

Dim AnyArray(10)

Upper = UBound(MyArray, 1) ' 10을 반환합니다.

Upper = UBound(MyArray, 3) ' 20을 반환합니다.

Upper = UBound(AnyArray) ' 10을 반환합니다.

LBound 함수

지정된 배열 차원에 사용할 있는 가장 작은 첨자를 포함하는 Long 반환합니다.

구문 LBound(arrayname[, dimension])

LBound 함수 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소

설명

arrayname

dimension

필수 사항. 배열 변수 이름; 표준 변수 이름 규칙 준수.

선택 사항; Variant (Long). 하위 바운드 차원을 표시하는 정수를 반환합니다. 번째 차원에는 1, 번째 차원에는 2 같이 씁니다. dimension 없으면 1 가정합니다.

LBound 함수 예제

다음은 LBound 함수로 배열의 표시된 차원 하한 값을 결정하는 예입니다. Option Base 기본 배열 첨자 0 바꿀 있습니다.

Dim Lower

Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 배열 변수를 선언합니다.

Dim AnyArray(10)

Lower = Lbound(MyArray, 1) ' 1을 반환합니다.

Lower = Lbound(MyArray, 3) ' 10을 반환합니다.

Lower = Lbound(AnyArray) ' Option Base 설정에 따라, 0 또는 1을 반환합니다.

Option Base 문

배열 첨자의 기본 하한값을 선언하기 위해 모듈 수준에서 사용됩니다.

구문

Option Base {0 | 1}

참고

기본값은 0이기 때문에 Option Base 문은 선택 사항이며, 을 사용할 때는 모든 프로시저 앞의 모듈에 선언해야 합니다. Option Base는 모듈 내에서 한번만 선언할 수 있으며, 반드시 배열의 차원을 포함한 선언 앞에 두어야 합니다.

메모 Dim , Private, Public, ReDim, Static 문에서의 To 절은 배열 인수의 범위를 더 융통성 있게 사용할 수 있습니다. 그러나 To 절에 최소 범위값을 지정하지 않은 경우 Option Base 문을 사용하여 기본값 최소 범위값을 1로 변경할 수 있습니다. Array 함수 또는 ParamArray 키워드가 0이며 Option Base 문은 Array 또는 ParamArray에 영향을 주지 않습니다.

Option Base 문은 사용한 모듈의 배열의 최소 범위값에만 영향을 줍니다.

Option Base 문 예제

이 예제는 Option Base 문을 사용하여 기본 기준 배열 첨자 값인 0을 무효화합니다. LBound 함수는 배열의 지시된 차원에 대한 가장 작은 사용 가능한 첨자를 반환합니다. Option Base 문은 모듈 수준에서만 사용됩니다.

Option base  1   ' 기본 배열 첨자를 1 지정합니다.
Dim Lower
Dim MyArray(20), TwoDArray(3, 4)   ' 변수를 선언합니다.
Dim ZeroArray(0 To 5)   ' 기본값 기본 첨자를 무효화합니다.
' LBound 함수를 사용하여 배열의 하위 제한 범위를 검사합니다.
Lower = LBound(MyArray)   ' 1 반환합니다.
Lower = LBound(TwoDArray, 2)   ' 1 반환합니다.
Lower = LBound(ZeroArray)   ' 0 반환합니다.