188
ĐểtạomớidựánVBA
1. Mở cửa sổ VBA Manager.
2. Chọn nút lệnh New.
Mặc định, dự án mới được tạo sẽ là một dự án độc lập, có tên là ACADProject.
Sau khi tạo mới dự án, ta có thể nhúng dự án vào một bản vẽ nào đó hoặc có thể lưu ra một tệp
riêng thành dự án độc lập tuỳ thuộc vào mục đ
ích sử dụng.
Ngoài ra người dùng có thể sử dụng lệnh
VBANEW từ dòng lệnh của AutoCAD để tạo mới dự án
VBA.
Đểmở/tảidựánVBA
1. Mở cửa sổ VBA Manager.
2. Chọn nút lệnh Load Ö Hiển thị hộp thoại mở dự án VBA
Hình V-3: Hộp thoại mở dự án VBA.
3. Chọn dự án cần mở và chọn Open.
Ngoài ra người dùng có thể sử dụng lệnh
VBALOAD từ dòng lệnh của AutoCAD để tải dự án
VBA.
ĐểlưudựánVBA
1. Khởi động VBAIDE (nhấn phím ALT+F11 hoặc chọn trình đơn Tools Ö Macro Ö
Visual Basic Editor).
2. Chọn dự án cần lưu trong cửa sổ Project.
3. Chọn trình đơn File Ö Save xxx (trong đó xxx là tên tệp chứa dự án)
2.2.2. Nhúng và tách dự án VBA
Đểnhúngdựánđộclậ
pvàomộtbảnvẽ
1. Mở cửa sổ VBA Manager.
T
T
R
R
Ì
Ì
N
N
H
H
T
T
R
R
Ê
Ê
N
N
A
A
U
U
T
T
O
O
VBANEW Tạo mới dự án độc lập.
VBALOAD Tải tệp dự án VBA (tệp *.dvb) vào trong VBAIDE. Hộp thoại mở dự án VBA sẽ
được hiển thị để người dùng lựa chọn tệp dự án cần mở.
-VBALOAD Tải tệp dự án VBA vào trong VBAIDE như lệnh VBALOAD, nhưng không hiển thị
hộp thoại, người dùng phải nhập tên tệp từ dòng lệnh của AutoCAD
VBAUNLOAD Đóng dự án VBA đang được mở trong VBAIDE. Trên dòng lệnh AutoCAD xuất
hiện dấu nhắc, nhắc người dùng nhập tên tệp chứa dự án cần đóng.
VBARUN Thực thi Macro. AutoCAD sẽ hiển thị một hộp thoại cho người dùng chọn Macro
cần thực thi.
-VBARUN Thực thi Macro từ dòng lệnh của AutoCAD. Người dùng phải nhập tên của Macro
cần thực thi ngay trên dòng lệnh của AutoCAD. Nếu có nhiều Macro trùng tên
trong các mô-đun khác nhau, sử dụng cú pháp: <tên_mô_đun.tên_Macro>.
VBASTMT Thực thi một biểu thức/câu lệnh của VBA từ dòng lệnh của AutoCAD.
Khi kết hợp cách quản lý dự án VBA bằng dòng lệnh của AutoCAD với ngôn ngữ lập trình
AutoLISP thì ta có thể gọi một dự án VBA hay sử dụng một chức năng của dự án VBA bằng
một chương trình AutoLISP.
3. Macro
3.1. Khái niệm Macro trong AutoCAD
Cũng tương tự như trong Excel, khái niệm về Macro cũng được đưa vào trong AutoCAD như
là một công cụ giúp cho người dùng có thể thực hiện nhanh hơn công việc của mình nhờ khả
năng tự động thực hiện của AutoCAD thông qua Macro, mà thực chất là một chương trình
VBA. Trong AutoCAD, để được là Macro thì chương trình này phải thỏa mãn đồng thời các
quy định sau:
Ø
Ø
Là một chương trình con dạng
Sub;
TạoMacrothôngquahộpthoạiMacros
1. Mở hộp thoại Macros bằng cách chọn trình đơn Tools
ÖMacroÖMacros… (hoặc sử dụng
lệnh
VBARUN từ dòng lệnh AutoCAD, hoặc nhấn phím tắt ALT+F8)
Hình V-4: Hộp thoại Macros
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G
V
V
:
:
L
L
Ậ
U
T
T
O
O
C
C
A
A
D
D
191
2. Trong mục Macros in, chọn nơi sẽ chứa Macro từ danh sách thả xuống.
3. Trong mục Macro name, nhập tên Macro cần tạo.
4. Chọn Create để tạo Macro mới. Nếu người dùng chưa chọn nơi chứa Macro ở bước
,
AutoCAD sẽ hiển thị hộp thoại yêu cầu người dùng chọn nơi chứa Macro.
Hình V-5: Lựa chọn nơi chứa Macro
5. Màn hình của VBAIDE sẽ được tự động hiện lên, và con trỏ chuột được đặt ngay vị trí cài
đặt mã lệnh cho Macro mới. Lúc này ta đã có thể bắt đầu viết mã lệnh cho Macro mới.
6. Trong màn hình của VBAIDE chọn trình đơn FileÖClose and Return to AutoCAD để trở
về màn hình của AutoCAD sau khi hoàn thành việc viết mã lệnh cho Macro.
GỢI Ý Trong AutoCAD, để hiển thị hộp thoại Macros, người lập trình có thể sử dụng phím
tắt là ALT+F8; còn để chuyển đổi qua lại giữa màn hình AutoCAD và VBAIDE, người lập
trình có thể sử dụng phím tắt là ALT+F11.
Có thể nói, một trong những điểm mạnh của AutoCAD chính là cửa sổ dòng lệnh. Thông qua
cửa sổ dòng lệnh này, mọi thao tác đối với bản vẽ đều có thể được thực hiện một cách nhanh
chóng bằng bàn phím với hệ thống các lệnh đã được định nghĩa sẵn.
Để thực hiện một chức năng mới được tạo ra bằng cách lập trình trong VBA, hay nói cách khác
là để thực thi một Macro, rõ ràng phả
i thực hiện qua khá nhiều bước. Cho nên, để tạo ra sự
thuận tiện cho người sử dụng, nên định nghĩa lệnh mới, mà qua đó người sử dụng có thể thực
thi Macro chỉ với một lệnh đơn giản, giống như khi cần vẽ đường thẳng, ta chỉ cần sử dụng
lệnh line ở dòng lệnh AutoCAD. Sự kết hợp với AutoLISP là một giải pháp tố
t và dễ dàng để
thực hiện mục tiêu này.
Với VBA, người dùng có thể tạo Macro để thực hiện một thao tác nào đó. Còn với AutoLISP,
người dùng có thể định nghĩa một lệnh mới để thực thi Macro đã được tạo trong dự án VBA.
Hay nói cách khác, AutoLISP là chiếc cầu nối nhằm tạo sự liên kết giữa dòng lệnh AutoCAD
và Macro trong dự án VBA.
Tuy nhiên, nếu chỉ được lưu trong những tệp dự án VBA và tệp AutoLISP thông thường thì
những lệnh đó chỉ có hiệu lực khi người dùng tải đồng thời dự án VBA và tệp AutoLISP vào
trong AutoCAD. Vì vậy, khi muốn các lệnh mới này có hiệu lực ngay khi sử dụng AutoCAD
(nghĩa là người sử dụng không cần phải làm thêm bất cứ một thao tác nào khác, chỉ cần khởi
động AutoCAD là có thể dùng được ngay các lệnh này) thì người lập trình sẽ phải lưu dự án
VBA thành tệp có tên là ACAD.DVB và tệp AutoLISP sẽ được lưu vớ
i tên là ACAD.LSP, và
cả hai tệp này phải được lưu vào thư mục cài đặt của AutoCAD (ví dụ đối với AutoCAD 2002,
nếu cài đặt thông thường, thì thư mục cài đặt của AutoCAD trong Windows sẽ là: C:\Program
Files\AutoCAD 2002). Đây là hai tệp sẽ được tự động tải lên ngay sau khi khởi động
AutoCAD, và việc còn lại của người dùng là sử dụng tất cả những tính năng đã có trong các tệp
này.
Dưới đây là một ví dụ đơn gi
ản để tạo lệnh mới trong AutoCAD: chương trình (Macro)
HelloWorld.