1. Trang chủ
  2. » Địa lý

Phát triển AutoCAD bằng ActiveX & VBA - Chương 11: Phát triển ứng dụng bằng VBA

7 9 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Để người dùng có thể chọn được một đối tượng trong cửa sổ ứng dụng của AutoCAD, trước hết cần ẩn Form bằng cách gọi phương thức Hide.. Khi đối tượng đã được chọn thì hiển thị lại Fo[r]

(1)

P

PHHÁÁTT TTRRIINN NNGG DDNNGG B

BNNGG VVBBAA

11 Trong chương này

ƒ Một số thuật ngữ VBA

ƒ Làm việc với Form VBA

ƒ Xử lý lỗi

ƒ Bảo mật mã nguồn chương trình VBA ƒ Thực thi Macro từ trình

đơn cơng cụ ƒ Tựđộng tải dự án VBA ƒ Tựđộng thực thi Macro ƒ Tựđộng mở VBA IDE

khi tải dự án ƒ Làm việc

bản vẽđược mở ƒ Phân phối ứng dụng

Nhiều cơng việc lập trình khơng đơn giản làm việc với mơ hình đối tượng AutoCAD ActiveX Chương đề cập tổng quan cách tạo hộp thoại, xử lý lỗi, điều khiển cửa sổ ứng dụng phân phối ứng dụng cho người khác

(2)

1 Mt s thut ng VBA

Nội dung chương mở rộng kinh nghiệm với VBA Các khái niệm nêu giúp tìm hiểu làm việc với môi trường VBA

Project Dự án - tập hợp form mơ-đun nhóm lại thành tệp

Module nhóm thủ tục hàm thường có liên quan đến Macro hàm thủ tục dùng chung Macro thường thể

hiện dạng thành phần chạy Dự án

Dialogbox phương tiện để thể thông tin tập hợp thông tin ứng dụng hoạt động

Form đối tượng chứa điều khiển hộp thoại

2 Làm vic vi Form VBA

Form khối cấu tạo bản, ta thiết kế các hộp thoại cho ứng dụng khác Qua Form tự tạo, ta cung cấp thơng tin cho người dùng, nhận thông tin từ người dùng người dùng điều khiển hoạt động ứng dụng

Form giống phông để vẽ, ban đầu chúng hồn tồn rỗng Để làm đầy phơng cần có bảng màu Trong trường hợp này, bảng màu hộp cơng cụ điều khiển (Toolbox) Người thiết kế hoạ sỹ, thực bố trí điều khiển lấy từ hộp cơng cụ vào Form với số lượng tuỳ ý Có thể điều chỉnh thuộc tính kích thước điều khiển Form vào lúc Sau thêm vào chức (viết mã lệnh) cho điều khiển để Form hoạt động

(3)

Các UserForm, gọi Form tài liệu này, ln dạng Modal Có nghĩa xuất lúc ứng dụng chạy, người dùng phải đóng lại trước muốn thực thao tác khác ứng dụng Điều nói đến kỹ phần “Thiết kế chương trình với Modal Form” trang 280

2.1 Thiết kế chy chương trình

Khi tạo Form lúc làm việc chế độ thiết kế, chế độ thực thao tác sau:

ƒ Thêm điều khiển vào Form ƒ Thay đổi thuộc tính Form

ƒ Thay đổi thuộc tính điều khiển Form ƒ Chèn mã lệnh cho môđun Form

Trong chế độ thiết kế tương tác người dùng, giao diện AutoCAD Form thiết kế

Khi chạy ứng dụng Form chế độ hoạt động Khi chế độ này, ta tạo thay đổi tới Form cách trực tiếp Tuy nhiên, Form hiển thị giao diện sử dụng AutoCAD, người dùng tương tác với Form phần thông thường ứng dụng

2.2 To Form mi D án

Tạo Form Dự án

1 Mở cửa sổ Project VBA IDE chọn dự án muốn thêm Form

2 Từ menu Insert chọn UserForm Khi Form trống tạo thêm vào dự án

2.3 Thêm điu khin vào Form

Rất dễ dàng để thêm điều khiển vào Form, cách chọn điều khiển hộp cơng cụ kéo vào Form Khi điều khiển đặt Form, thay đổi vị trí kích cỡ chép điều khiển tuỳ theo ý muốn người thiết kế

Bên cạnh cách nêu trên, cịn có cách khác để đặt điều khiển vào Form

Thay đổi kích cỡ điều khiển đặt vào Form

1 Chọn điều khiển mong muốn hộp công cụ

2 Trên Form, nhấn chuột trái, kéo chuột sau thả Điều khiển lựa chọn đặt Form có kích cỡ phụ thuộc vào phạm vi kéo chuột

Đặt nhiều điều khiển giống Form

