Tải bản đầy đủ (.pdf) (5 trang)

Giáo trình hướng dẫn nghiên cứu các phương pháp lập trình trên microsoft access marco p3 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (882.07 KB, 5 trang )

C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G


I
I
V
V
:
:


L
L


P
P


T


T
R
R
Ì
Ì
N
N
H
H


T
T
R
R
Ê
Ê
N
N


M
M
I
I
C
C
R
R
O

O
S
S
O
O
F
F
T
T


E
E
X
X
C
C
E
E
L
L



113

Exit Function
End If

If (DiemTB < 5) Then

PhanLoai = "Truot"
Exit Function
End If
End Function
Hàm này lấy tham số đầu vào để phân loại là điểm trung bình của sinh viên thông qua biến
DiemTB với thang điểm 10. Hàm sẽ trả về giá trị kiểu chuỗi: “Đỗ” nếu điểm trung bình lớn hơn
hoặc bằng 5, và ngược lại là “
Trượt”.
Tuy nhiên, với những trường hợp điểm trung bình, vì một lý do nào đó, được nhập vào giá trị
nhỏ hơn 0 hoặc lớn hơn 10 thì hàm vẫn trả về thông báo “
Trượt” hoặc “Đỗ”. Như vậy là không
hợp lý. Trong những trường hợp đó, cần phải trả về thông báo cho người sử dụng biết là không
thể áp dụng hàm với điểm trung bình như vậy. Như vậy, hàm sẽ được thay đổi lại như sau:
Function PhanLoai(DiemTB) As String
If (DiemTB < 0) Or (DiemTB > 10) Then
PhanLoai = “#N/A”
Exit Function
End If

If (DiemTB >= 5) Then
PhanLoai = "Do"
Exit Function
End If

If (DiemTB < 5) Then
PhanLoai = "Truot"
Exit Function
End If
End Function
Và như vậy, kể từ lúc này, mỗi khi vô tình nhập các giá trị điểm không thích hợp, hàm sẽ trả về

một thông báo lỗi là
“#N/A”. Mặc dù trông rất giống lỗi trong Excel, nhưng thực chất đây vẫn
chỉ là một chuỗi thông thường.
Để trả về giá trị lỗi thực sự, VBA đã cung cấp thêm một hàm tên là CVErr, hàm này sẽ chuyển
đổi một số thành một giá trị lỗi tương ứng. Với giá trị lỗi thực sự như thế, tất cả những hàm có
tham chiếu ô chứa giá trị lỗi cũng sẽ tr
ả về giá trị lỗi tương tự. Và như vậy, người dùng chỉ cần
thay đổi câu lệnh
PhanLoai = “#N/A” bằng câu lệnh PhanLoai = CVErr(xlErrNA). Cần
lưu ý là kiểu trả về của hàm
CVErr là kiểu Variant, do vậy cũng cần phải thay đổi kiểu giá trị
trả về của hàm là Variant.
Hàm sẽ được hiệu chỉnh lại như sau:
Function PhanLoai(DiemTB) As Variant
If (DiemTB < 0) Or (DiemTB > 10) Then
PhanLoai = CVErr(xlErrNA)
Exit Function
End If
If (DiemTB >= 5) Then
PhanLoai = "Do"
Exit Function
End If


114
If (DiemTB < 5) Then
PhanLoai = "Truot"
Exit Function
End If
End Function

CHÚ Ý Để sử dụng hàm trả về thông báo lỗi, nghĩa là có sử dụng hàm CVErr, người dùng
phải khai báo kiểu dữ liệu trả về của hàm là kiểu Variant.
Và như vậy, mỗi khi giá trị đầu vào không đúng, hàm sẽ trả về giá trị lỗi, giúp người sử dụng
có thể nhận ra và sửa lỗi kịp thời.

