CSVN-VBA là ngôn ngữ cơ bản dựa trên nền tảng của Visual Basic, cho nên muốn sử dụng tốt ngôn ngữ VBA bạn cũng phẳi nắm chẳc các hàm hay các toán tử của VISUAL BASIC. Các phép biến đổi hay các phép tính toán VBA và VB giống hệ nhau không khác chút nào. Nhưng VBA trong CAD được dựa trên các đối tượng vẽ trong AutodCAD. Bài hướng dẫn này hy vọng xe giúp các bạn hiểu thêm về lập trình VBA trong AutoCad.
1. Mở VBA trong Autocad:
Công việc này khá đơn giản, chỉ cần bật Autocad. Bạn sẽ hấy Menu của Autocad ở góc trên. Vào Tool -> Macro -> VBA Editor hay bạn chỉ cần bấm ALT và F11 là bạn đã có thể bắt đầu với VBA rồi.
Màn hình VBA có dạng như sau:
2. Menu trong VBA
Dưới Menu của VBA bạn sẽ nhìn thấy một loạt các công cụ của VBA, chúng được hiện ra và có chức năng như sau.
Chức năng của Object Browser rất quan trọng trong quá trình lập trình vcủa các bạn, Browser này cho phép bạn tìm kiếm các hàm liên quan để lập trình tương tác với CAD.
3.Cách viết 1 chương trình trong VBA:
VBA (VISUAL BASIC APPLICATION) là ngôn ngữ dựa trên cơ sở của ngôn Visual Basic nhưung được hướng các đối tượng trực tiếp.
a. Các toán tử:
VBA cũng sử dụng các toán tử như Visual Basic:
+ 2 + 3 = 5 Cộng
- 3 – 2 = 1 Trừ
* 3*2 = 6 Nhân
/ 3/2 =1.5 Chia
^ 3^2 =6 Mũ
Các kiểu dữ liệu của VBA:
Integer : Số nguyên 16 bit
Double : Số thực 64bit
String : Xâu ký tự
Boolean : Đúng hoặc sai (true or false)
Long : Số nguyên 32bit
Variant : Kiểu dữ liệu cho tất cả các biến
Single : Số thực 32bit
Date : Kiểu ngày giờ
Decimal : Số thực 96bit
Object : Đối tượng khi Set các thành phần của câu lệnh, đặc biệt rấy hay sử dụng với các lệnh vẽ của AutoCad
Khai báo biến:
Muốn khai báo kiểu Integer
Dùng lệnh Dim <tên biến> AS <kiểu dữ liệu>
VD: DIM abc AS INTEGER
DIM Xau AS STRING
Sau mỗi một biến dùng toán tử AS để xác định kiểu biến cho biến được đặt
Chú ý: Không đặt tên biến trùng với các toán tử có của VBA:
As, for, else,....
Đây một số câu lệnh cần thiết để lập trình
Câu lệnh của VBA:
Trong các điều kiện của VBA dùng : AND và OR làm toán tử của các câu lệnh điều kiện
IF <Điều kiện>. THEN
ELSE
END IF
-----------------
FOR <Biến> = <Số bắt đầu> TO [DOWNTO] <Số kết thúc> STEP <bước nhẩy>
NEXT <Biến>
----------------
WHILE <Điều kiện>
WEND
--------------
Select Case <điều kiện>
Case 1
Câu lệnh 1
Case 2, 3
Câu lệnh 2
Case 4 To 6
Câu lệnh 3
Case Is > 8 Is: chỉ đó là còn lại các số khác
Câu lệnh 4
Case Else
Câu lệnh 5
End Select
Chú ý: Để hiểu thêm chi tiết các điều kiện vào toán tử các bạn xem ở: Help cuả VBA EditorTopic: Visual Basic language Reference -> Data Types Statements
b. Các hàm của VBA:
VBA sử dụng lại 2 hàm cơ bản của Visual Basic là
Sub Tên_hàm (tham số nếu có)
End Sub
Function tên_hàm (tham số nếu có) as <Kiểu dữ liệu>
End Function
Khác nhau giữa Sub và Function: Sub không trả về dữ liệu cho hàm nhưng function thì ngược lại
Các hàm này để có thể khai báo kiểu Public hoặc Private
VD:
Sub Cong ()
Dim c as interger
C = 2 +3
End sub
Funtion Cong() as Integer
Cong= 3 +2
End Fuction // hàm này sẽ trả về giá trị 5 nếu bạn yêu cầu.