Microsoft Visual Basic for Applications
Created & Presented by:
TBL Group
2
Nội dung chính
Nội dung chính
Giới thiệu về VBA.
Các khái niệm cơ bản trong VBA.
Ví Dụ và…
ví dụ và…
lại vÍ dỤ.
3
I. Giới thiệu về VBA
I. Giới thiệu về VBA
VBA là gì ?
Lập trình hướng sự kiện.
Why is VBA?
4
I.1 VBA là gì?
I.1 VBA là gì?
VBA: Visual Basic for Applications
Ngôn ngữ lập trình → Microsoft Office
VBA:
•
Mạnh mẽ hơn.
•
Linh hoạt hơn.
•
Lỗi nhiều hơn.
5
I.2 Lập trình hướng sự kiện
I.2 Lập trình hướng sự kiện
VBA - môi trường phát triển theo hướng đối
tượng.
Sự kiện đóng vai trò quan trọng.
Người sử dụng xác định trình tự.
6
Why is VBA?
Why is VBA?
Dễ dàng sửa chữa và duy trì
Hàm cần tìm không có trong thư viện?
Bẫy lỗi (Error trapping).
Tự động tạo mới, thay đổi các đối tượng
Thực hiện các lệnh cấp thấp (system-
level)
Can thiệp đến từng bản ghi
Khả năng tùy biến tham số cao
7
II. Các khái niệm cơ bản
II. Các khái niệm cơ bản
a. Objects
b. Properties & Methods & Events
c. Procedures & Modules
d. Soạn thảo mã lệnh với VBE.
e. Mệnh đề logic, cấu trúc lặp
f. Các hàm có sẵn trong VBA
8
A. OBJECTS
A. OBJECTS
Bảng
Form
Truy vấn
Báo cáo
……….
9
10
B.1 Properties
B.1 Properties
Xác định thông tin về
đối tượng
Truy xuất:
(Tên đối tượng).(tên thuộc
tính)
Ví dụ: hovaten.caption
Hình 1: Bảng thuộc tính của một đối tượng
11
B.2 Methods
B.2 Methods
Phương thức, thực hiện các thao tác
nhất định
Ví dụ: đối tượng DoCmd: [Close,
OpenForm, GotoControl, FindRecord,…]
DoCmd.Close acForm, "formname", acSaveNo
12
B.3 Events
B.3 Events
Event = sự kiện
(Oxford Dictionary)
VBA – thực hiện
các công việc cần
thiết khi sự kiện
tương ứng xảy ra.
13
C.1 Chương trình con-Procedure
C.1 Chương trình con-Procedure
Đoạn chứa mã chương trình
Có thể nhận tham số
Gồm 3 loại
–
Thủ tục: Sub procedures
–
Hàm: Function procedures
–
Property procedures
14
C.1.1 Thủ tục - Sub Procedure
C.1.1 Thủ tục - Sub Procedure
Thủ tục:
–
Tính toán, cập nhật dữ liệu,
–
Mã lệnh nằm giữa mệnh đề Sub và End
–
Tham số, cách dấu phẩy “,”.
Sub Tinh_Tong(First, second)
Dim Result Result = First + Second
Debug.Print Result
End Sub
15
C.1.2 Hàm - Function
C.1.2 Hàm - Function
Trả về giá trị
Không dùng để xử
lý sự kiện.
Bao gồm tập lệnh
nằm giữa
Function và End.
Thoát khỏi hàm
bằng câu lệnh:
Exit Function
Ví dụ: Kiểm tra xem ngày đưa vào có
thuộc thiên niên kỷ thứ 3 hay không
16
17
C.1 Hàm vs. Thủ tục
C.1 Hàm vs. Thủ tục
Hàm – Function Thủ tục – Procedure
1. Có giá trị trả về
2. Không dùng để xử lý sự
kiện
3. Mã lệnh nằm giữa Function
và End
1. Không có giá trị trả về
2. Dùng để xử lý các sự
kiện
3. Mã lệnh nằm giữa Sub
và End
18
C.1.3 Properties procedures
C.1.3 Properties procedures
Property procedures: Để định nghĩa các thuộc
tính của người sử dụng.
Gồm 3 loại:
–
Property Get,
–
Property Set,
–
Property Let.
19
C.2 Modules
C.2 Modules
Chứa: thủ tục, hàm và
các khai báo như Dim,
Option, Explicit,
Có hai loại Modules
cơ bản:
–
Modules chuẩn
–
Modules trong Class
(form class modules,
report class modules,
custom class modules)
20
21
D. Soạn thảo mã lệnh - VBE
D. Soạn thảo mã lệnh - VBE
Truy xuất:
–
Tools-Macro-
Visual Basic Editor
–
Alt – F11
Các cửa sổ:
–
Edit windows
–
Properties
–
Debug window
–
Objects window
22
E. Các khái niệm cơ bản
E. Các khái niệm cơ bản
Khai báo biến - Sử dụng mệnh đề “Dim”
Đơn giản:
Dim (tên_biến) As (Kiểu_dữ_liệu)
Ví dụ:
Dim x
Dim number As Integer
Dim Matrix(1 To 3, 1 To 4) As Integer
Dim Dynamic() As Integer
23
E. Các lệnh cơ bản
E. Các lệnh cơ bản
Câu lệnh điều kiện - If Then
if condition Then
'Statements
End If
if (In Love) Then
(Get Married)
End If
24
E.1 Các lệnh cơ bản – If … then
E.1 Các lệnh cơ bản – If … then
If Then
If condition Then
Statements1
Else
Statements2
End If
25
E.1 Các lệnh cơ bản – If… then…
E.1 Các lệnh cơ bản – If… then…
If condition1 Then
'Statements
ElseIf condition2 Then
Statements
Else
'Statements
End If