2008. 9. 9. 00:22
1.Variables, Data Types, Array, Constant
*변수
변수는 말 그대로 변하는 값을 임시로 저장하기위해 사용한다. 그리고 그 변수는 어떤 데이터를 가지고있는지 자료형을 지정할 수 있다.(숫자값이건, 문자값이건, 오브젝트값이건...) 그러한 변수를 사용하기 앞서 어떤 변수가 어떤 자료형인지를 미리 선언해둔다.

변수선언방법
→ Dim 변수명 As 자료형

물론 변수명을 선언하지 않아도 된다.

변수명을 강제로 써주게하는 방법은?
→ Option Explicit 선언을 해주면 된다.

*자료형
숫자 :
Short (2Byte)
Integer (4Byte)
Long (8Byte)
실수:
Single (4byte)
Double(8Byte)
Boolean:
Boolean(1Byte)
문자&문자열:
Char (1Byte)
String (nByte)
날짜:
Date('#yyyy/mm/dd")

*배열
Dim 변수명(n[,n[,n]]) As 자료형

* 상수
변하는 값을 가지는게 변수라면, 변하지 않는값을 가지는것은 상수다.
Const 상수명 = 상수값

2.Conditional sentences
If 조건식 Then
 실행문
ElseIf 조건식 Then
 실행문2
Else
 실행문3
End If

Select Case 조건
 Case 값1
  실행문1
 Case 값2
  실행문2
 Case Else
  실행문
End Select

Select Case문 응용
Case 값1[값2[,값n]]
Case Is 비교연산자
Case 최소값 To 최대값


3.Loop
For 카은터변수 시작숫자 To 끝숫자 [Step 증가값]
 실행문
 [Exit For]
Next 카운터변수

For Each 개체변수 In 컬렉션개체
 실행문
 [Exit For]
Next 개체변수

Do While 조건식
 실행문
 [Exit Do]
Loop

Do
 실행문
 [Exit Do]
Loop While 조건식

Do Until 조건식
 실행문
 [Exit Do]
Loop

Do
 실행문
 [Exit Do]
Loop Until 조건식

While 조건식
 실행문
Wend

4.Procedure
Sub Procedure :반환값이 없는 procedure
[Public | Private | Static] Sub 매크로명([매개변수[,...]])
 실행문
End Sub
※ Public은 전체 모듈에서, Private은 현재 모듈내에서 사용가능.

Function Procedure:반환값이 있는 procedure
[Public | Private | Static] Function 함수명([매개변수[,...]]) [As 자료형]
 실행문
 [함수명 = 반환값]
End Function

Property Procedure:사용자정의 개체의 속성을 만들 때 사용.
Property Get[Let | Set] name(인수)
 실행문
 [Get인 경우에만 name=expression]
End Property
eg.
Public intX As Integer ' 지정된 값(vData)으로 속성 X를 지정
Public Property LetX(ByVal vData As Integer)
 intX=vData
End Property
Public Property Get X() As Integer '개체의 X 속성값을 가져오는 속성 프로시져
 X = intX
End Property

Procedure 호출
Call 서브 프로시져명(매개변수리스트)
서브 프로시져명 매개변수리스트

매개변수 전달
ㅇ.참조에의한 전달:Call by reference
eg.
Sub Sub_Ref(k As Integer)

ㅇ.값에의한 전달:Call by value
eg.
Sub Sub_Val(ByVal k As Integer)

ㅇ.선택적 매개변수:Optional parameter
eg.
Sub Sub_Optional(ByVal k As String, Optional Title)
 If IsMission(Title) Then 'IsMission를 이용해 선택적 매개변수 Title이 입력되었는지 여부를 확인
  ...
 Else
  ...
 End If
End Sub




Posted by ToTb