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

Giáo trình tổng hợp những hộp thoại trong excell và cách sử dụng phần 4 ppt

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 (734.78 KB, 5 trang )



118
CHÚ Ý Một workbook khi được chuyển thành Add-In phải có ít nhất một worksheet.
Chẳng hạn như khi một workbook chỉ chứa Chart Sheet hoặc Dialog Sheet, thì lựa chọn
Microsoft Excel add-in (*.xla) sẽ không xuất hiện trong mục Save as type trong hộp thoại
Save As. Lựa chọn này chỉ xuất hiện khi có một worksheet được chọn lúc chọn trình đơn
File Ö Save As.
Sau khi đã tạo Add-In, nên lưu giữ lại workbook nguồn (dạng XLS) để có thể hiệu chỉnh hay
cập nhật mã lệnh và các dữ liệu khác sau này. Cần phải làm điều này vì tệp Add-In không thể
chuyển đổi ngược lại thành workbook.
4.4. Phân phối và Cài đặt Add-In
Việc phân phối các Add-In được thực hiện rất đơn giản, chỉ cần sao chép tệp *.xla đến các máy
khác, sau đó cài đặt các Add-In thông qua trình quản lý Add-In trong Excel.
Để cài đặt Add-In, thực hiện theo các bước sau:
1. Trong Excel, chọn trình đơn Tools Ö Add-Ins… để hiển thị trình quản lý Add-In
2. Chọn nút Browse, sau đó trỏ đến tệp Add-In cần cài đặt trong Excel Ö chọn OK. Tên của
Add-In sẽ được hiển thị trong trình quản lý Add-In.
3.
Chọn OK lần nữa để chấp nhận cài đặt Add-In. Giờ đây, người dùng có thể sử dụng tất cả
các tính năng có trong Add-In vừa được cài đặt.
5. Hệ thống các đối tượng trong Excel
Điểm khác biệt của lập trình trên Excel so với việc lập trình trên các ứng dụng nền khác chính
là việc thực hiện các thao tác nhằm tác động trực tiếp đến các thành phần trong Excel thông qua
công cụ lập trình. Vì vậy, để có thể tạo ra các ứng dụng trên nền Excel, người dùng cần phải
hiểu rõ thành phần cũng như cách thao tác trên các thành phần đó của Excel.
5.1. Mô hình đối tượng trong Excel
Để tạo cái nhìn tổng quan cho người lập trình, Microsoft cung cấp mô hình đối tượng sử dụng
trong Excel. Nhờ có mô hình đối tượng này mà người lập trình có thể hiểu rõ cấu trúc hệ thống
đối tượng trong Excel, tìm được đúng đối tượng khi cần thực hiện một thao tác nào đó. Mô
hình đối tượng đầy đủ được trình bày trong tài liệu hướng dẫn của Excel hoặc trong các tài liệu


tham khảo ở cuối giáo trình này. Ở đây chỉ đề c
ập đến một số đối tượng thường được sử dụng
trong lập trình trên Excel.
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



119



Mỗi đối tượng (Object), cũng giống như một vật thể, đều có những tính chất và những hành vi
đặc trưng cho chúng và được thống nhất gọi là thành phần của đối tượng. Trong lập trình, tính
chất của đối tượng được biểu diễn thông qua khái niệm thuộc tính (properties), còn hành vi
được biểu diễn thông qua khái niệm phương thức (methods). Chẳng hạn như đối tượng
Application, là đối tượng thể hiện cho Excel, có thuộc tính Caption chứa tiêu đề của Excel
và phương thức
Quit dùng để thoát khỏi Excel.
Để truy cập đến các thành phần (phương thức, thuộc tính, …) của đối tượng, ta sử dụng dấu
chấm ( . ), ví dụ sau thực hiện phương thức
Quit để thoát khỏi Excel như đã đề cập ở trên:

Cấutrúcphâncấpđối t ượng
Đối tượng
Application (chính là ứng dụng Excel) chứa nhiều đối tượng khác, chẳng hạn như:
Ø
Ø

Workbooks (tập đối tượng chứa tất cả các đối tượng Workbook – tài liệu Excel)
Ø
Ø

Windows (tập đối tượng chứa tất cả các đối tượng Window - các cửa sổ trong Excel)
Ø
Ø

AddIns (tập đối tượng chứa tất cả các đối tượng Add-in)
Tập đối tượng Workbooks chứa tất cả các
đối tượng Workbook đang mở, và mỗi đối tượng
Workbook lại chứa các đối tượng khác như:

Ø
Ø

Worksheets (tập đối tượng chứa các đối tượng Worksheet)
Ø
Ø

Charts (tập đối tượng chứa các đối tượng Chart)
Đến lượt mình, các đối tượng trên cũng có thể chứa nhiều đối tượng khác nữa. Một đối tượng
Worksheet trong tập đối tượng Worksheets có thể chứa các đối tượ
ng khác, chẳng hạn như:
Rows
Application
Columns
Workbooks
Worksheets
Workbook
Worksheet
Range
Cells
Chú giải:
Tập đối tượng