Hình IV-9: Hàm trả về lỗi
Trong đoạn mã lệnh trên, để trả về thông báo lỗi “#N/A” thì tham số của hàm CVErr phải là
hằng số xlErrNA. Có rất nhiều giá trị lỗi khác nhau, mối giá trị lỗi có một hằng số tương ứng.
Bảng dưới đây sẽ liệt kê một số giá trị lỗi cũng như các hằng số tương ứng trong VBA.
Giá trị lỗi Hằng số Giải thích
#DIV/0! xlErrDiv0 Công thức có chia một số cho 0. Lỗi này cũng phát sinh khi chia cho
một ô trống.
#N/A xlErrNA Lỗi này biểu thị dữ liệu không có.
#NAME? xlErrName Hàm có tên mà Excel không thể nhận dạng được. Thường xảy ra khi
nhập tên hàm sai, hoặc đã thay đổi tên hàm nhưng chưa cập nhật
trong bảng tính.
#NULL! xlErrNull Giá trị rỗng, chẳng hạn như tìm giao của hai vùng không giao nhau.
#NUM! xlErrNum Có vấn đề với giá trị nào đó. Ví dụ như người dùng nhập vào số âm,
trong khi chỉ chấp nhận số dương.
#REF! xlErrRef Tham chiếu đến ô không tồn tại. Điều này thường xảy ra khi ô đã bị
xoá khỏi bảng tính.
#VALUE! xlErrValue Hàm có chứa tham số hoặc công thức không phù hợp về kiểu dữ
liệu
4. Add-in và Phân phối các ứng dụng mở rộng
Một tính năng rất hữu ích cho người lập trình trong Excel là khả năng tạo Add-In. Phần này sẽ
trình bày những lợi ích khi sử dụng Add-In, cách thức tạo và sử dụng Add-In.
C
C
H
H

Ư
Ư
Ơ
Ơ
N
N
G
G


I
I
V
V
:
:


L
L


P
P


T
T
R
R

Ì
Ì
N
N
H
H


T
T
R
R
Ê
Ê
N
N


M
M
I
I
C
C
R
R
O
O
S
S

O
O
F
F
T
T


E
E
X
X
C
C
E
E
L
L



115

4.1. Khái niệm về Add-In
Add-In là một chương trình gắn thêm vào Excel nhằm bổ sung thêm tính năng cho Excel.
Thông thường, các tệp chứa Add-In có phần mở rộng là XLA và có cấu trúc tương tự như các
workbook của Excel.
So với các ứng dụng trong tệp XLS của Excel, việc sử dụng Add-In có một số ưu điểm sau:
Ø
Ø


Đơn giản hoá việc sử dụng hàm. Đối với các hàm lưu trong Add-In, khi sử dụng không
cần phải thêm tên workbook ở phía trước tên hàm. Lấy ví dụ nh
ư người dùng tạo một
hàm có tên là MOVAVG trong workbook có tên là Newfuncs.xls. Khi muốn sử dụng
hàm đó trong một workbook khác, người dùng phải sử dụng hàm với cách thức như sau:
=Newfuncs.xls!MOVAVG(A1:A50)
Nhưng nếu hàm đó được lưu trong một Add-In đang được mở trong Excel, người dùng
không cần phải thêm tên Add-In hay tên workbook ở trước tên hàm nữa, chỉ đơn giản là
sử dụng tên hàm mà thôi:
=MOVAVG(A1:A50)
Đơn giản hoá quá trình mở ứng dụng. Mỗi Add-In sau khi đã được cài đặt sẽ được t
ự động mở
mỗi khi bắt đầu khởi động chương trình Excel. Hơn nữa, hộp thoại cảnh báo an ninh của Excel
sẽ không xuất hiện (xem mục “Khi Macro được tạo ra chưa đáp ứng đủ nhu cầu thì người sử
dụng có thể thay đổi, bổ sung mã lệnh cho Macro đó. Quá trình hiệu chỉnh Macro được thực
hiện thông qua VBAIDE. Để hiệu chỉnh Macro, ta có thể dùng trình quản lý Macro (xem mục
“Quản lý Macro” trang 105) hoặc truy c
ập trực tiếp trong VBAIDE. Về bản chất, việc hiệu
chỉnh (sửa đổi) Macro tương đương như việclập trình để xây dựng nên Macro đó.
Ø
Ø

Vấn đề an toàn khi sử dụng Macro” trang 108), tránh gây ra sự lúng túng cho những
người dùng chưa có kinh nghiệm.
Ø
Ø

Tránh gây ra sự bối rối cho người dùng bởi toàn bộ dữ liệu trong các Sheet của tệp Add-
In được che dấu, như vậy, với người dùng ít kinh nghi

ệm, họ sẽ không phải thắc mắc hay
cảm thấy khó hiểu khi không nhìn thấy những dữ liệu này.
Ø
Ø

