1. Overview
- Program Lines
줄 단위로 해석을 하는 인터프리트 방식 언어이며 특별히 줄의 마지막을 가리키는 기호를 사용하지 않는다.
만약 한 줄에 많은 내용을 담아야 할 경우 _(underscore)를 사용할 수 있다.
LongExpression = (Expression1 * Expression2) _
+ (Expression3 * Expression4) _
+ (Expression5 * Expression6)
반대로 여러 줄을 한 줄에 나타내기 위해 :(colon)를 사용할 수 있다.
a = 1 : a = a + 1 : a = a + 1
- Comments
주석은 '(apostrophe)를 사용한다.
Dim A ' This comment for variable A is relatively
' long and stretches over several lines.
' The comment character must therefore
' be repeated in each line.
- Markers
변수, 상수, 함수의 이름이 지켜야 할 규칙은 사용하다 보면 알게 된다.
대부분의 프로그래밍 언어가 사용하는 규칙과 많은 차이가 없기 때문에 생략한다.
2. Variables
- Implicit Variable Declaration
언어가 사용하기 쉽게 디자인 되어있어서 명시적으로 변수를 선언하지 않아도 된다.
(문서에는 좋은 프로그래밍 방식이 아니라 비추라 되어있는데, 난 잘 모르겠다.)
- Explicit Variable Declaration
암시적 선언을 강제로 막을 수 있다.
Option Explicit
선언의 쉬운 방법은 어떤 값이든 저장 가능한 가변 타입으로 선언하는 것이다.
Dim MyVar
MyVar = "Hello World"
MyVar = 1
MyVar = 1.0
MyVar = True
타입을 지정해서 선언하는 방법은 아래와 같고, 변수에 타입 기호 넣는 방법도 있다.
Dim MyVar As Integer
Dim MyAnotherVar%
한 줄에 여러 변수를 선언할 수도 있으며, 변수마다 타입은 각각 지정해야 한다.
Dim MyVar1 As Integer, MyVar2 As Integer
- Strings
문자열은 Unicode로 저장되며 하나의 변수에 65535개의 문자를 담을 수 있다.
Dim Variable As String
Dim AnotherVariable$
여러 줄에 문자열을 나타낼 때에는 결합 연산자인 &(ampersand)를 사용하면 된다.
(_에 대해 오타가 아닌가 생각하는 사람은 Program Lines를 다시 읽어보길..)
Dim MyString As String
MyString = "This string is so long that " & _
"it has been split over two lines."
문자열 내에 "(quotation) 기호를 넣기 위해서는 두 번 써주면 된다.
Dim MyString As String
MyString = "a ""-quotation mark."
- Numbers
Integer는 -32768 ~ 32767 범위의 숫자를 저장할 수 있다.
Dim Variable As Integer
Dim AnotherVariable%
Long Integer는 -2147483648 ~ 2147483647 범위의 숫자를 저장할 수 있다.
Dim Variable As Long
Dim AnotherVariable&
Single은 어떤 부호든 절대값으로 3.402823x10^38 ~ 1.401298x10^-45 범위의 숫자를 저장할 수 있다.
Dim Variable As Single
Dim AnotherVariable!
Double은 어떤 부호든 절대값으로 1.79769313486232x10^308 ~ 4.94065645841247x10-324 범위의 숫자를 저장할 수 있다.
Dim Variable As Double
Dim AnotherVariable#
Currency는 고정 소수점 변수로 -922337203685477.5808 ~ 922337203685477.5807 범위의 숫자를 저장할 수 있다.
(문서에는 신뢰가 안가는 타입이라 쓰지 말라는 식으로 경고가 붙어있다.)
Dim Variable As Currency
Dim AnotherVariable@
Float은 대입 되는 순간 Single, Double, Currency 중 적절한 타입으로 결정된다.
Dim Variable As Float
(유효숫자 방식 값을 나타내는 방법과 주의할 점은 생략 하겠다.)
16진수난 8진수를 나타내는 방법은 숫자앞에 &H, &O를 붙여주면 된다.
(&O에서 & 뒤는 숫자 0이 아니라 영문자 O다.)
Dim A As Long
Dim B As Long
A = &HFF
B = &O77
- Boolean, Date
숫자 외에 값으로 True, False를 사용하는 Boolean 타입, 날짜나 시간을 저장하는 Date 타입이 있다.