Visual Basic 함수정리(M)
출처 : http://blog.naver.com/chchcom?Redirect=Log&logNo=3156879
◆ 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"를 반환합니다.
◆ Minute 함수
분을 나타내는 0에서 59 사이의 정수 Variant (Integer) 값을 반환합니다.
▶ 구문 : Minute(time)
time 인수는 시간을 표시할 수 있는 Variant, 숫자 식, 문자열 식, 또는 조합형을 사용합니다. time이 Null을 포함하면 Null 값을 반
환합니다.
Minute 함수 예제
이 예제는 Minute 함수를 사용하여 지정된 시간로부터 시의 분을 얻습니다. 개발 환경에서 시간 문자는 사용자 코드를 지역 설정
하여 간단한 날짜 형식으로 나타냅니다.
Dim MyTime, MyMinute
MyTime = #4:35:17 PM# ' 시간을 지정합니다.
MyMinute = Minute(MyTime) ' MyMinute가 35를 포함하고 있습니다.
◆ MIRR 함수
일정 기간의 자금 흐름(지불액과 수령액)에 대한 수정된 내부 수익률을 지정하는 Double을 반환합니다.
▶ 구문 : MIRR(values(), finance_rate, reinvest_rate)
MIRR 함수는 다음과 같이 명명된 인수로 구성되어 있습니다.
구성 요소
설명
values()
finance_rate
reinvest_rate
필수. 자금 흐름 값을 지정하는 Double 유형의 배열 입니다. 배열에는 최소 하나의 음수(지불액)와 하나의 양
수(수령액)가 들어 있어야 합니다.
필수. 재정 처리 비용으로 지불할 이율을 지정하는 Double 입니다.
필수. 자금 재투자로 인한 수익에서 받을 이율을 지정하는 Double 입니다.
▶ 참고 :수정된 내부 수익률은 다른 이율로 지불액과 수령액을 처리할 때의 내부 수익률입니다. MIRR 함수는 투자 비용
(finance_rate)과 자금의 재투자에서 받게 되는 이율 (reinvest_rate)을 모두 고려합니다.
▶ 인수 finance_rate와 reinvest_rate는 소수로 백분율을 표시합니다. 예를 들면 12%는 0.12로 표시합니다.
MIRR 함수는 배열에 있는 값의 순서를 사용하여 지불액과 수령액의 순서를 해석합니다. 지불액과 수령액을 정확한 순서로 입력
했는지 확인하십시오.
MIRR 함수 예제
다음은 Values( ) 배열 내에 포함된 다섯 가지의 연속적인 자금 흐름에 대한 수정된 내부 수익률을 반환하기 위해 MIRR 함수를
사용하는 예제입니다. LoanAPR은 융자에 대한 이자금이며, InvAPR은 재투자에 대한 이자 배당률을 나타냅니다.
Dim LoanAPR, InvAPR, Fmt, RetRate, Msg
Static Values(5) As Double ' 배열 초기화.
LoanAPR = .1 ' 융자율.
InvAPR = .12 ' 재투자율.
Fmt = "#0.00" ' 금액 서식을 정의합니다.
Values(0) = -70000 ' 사업 초기 비용.
Values(1) = 22000 : Values(2) = 25000 ' 연속 4년에 대한 소득을 반영하는 양의 값을 갖는 자금 흐름.
Values(3) = 28000 : Values(4) = 31000
RetRate = MIRR(Values(), LoanAPR, InvAPR) ' 내부 이자율 계산.
Msg = "이 5개 현금 유입에 대한 수정된 내부 비율입니다"
Msg = Msg & Format(Abs(RetRate) * 100, Fmt) & "%."
MsgBox Msg ' 내부 배당금 이자율 표시.
◆ Month 함수
년 중 월을 나타내는 1에서 12 사이의 정수 Variant (Integer) 값을 반환합니다.
▶ 구문 : Month(date)
date 인수는 날짜를 표시할 수 있는 Variant, 숫자 식, 문자열 식, 또는 조합형을 사용합니다. date가 Null을 포함하면, Null을 반환합
니다.
Month 함수 예제
이 예제는 Month 함수를 사용하여 지정된 날짜로부터 월을 얻습니다. 개발 환경에서 날짜 문자는 사용자 코드를 지역 설정하여
간단한 날짜 형식으로 나타냅니다.
Dim MyDate, MyMonth
MyDate = #February 12, 1969# ' 날짜를 지정합니다.
MyMonth = Month(MyDate) ' MyMonth가 2를 포함하고 있습니다.
◆ MsgBox 함수
대화상자 안에 메시지를 보여주며, 사용자가 단추를 누를때까지 기다리다가 사용자가 누른단추가 지시하는 Integer을 반환합니다.
▶ 구문 MsgBox(prompt[, buttons] [, title] [, helpfile, context])
명명된 인수
개체 라이브러리에서 먼저 정의된 이름을 가진 인수를 의미합니다. 구문에서 요구하는 지정된 순서의 각 인수 값을 제공하는 대신에 사용자는
명명된 인수를 사용하여 임의의 순서로 값을 할당할 수 있습니다. 예를 들면 다음과 같이 세 개의 인수를 받는 방법을 제안합니다.
DoSomeThing namedarg1, namedarg2, namedarg3
값을 명명된 인수에 할당함으로써 사용자는 다음의 문을 사용할 수 있습니다.
DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20
명명된 인수는 구문의 정상 배치 순서로 나타내지 않아도 된다는 것을 주의하십시오.
MsgBox 함수 구문은 다음과 같은 고유 인수로 되어 있습니다.
구성 요소
설 명
prompt
Buttons
Title
Helpfile
Context
필수. 대화 상자 내의 메시지로 나타나는 문자열 식입니다. prompt의 최대 길이는 약 1024 문자이며, 사용된 문
자의 너비에 따라 다릅니다. prompt 구성이 1줄 이상이면, 캐리지 리턴 문자 (Chr(13)), 라인 피드 문자 (Chr(1선
택. 단추의 수와 형태와 사용할 아이콘의 형태, 기초 단추의 정체 및 메시지 상자의 양식을 지정하는 값의 합
을 나타내는 숫자 식입니다. 생략 되었을 때 buttons의 기본값은 0 입니다.0)), 캐리지 리턴 및 라인 피드 문자
(Chr(13) & Chr(10))를 이용하여 줄 구분을 합니다.
선택. 대화 상자의 제목 표시줄에 나타나는 문자열 식입니다. Title을 생략하면 응용 프로그램의 이름은 제목 표
시줄에 나타납니다.
선택. 도움말 파일을 이용하여 상세한 도움말을 대화 상자에 제공합니다. helpfile이 부여되면, context도 반드시
부여되어야 합니다.
선택. 도움말 작성자가 적절히 작성한 도움말 항목에 부여된 도움말 문 번호를 나타내는 숫자 식입니다. context
가 부여되면, helpfile도 반드시 부여되어야 합니다.
▶ 설정 : buttons 인수는 다음과 같이 설정되어 있습니다.
상수
값
설 명
vbOKOnly
VbOKCancel
VbAbortRetryIgnore
VbYesNoCancel
VbYesNo
VbRetryCancel
VbCritical
VbQuestion
VbExclamation
VbInformation
VbDefaultButton1
VbDefaultButton2
VbDefaultButton3
VbDefaultButton4
VbApplicationModal
VbSystemModal
VbMsgBoxHelpButton
VbMsgBoxSetForeground
VbMsgBoxRight
VbMsgBoxRtlReading
0
1
2
3
4
5
16
32
48
64
0
256
512
768
0
4096
16384
65536
524288
1048576
[확인] 단추만 나타냅니다.
[확인] 와 [취소] 단추를 나타냅니다.
[중단], [재시도], 및 [무시] 단추를 나타냅니다.
[예], [아니오], 및 [취소] 단추를 나타냅니다.
[예] 및 [아니오] 단추를 나타냅니다.
[재시도] 및 [취소] 단추를 나타냅니다.
[중대 메시지] 아이콘을 나타냅니다.
[질의 경고] 아이콘을 나타냅니다.
[메시지 경고] 아이콘을 나타냅니다.
[메시지 정보] 아이콘을 나타냅니다.
첫째 단추가 기본값입니다.
둘째 단추가 기본값입니다
세째 단추가 기본값입니다
넷째 단추가 기본값입니다
응용 프로그램 규칙; 사용자는 현재 사용 중인 프로그램 내에서 작업을 계속하기 전에 반
드시 메시지 상자에 응답해야 합니다.
시스템 규칙; 사용자가 메시지 상자에 응답할 때까지 모든 프로그램들은 정지됩니다.
메시지 상자에 도움말 단추를 추가합니다.
메시지 상자 창을 전경 창으로 지정합니다.
문자열을 오른쪽으로 정렬합니다.
문자열을 위에서 아래로, 오른쪽에서 왼쪽으로 읽을 수 있도록 지정합니다.
첫 그룹의 숫자(0 )들은 대화 상자 안에 나타난 단추들의 수와 형태를 보여줍니다. 둘째 그룹의 숫자(16, 32, 48, 64)들은 아이콘의
형태를, 세째 그룹(0, 256, 512)은 어느 단추가 기본값 인지를 정해주며, 넷째 그룹(0, 4096)은 메시지 상자의 폼을 결정합니다.
buttons 인수에 대한 최종 값을 산출할 때는 각 그룹에서 한 가지 값만을 사용합니다.
▶ 메모 이와 같은 상수는 응용 프로그램용 Visual Basic에 의해 결정됩니다. 결국, 이름은 실제 값이 있는 코드 어디에서나 사용될
수 있습니다.
반환 값
상수
값
설명
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
1
2
3
4
5
6
7
[확인]
[취소]
[중단]
[재시도]
[무시]
[예]
[아니오]
▶ 참고 : helpfile과 context가 같이 부여되면, F1키를 눌러 context에 해당하는 도움말 항목을 볼 수 있습니다. Microsoft Excel과 같은 호스트
프로그램은 대화 상자 내에 [도움말] 단추가 자동 첨가됩니다. 대화 상자에 [취소] 단추가 나타났을 때, ESC키를 누르면 [취소]
단추를 누른 것과 같은 결과가 됩니다. 대화 상자에 [도움말] 단추가 나타났을 때는, 대화 상자에 상세한 도움말이 제공됩니다.
그러나 다른 단추 중 하나를 누를 때까지는 값을 반환하지 않습니다.
▶ 메모 최초의 고유 인수 이외에 추가로 지정하려면, 식 내부에 MsgBox를 사용해야 합니다. 위치를 나타내는 인수를 생략하려면,
반드시 그에 대응하는 구분 기호 쉼표(,)를 포함해야 합니다.
MsgBox 함수 예제
다음은 MsgBox 함수를 사용하여 예와 아니오 단추를 가진 대화 상자에 중대한 오류 메시지를 표시하는 예제입니다. 아니오 단추
가 기본 응답으로 지정됩니다. MsgBox 함수의 반환값은 사용자가 선택한 단추에 따라 결정됩니다. 이 예에서 DEMO.HLP는 도움
말 항목 번호가 1000인 도움말을 가진 도움말 파일로 가정합니다.
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "계속하시겠습니까?" ' 기본 메시지.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons.
Title = "데모 MsgBox" ' 기본 제목.
Help = "DEMO.HLP" ' 기본 도움말 파일.
Ctxt = 1000 ' 기본 항목
' 구문.
' 메시지 화면 표시.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' 사용자가 예를 선택.
MyString = "예" ' 어떤 동작을 수행.
Else ' 사용자가 아니오를 선택.
MyString = "아니오" ' 어떤 동작을 수행.
End If
<추가 MsgBox 상수>
MsgBox 함수는 다음과 같은 새 상수를 지원합니다.
VbMsgBoxHelpButton
VbMsgBoxSetForeground
VbMsgBoxRight
VbMsgBoxRtlReadi
ng
16384
65536
524288
1048576
메시지 상자에 도움말 단추를 추가합니다.
메시지 상자 창을 포그라운드 창으로 지정합니다.
텍스트를 오른쪽으로 정렬합니다.
Hebrew와 Arabic 시스템에서 텍스트를 오른쪽에서 왼쪽으로 읽게 배치하도록 지정합
니다.