Ngăn chặn việc truy cập vào mã lệnh. Khi phân phối ứng dụng dạng Add-In có đặt chế độ
bảo mật bằng mật khẩu, người dùng không thể xem hoặc thay đổi mã lệnh của ứng dụng.
Điều này tránh được việc sao chép mã lệnh của chương trình.
4.2. Trình quản lý Add-In
Việc quản lý các Add-In trong Excel được thực hiện rất đơn giản thông qua trình quản lý Add-
In. Để hiển thị trình quản lý Add-In, chọn trình đơn ToolsÖAdd-Ins…


116

Hình IV-10: Trình quản lý Add-In
Ø
Ø

Để tải/dỡ bỏ Add-In trong Excel: kích chuột vào hộp kiểm ở bên trái tên của Add-In.
Ø
Ø

Để mở một Add-In: chọn nút lệnh Browse… Ö Chọn Add-In cần mở.
GỢI Ý Thông thường, tệp Add-In sẽ có phần mở rộng là XLA và được lưu trữ trong thư
mục %UserProfile%\Application Data\Microsoft\AddIns.
4.3. Tạo Add-In
Nhìn chung, việc tạo Add-In được thực hiện rất dễ dàng bằng cách chuyển từ workbook thông
thường sang dạng Add-In. Đương nhiên, không phải workbook nào cũng thích hợp để chuyển
thành Add-In. Nhìn chung, workbook thích hợp nhất để chuyển thành Add-In là workbook có

chứa mã lệnh. Một workbook nếu chỉ chứa worksheet thì có thể sẽ không thể sử dụng được khi
chuyển thành Add-In, bởi lẽ tất cả các sheet trong workbook sẽ bị ẩn đi khi được chuyển thành
Add-In.
Việc tạo Add-In t
ừ một workbook thông thường được thực hiện rất dễ dàng theo các bước sau:
1. Viết mã lệnh cho workbook như bình thường, đảm bảo tất cả các mã lệnh đều có thể thực
hiện bình thường mà không có lỗi xảy ra. Nên nhớ là tạo giao diện sao cho người dùng có
thể truy cập và sử dụng được các tính năng trong Add-In. Một cách để thực hiện việc này là
tạo một trình đơn mới cho Add-In, trong đấy có chứa các mục trình đơ
n tương ứng với các
tính năng của ứng dụng. Chi tiết về cách tạo trình đơn, xem mục “Tạo trình đơn tuỳ biến”
trang 175.
2. Kiểm tra ứng dụng bằng cách thực thi khi đang kích hoạt một workbook khác. Điều này
mô phỏng được tình huống như khi workbook đã được chuyển thành Add-In, bởi lẽ bản
thân Add-In không hiển thị các sheet mà lúc này tất cả các thao tác đều thực hiện trên các
sheet của workbook khác.
3. N
ếu không muốn người khác xem được mã lệnh của ứng dụng thì thực hiện bước này: đặt
mật khẩu bảo vệ. Kích hoạt VBAIDE Ö chọn workbook tương ứng trong cửa sổ Project.
Chọn trình đơn Tools Ö xxx Properties… (xxx là tên Dự án VBA), sau đó chọn thẻ
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N

G
G


I
I
V
V
:
:


L
L


P
P


T
T
R
R
Ì
Ì
N
N
H
H



T
T
R
R
Ê
Ê
N
N


M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T



E
E
X
X
C
C
E
E
L
L



117

Protection. Tích vào ô Lock project for viewing, và nhập vào mật khẩu (2 lần) Ö chọn
OK.

Hình IV-11: Hộp thoại Project Properties
4. Kích hoạt lại Excel, chọn trình đơn File Ö Properties, sau đó chọn thẻ Summary. Nhập
vào các thông tin cho Add-In để hiển thị trong trình quản lý Add-In. Mục Title sẽ là tên
của Add-In, nếu không nhập vào mục này, tên của Add-In sẽ là tên tệp Add-In. Mục
Comments sẽ là phần mô tả về Add-In.
5. Chọn trình đơn File Ö Save As…
6. Trong hộp thoại Save As, chọn Microsoft Excel add-in (*.xla) trong mục Save as type.

Hình IV-12: Hộp thoại Save As
7. Chọn Save. Một bản sao của workbook đã được lưu (với phần mở rộng là *.xla), và tệp

XLS chứa workbook vẫn còn giữ nguyên trong Excel.

×