(4)

2 Trên Form, nháy chuột vị trí muốn đặt điều khiển Di chuyển chuột đến vị trí khác Form nháy chuột lần nữa, điều khiển xuất Có thể tạo nhiều điều khiển với cách làm tương tự

3 Khi thực xong thao tác, trở lại hộp công cụ nháy chuột vào điều khiển lần để bỏ lựa chọn

2.3.1.Thay đổi kích thước vị trí điều khiển

Để dịch chuyển điều khiển cần chọn vào điều khiển kéo tới vị trí Form Để thay đổi kích cỡ điều khiển trước hết phải chọn nó, đường bao điều khiển hiển thị Sau kéo đường bao kích cho phù hợp kích thước mong muốn (Form điều chỉnh kích thước theo cách tương tự)

Để di chuyển thay đổi kích cỡ nhiều điều khiển lúc lựa chọn điều khiển giữ phím SHIFT, sau thực di chuyển đổi kích thước chúng theo nhóm

2.3.2.Định dạng điều khiển

VBA cung cấp số chức điều chỉnh định dạng để giúp cho ta trình bày Form Những chức tìm thấy trình đơn Format VBA IDE Chúng cho phép chỉnh, tạo kích thước giống nhau, thay đổi khoảng cách cho nhiều điều khiển Form

Chú ý, để chọn nhiều điều khiển, giữ phím SHIFT chọn 2.3.3.Thay đổi thuộc tính điều khiển

Các thuộc tính điều chỉnh đặc điểm khác điều khiển ví dụ như: kích cỡ, hình dạng, màu sắc, nhãn giá trị mặc định Gán thuộc tính điều khiển thực thiết kế cách sử dụng cửa sổ Properties

Thay đổi thuộc tính điều khiển

1 Chọn điều khiển cần thay đổi thuộc tính Form

2 Mở cửa sổ Properties cách sử dụng phím F4 trường hợp cửa sổ chưa mở

3 Trong cửa sổ Properties, tìm thuộc tính muốn thay đổi chọn giá trị cho thuộc tính

4 Thay đổi giá trị cho thuộc tính

Ta thay đổi thuộc tính đối tượng chương trình hoạt động cách viết mã lệnh truy cập vào thuộc tính Tham khảo tài liệu Microsoft để tìm thêm thơng tin thay đổi thuộc tính điều khiển lúc chương trình hoạt động

2.3.4.Thêm mã lệnh cho điều khiển

(5)

trên điều khiển, cửa sổ Code mở với hàm tạo sẵn cho điều khiển tương ứng với kiện mặc định điều khiển

Có thể viết mã lệnh cho kiện mặc định chọn kiện khác từ hộp danh sách kiện nằm góc bên phải cửa sổ Code

2.4 Hin th n Form

Sau thiết kế Form điều khiển viết mã lệnh đầy đủ bước cuối hiển thị Form cho người dùng chạy chương trình Sự hiển thị Form thực phương thức Show Phương thức gọi từ mơđun ứng dụng

Hiển thị Form

Ví dụ hiển thị Form có tên “UserForm1”: Public Sub MyApplication()

UserForm1.Show End Sub

Thủ tục (và tiếp việc hiển thị Form) gọi Macro từ lệnh

VBARUN từ trình đơn AutoCAD

Lưu ý Form VBA chế độ Modal Điều có nghĩa người dùng khơng thể tương tác trực tiếp với AutoCAD (ví dụ chọn điểm hay đối tượng vẽ) Form hiển thị Để cho phép người dùng tương tác với vẽ AutoCAD cần sử dụng phương thức Hide VBA Phương thức ẩn Form cho phép người dùng truy cập cách hạn chế với AutoCAD Khi sử dụng phương thức Hide, Form nhớ máy tính, giữ ngun tất giá trị bị ẩn Phương thức gọi theo cách tương tự phương thức Show

Ẩn Form

UserForm1.Hide

2.5 Ti d b Form

Một số trường hợp cần tải Form vào nhớ lúc chạy ứng dụng khơng hiển thị Form Trường hợp gặp phải người lập trình muốn khống chế thời điểm tải Form tốt muốn truy cập Form khơng muốn người dùng nhìn thấy Form Để tải Form không Form, sử dụng phương thức Load VBA Phương thức Show sử dụng sau để người dùng nhìn thấy Form thời điểm thích hợp ứng dụng thực Cần nhớ rằng, người dùng tương tác với Form nhìn thấy Nếu phương thức Show gọi mà Form chưa tải vào tự động tải

(6)

Phương thức Hide không thực việc dỡ bỏ Form Nếu ứng dụng kết thúc Form chưa dỡ bỏ tự động dỡ bỏ Dưới bảng so sánh phương thức Show, Hide, Load Unload VBA:

Các phương thức VBA Show, Hide, Load Unload

Phương thức Vai trò

Show Hiển thị Form Nếu Form chưa tải vào tự động tải Form vào

Hide Ẩn Form Form chưa dỡ bỏ khỏi nhớ

Load Form tải vào nhớ chưa hiển thị

Unload Dỡ bỏ Form khỏi nhớ Có thể thực việc phương thức Unload thực tựđộng ứng dụng kết thúc

2.6 Thiết kế chương trình vi Modal Form

Tất hộp thoại VBA AutoCAD dạng Modal Điều có nghĩa người dùng cần trả lời yêu cầu hộp thoại trước tiếp tục thực phần khác ứng dụng Sẽ khơng có mã lệnh thực hộp thoại dạng Modal đóng phương thức Hide Unload Điều yêu cầu người phát triển ứng dụng cần suy nghĩ thận trọng thời điểm cách thức xếp trình tự hộp thoại

Ví dụ cần thiết kế hộp thoại yêu cầu người dùng chọn đối tượng vẽ AutoCAD Để người dùng chọn đối tượng cửa sổ ứng dụng AutoCAD, trước hết cần ẩn Form cách gọi phương thức Hide Khi đối tượng chọn hiển thị lại Form phương thức Show, tất liệu giữ nguyên trạng ứng dụng tiếp tục chạy

CHÚ Ý Mặc dù tất Form khác ứng dụng không phép hoạt động hộp thoại Modal hiển thị, ứng dụng khác phép hoạt động

3 X lý li

Có ba loại lỗi khác gặp phải ứng dụng: lỗi biên dịch, lỗi thực thi lỗi logic

Lỗi biên dịch xảy xây dựng ứng dụng Những lỗi hầu hết lỗi cú pháp, vấn đề phạm vi biến, lỗi nhập liệu Trong VBA, kiểu lỗi thường phát môi trường phát triển Khi soạn dịng lệnh sai dịng đánh dấu thông báo lỗi xuất nhắc nhở lỗi Các lỗi biên dịch cần phải sửa trước ứng dụng hoạt động

(7)

tại lỗi thực thi xảy Để xử lý lỗi loại cách hiệu cần dự đoán dạng vấn đề gặp phải để bẫy chúng viết mã lệnh xử lý tình Lỗi logic khó tìm sửa Hiện tượng lỗi logic thường nằm tình lỗi biên dịch lỗi thực thi không xảy kết ứng dụng tạo không Người lập trình coi loại lỗi mà dễ khó để tìm bẫy

Các thơng tin để tìm sửa ba loại lỗi nói tìm thấy tài liệu mơi trường lập trình Các lỗi AutoCAD thường lỗi thực thi nên chúng nói đến kỹ phần sau chương

CHÚ Ý Hầu hết ví dụ mẫu cấp tài liệu AutoCAD không sử dụng bẫy lỗi Điều nhằm mục đích làm cho ví dụđơn giản tập trung vào nội dung Tuy nhiên, ngơn ngữ lập trình khác, xử lý lỗi bẫy lỗi hợp lý điều cần thiết để tăng hiệu ứng dụng

Có cần phải bẫy lỗi thực thi khơng?

Hầu hết mơi trường lập trình phải cung cấp công cụ xử lý lỗi mặc định Với VB VBA, phản ứng lỗi mặc định xuất thông báo lỗi ngắt ứng dụng Trong xây dựng ứng dụng kiểu phản ứng phù hợp, không phép xuất người dùng Khi lập trình, người lập trình muốn bỏ qua cung cấp phản ứng lỗi riêng cho số lỗi; muốn ngăn xuất thông báo lỗi đơn giản điều khiển xuất thông báo lỗi người dùng Bên cạnh đó, người dùng khơng thể chấp nhận việc tự động ngắt ứng dụng

Nói chung, xử lý lỗi cần thiết cần nhập thông số đầu vào từ người dùng làm việc với nhập/xuất tệp Lưu ý rằng, tệp cần dùng sẵn sàng để xử lý, xuất yếu tố gây lỗi mà người lập trình chưa nghĩ đến

3.1 By li thc thi

Trong VB VBA, lỗi thực thi bẫy cách sử dụng lệnh On Error Câu lệnh tạo bẫy cho hệ thống Mỗi có lỗi xảy ra, lệnh tự động chuyển hướng sang phần xử lý riêng biệt thiết kế cho lỗi Khi xử lý lỗi mặc định hệ thống bị bỏ qua

Lệnh On Error có dạng sau: On Error Resume Next

On Error GoTo Label On Error GoTo

Ngày đăng: 09/03/2021, 04:36

Xem thêm:

TỪ KHÓA LIÊN QUAN

w