Đối tượng
Đ
Đ


i
i



t
t
ư
ư


n
n
g
g


T
T
h
h
à
à
n
n
h
h


p
p
h
h



n
n


D
D


u
u


c
c
h
h


m
m


Application.Quit


120
Ø
Ø


ChartObjects (tập đối tượng chứa tất cả đối tượng ChartObject – biểu đồ trong Excel)
Ø
Ø

Range
Ø
Ø

PageSetup
Cứ như vậy, người lập trình có thể truy cập đến từng thành phần của Excel thông qua hệ thống
phân cấp các đối tượng trong Excel.
Tậpđốitượng–Collection
Một khái niệm rất quan trọng trong lập trình VBA là khái niệm tập đối tượ
ng (hay Collection).
Tập đối tượng là một nhóm các đối tượng cùng lớp với nhau (và đương nhiên, bản thân tập đối
tượng cũng là một đối tượng). Chẳng hạn như tập đối tượng Workbooks chứa tất cả các đối
tượng Workbook đang được mở hay tập đối tượng Worksheets chứa tất cả các Worksheet trong
một Workbook nào đó. Người lập trình có thể thao tác trên toàn bộ các đối tượng có trong tập
đối tượng ho
ặc có thể trên một đối tượng riêng lẻ trong tập đối tượng đó. Để tham chiếu đến
một đối tượng riêng lẻ trong tập đối tượng, có thể sử dụng tên của đối tượng theo cách sau:
Worksheets(“Sheet1”)
Nếu Sheet1 là sheet đầu tiên trong tập đối tượng Worksheet, thì ta còn có thể tham chiếu dựa
trên số thứ tự của Sheet1 theo cách sau:
Worksheets(1)
Tương tự, để tham chiếu đến Sheet thứ 2 trong tập đối tượng Worksheets, ta có thể sử dụng
lệnh: Worksheets(2).
Mỗi tập đối tượng có các phương thức dùng để thao tác trên chính tập đối tượng đó. Các
phương thức này rất khác nhau trên các tập đối tượng khác nhau. Vì vậy, người lập trình có thể

sử dụng Object Browser để tìm hiểu về các phương thức trong tập đối tượng.
5.2. Một số đối tượng cơ bản trong Excel
Hệ thống đối tượng trong Excel rất đa dạng và tương ứng dùng để biểu diễn các thành phần
trong Excel. Phần này sẽ giới thiệu chi tiết về các đối tượng và tập đối tượng chính trong Excel
cùng với các phương thức/thuộc tính của chúng thông qua các mã lệnh tương ứng.
5.2.1. Đối tượng Application
Đối tượng
Application chính là ứng dụng Excel mà người dùng đang làm việc trên đó, mỗi
lần chạy Excel sẽ có một đối tượng
Application được tạo ra. Application là đối tượng cao
nhất (đối tượng gốc) trong cây đối tượng của Excel. Việc truy cập đến các đối tượng khác, cần
phải được thực hiện thông qua đối tượng Application.
Đối tượng
Application có chứa nhiều thiết lập cho ứng dụng (chẳng hạn như các lựa chọn
trong trình đơn ToolsÖOptions…) và rất nhiều đối tượng trong ứng dụng (chẳng hạn như các
tài liệu đang được mở -
Workbooks, hay bảng tính hiện hành -ActiveSheet…).
Việc tạo mới một đối tượng
Application tương đương với việc khởi động Excel, do đó, để
khởi động Excel từ môi trường lập trình khác, người lập trình phải viết đoạn mã lệnh để tạo
mới một đối tượng
Application. Đoạn mã lệnh sau sẽ khởi động Excel từ chương trình ngoài
(ví dụ như khi lập trình trên VB) và mở một workbook trong Excel:
Dim xl As Excel.Application
Set xl = New Excel.Application ‘Khởi động Excel
xl.Workbooks.Open "newbook.xls" ‘Mở một Workbook
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



121

Dưới đây là các phương thức và thuộc tính thường được sử dụng trong đối tượng
Application.
ActiveCell
Thuộc tính ActiveCell thể hiện cho ô hiện thành trong bảng tính Excel. Kiểu dữ liệu của
ActiveCell là kiểu Range. Người dùng có thể truy cập đến địa chỉ của ô hiện hành bằng cách
truy cập thêm vào một cấp nữa trong cây phân cấp đối tượng, đó là thuộc tính Address:
MsgBox Application.ActiveCell.Address

Đoạn mã trên hiển thị địa chỉ của ô hiện hành theo dạng địa chỉ tuyệt đối, chẳng hạn như $A$6.
Cần lưu ý là thuộc tính Address chỉ trả về địa chỉ của ô, chứ không phải địa chỉ đầy đủ bao gồm
cả tên sheet và workbook.
ActivePrinter
Thuộc tính ActivePrinter chứa tên của máy in hiện hành. Kiểu dữ liệu của thuộc tính
ActivePrinter là kiểu String. Đoạn mã sau hiển thị tên củ
a máy in hiện hành:
MsgBox Application.ActivePrinter
Thuộc tính này rất có ích khi thông báo cho người dùng biết về máy in hiện hành trước khi in
một bảng tính nào đó.
ActiveSheet
Thuộc tính này trả về đối tượng sheet đang hiện hành trong Excel. Cũng cần chú ý rằng trong
Excel có nhiều loại sheet khác nhau như Worksheet (loại hay dùng nhất), Chartsheet…, chi tiết
xem thêm mục “Đối tượng Workbook” trang 124. Đoạn mã sau sử dụng hàm
TypeName, hàm
trả về kiểu dữ liệu của biến, để từ đó biết được kiểu của sheet hiện hành:
MsgBox TypeName(Application.ActiveSheet)
ActiveWindow
Thuộc tính này trả về đối tượng chứa cửa sổ hiện hành, nếu không cửa sổ nào được mở thì sẽ
trả về giá trị
Nothing. Kiểu dữ liệu của thuộc tính này là Window. Đoạn mã sau sẽ thu nhỏ cửa
sổ hiện hành thông qua thuộc tính WindowState:
Application.ActiveWindow.WindowState = xlMinimized
ActiveWorkbook
Thuộc tính này trả về đối tượng chứa workbook nằm trong cửa sổ hiện hành (tệp XLS đang làm
việc), nếu không có cửa sổ nào được mở hoặc cửa sổ đó là cửa sổ không chứa workbook (như
cửa sổ Info, Clipboard, ) thì sẽ trả về giá trị Nothing. Kiểu dữ liệu của thuộc tính này là
Workbook. Đoạn mã lệnh sau sẽ hiển thị nên của workbook hiện hành:
MsgBox Application.ActiveWorkbook.Name
Thuộc tính ActiveWorkbook và ActiveWindow rất dễ nhầm lẫn với nhau. Thoạt nhìn, mỗi

workbook cũng giống như một cửa sổ trong Excel, nhưng thực chất không phải vậy. Để rõ hơn
sự khác biệt giữa workbook và cửa sổ, ta tạo thêm một cửa sổ mới bằng cách chọn trình đơn
WindowÖNew Window. Cửa sổ mới được tạo có nội dung giống như cửa sổ ban đầu, nhưng
ngườ
i dùng có thể lựa chọn những vùng khác nhau trên hai cửa sổ (mặc dù cả hai cửa sổ đều là


122
thể hiện của cùng một workbook). Và như vậy, mỗi một workbook có thể được hiển thị trên
nhiều cửa số khác nhau, nhưng mỗi một cửa sổ chỉ hiển thị được một workbook mà thôi.
AddIns
Là tập đối tượng chứa tất cả các add-in đã được tải vào trong Excel. Đoạn mã lệnh sau sẽ lần
lượt hiển thị tên của tất cả các add-in, bao gồm cả đườ
ng dẫn:
Sub Hien_thi_Add_in()
Dim MyAddin As AddIn
For Each MyAddin In Application.AddIns
MsgBox MyAddin.FullName
Next MyAddin
End Sub
Calculate
Là phương thức thực hiện quá trình tính toán lại trên toàn bộ sheet, giống như khi nhấn phím
F9.
Application.Calculate
Calculation
Là thuộc tính dùng để thiết lập chế độ thực hiện tính toán trong chương trình Excel. Các giá trị
có thể gán cho thuộc tính này là xlCalculationAutomatic (tính tự động), xlCalculationManual
(tính thủ công) và xlCalculationSemiautomatic (tính bán tự động – tính tự động ngoại trừ phần
bảng). Ví dụ đoạn mã sau chuyển chế độ tính thành bán tự động:
Application.Calculation= xlCalculationSemiautomatic

Điều này tương đương với việc chọn trình đơn ToolsÖOptions, chọn thẻ Calculation và chọn
lựa chọn Automatic except tables.
Chế độ tính mặc định trong Excel là chế độ tính tự động. Tuy nhiên, đối với những bảng tính có
khối lượng tính toán lớn, nếu để chế độ tính tự động thì mỗi lần thay đổi số liệu là một lần thực
hiện tính toán. Trong những trường hợp như
vậy, nên chuyển sang chế độ thủ công, sau đó tiến
hành thay đổi số liệu tính toán. Sau khi đã thay đổi xong các số liệu thì mới tiến hành tính toán
một lần cuối.
Caption
Là thuộc tính dùng để chứa tiêu đề của chương trình Excel. Kiểu dữ liệu của thuộc tính này là
String. Đoạn mã sau sẽ thay đổi tiêu đề của chương trình Excel:
Application.Caption = "Chuong Trinh EXCEL"
Và đây là kết quả thực thi đoạn mã trên

×