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 5 docx

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 (614.9 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



123

Muốn thiết lập lại giá trị mặc định (Microsoft Excel), chỉ cần gán giá trị của Caption= “”
ColumnsvàRows
Là hai tập đối tượng thể hiện tất cả các cột và các hàng trong sheet hiện hành, ta có thể sử dụng
để truy cập một cột hoặc một hàng nào đó.

Đoạn mã sau sẽ chọn toàn bộ cột C:
Application.Columns(3).Select
Còn đoạn mã sau sẽ chọn toàn bộ hàng thứ 9:
Application.Rows(9).Select
Dialogs
Dialogs là tập đối tượng chứa tất cả các hộp thoại đã được định nghĩa sẵn trong Excel. Chi tiết
về tập đối tượng này, tham khảo mục “Các hộp thoại mặc định trong Excel – Tập đối tượng
Dialogs” trang 167.
Help
Phương thức này hiển thị tệp trợ giúp do người dùng chỉ định.
Application.Help "C:\Program Files\" & _
"Microsoft Office\OFFICE11\1033\VBAXL10.CHM"
Nếu không chỉ ra tệp trợ giúp, phương thức này sẽ hiển thị tệp trợ giúp mặc định trong Excel.
Quit
Phương thức này sẽ đóng chương trình Excel lại, giống như khi lựa chọn trình đơn FileÖExit.
Chương trình sẽ nhắc người dùng lưu lại các tệp chưa được lưu.
Application.Quit
RecentFiles
RecentFiles là tập đối tượng lưu giữ những tệp mở sau cùng nhất trong Excel. Mỗi đối tượng
trong tập đối tượng RecentFiles có kiểu dữ liệu là RecentFile. Ví dụ sau sẽ hiển thị lần lượt tên
của các tệp mở sau cùng nhất trong Excel:
Public Sub RecentFile()
Dim myRecentFile As RecentFile
For Each myRecentFile In Application.RecentFiles
MsgBox myRecentFile.Path
Next myRecentFile
End Sub
Selection
Thuộc tính này thể hiện cho đối tượng đang được chọn trong Excel. Kiểu dữ liệu trả về của
thuộc tính này tuỳ thuộc vào đối tượng được chọn. Nếu đối tượng chọn là các ô, biểu đồ, hoặc

một đường thẳng thì kiểu dữ liệu trả về tương ứng sẽ là Range, ChartArea, Line Vì vậy khi
lập trình, cần phải chú ý kiểm tra kiểu dữ liệu trả
về của thuộc tính này để có các thao tác hợp
lý, tránh lỗi xảy ra khi thực thi chương trình. Ví dụ sau sẽ hiển thị địa chỉ của các ô đang được
chọn trong Excel:


124
Dim mySelection As Variant
Set mySelection = Selection
If TypeName(mySelection) = "Range" Then ‘Kiểm tra kiểu dữ
liệu
MsgBox mySelection.Address
Else
MsgBox "Đối tượng được chọn không phải kiểu Range"
End If
Sheets
Sheets là tập đối tượng chứa tất cả các sheet có trong workbook hiện hành, gồm cả 4 loại sheet:
worksheet, chart sheet, macro sheet và dialog sheet. Đoạn macro sau sẽ hiển thị tên và kiểu của
tất cả các sheet có trong workbook hiện hành:
Sub Sheets()
Dim mySheet As Variant
For Each mySheet In Application.Sheets
MsgBox mySheet.Name & " - " & TypeName(mySheet)
Next mySheet
End Sub
ThisWorkbook
Thuộc tính này trả về đối tượng thể hiện cho workbook hiện hành, nơi đang thực hiện macro.
Kiểu dữ liệu của thuộc tính này là Workbook.
Undo

Phương thức này sẽ khôi phục lại các thao tác trước đó trong Excel. Thao tác này tương tự như
khi chọn trình đơn EditÖUndo… trong Excel.
Application.Undo
CHÚ Ý Khi truy cập đến một đối tượng thuộc một đối tượng khác, nếu không chỉ rõ tham
chiếu đối tượng thì đối được tham chiếu sẽ là đối tượng hiện hành. Ví dụ như nếu muốn
truy cập vào ô A1 của Sheet1 của workbook hiện hành, thay vì sử dụng câu lệnh
“ActiveWorkbook.Worksheets(“Sheet1”).Range(“A1”)” chỉ cần dùng câu lệnh
“Worksheets(“Sheet1”).Range(“A1”)”. Hoặc nếu sử dụng câu lệnh “Range(“A1”).Select” thì
ô A1 của sheet hiện hành sẽ được chọn.
5.2.2. Đối tượng Workbook
Workbook là một đối tượng phổ biến trong Excel. Hầu hết tất cả các thao tác trên Excel đều
được thực hiện trên một workbook nào đó. Trong mỗi phiên làm việc của Excel có thể có rất
nhiều workbook được mở, và việc truy cập đến một workbook nào đó sẽ được thực hiện thông
qua tập đối tượng Workbooks, dựa trên tên hoặc chỉ số của các workbook, chỉ số này phụ thuộc
vào trình tự mở
/tạo workbook. Ngoài ra, người lập trình còn có thể truy xuất đến workbook
hiện hành thông qua đối tượng ActiveWorkbook.
Để tạo mới một workbook, sử dụng phương thức Add có trong tập đối tượng Workbooks:
Workbooks.Add ’Tạo mới một Workbook
Mỗi workbook trong Excel có thể chứa nhiều sheet khác nhau (tuỳ thuộc vào dung lượng bộ
nhớ). Có 4 loại sheet khác nhau:
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



125

Ø
Ø

Worksheet: đây là loại sheet phổ biến nhất, là loại sheet thực hiện việc tính toán và thao
tác chính trong Excel. Mỗi sheet bao gồm 256 cột và 65536 hàng tạo thành hệ thống các
ô chứa dữ liệu. Ngoài ra, trên mỗi worksheet còn thế chứa các đối tượng khác như biểu
đồ, các đối tượng đồ hoạ, các điều khiển,…
Ø
Ø

Chart sheet: mỗi chart sheet thường chỉ chứa một biểu đồ. Thông thường, người dùng
thích sử dụng bi

ểu đồ nhúng trong worksheet hơn là sử dụng biểu đồ trong một chart
sheet riêng biệt. Tuy nhiên, chart sheet lại giúp cho việc bố trí và in ấn biểu đồ thực hiện
dễ dàng hơn
Ø
Ø

XLM macro sheets (còn gọi là MS Excel 4 macro sheet, là loại sheet đã lỗi thời, nhưng
vẫn còn hỗ trợ): dùng để chứa các macro XLM. XLM macro sheet cũng có chứa các ô dữ
liệu nhưng chỉ hiển thị công thức chứ không hiển thị kết quả tính.
Ø
Ø


Dialog sheets (đã lỗi thời, nhưng vẫn còn hỗ trợ): là nơi chứa các hộp thoại tuỳ biến do
người dùng tự tạo (giống như Userform trong VBA).
Các phương thức và thuộc tính thường được sử dụng của đối tượng workbook:
Activate
Phương thức này sẽ kích hoạt một workbook trong tập đối tượng Workbooks thành workbook
hiện hành, và sheet hiện hành của workbook đó sẽ được kích hoạt làm sheet hiện hành trong
Excel.
Để kích hoạt workbook có tên Book1 làm workbook hiệ
n hành, thực hiện như sau:
Workbooks(“Book1”).Activate
Còn để kích hoạt workbook đầu tiên trong Excel, thực hiện như sau:
Workbooks(1).Activate
ActiveSheet
Thuộc tính này tham chiếu đến sheet hiện hành của workbook. Trong mỗi phiên làm việc của
Excel, số lượng Workbook được mở là không hạn chế, mỗi workbook này đều có một sheet
hiện hành, nghĩa là khi ta chọn làm việc với workbook đó thì con trỏ sẽ nằm trong sheet này.
Kiểu dữ liệu trả về của thuộc tính này tuỳ thuộc vào kiểu sheet hiện hành (một trong 4 loại).

Trong đối tượng Application cũng có thuộc tính ActiveSheet, nhưng thuộc tính này là sheet
hiện hành củ
a workbook hiện hành, nghĩa là nơi có con trỏ đang hoạt động, như vậy, nếu
workbook này là hiện hành thì thuộc tính ActiveSheet của đối tượng Application và của đối
tượng Workbook là như nhau.
Đoạn mã lệnh sau hiển thị tên của sheet hiện hành của workbook tên là Book1:
MsgBox Workbooks(“Book1”).ActiveSheet.Name
Close
Phương thức này sẽ đóng workbook lại, tương tự như khi sử dụng trình đơn FileÖClose trong
Excel. Ngoài ra còn có các tham số tuỳ chọn khác phục vụ cho việc lưu trữ tệp.
Workbooks(“Book1”).Close ([SaveChanges],[Filename])
Trong đó ý nghĩa của các tham số như sau:


126
Ø
Ø


SaveChanges: tham số tuỳ chọn. Bằng TRUE nếu muốn lưu tất cả các thay đổi, và bằng
FALSE nếu chỉ muốn đóng workbook mà không lưu. Nếu bỏ qua, tuỳ chọn này thì
phương thức này sẽ giống hoàn toàn như khi ta chọn trình đơn FileÖClose.
Ø
Ø


Filename: tham số tuỳ chọn. Sẽ lưu tệp với tên chứa trong Filename.
PrintOut
Phương thức này sẽ in sheet hiện hành của workbook ra máy in.
Workbooks(1).PrintOut

Phương thức này còn có rất nhiều tham số khác nữa, tất cả đều là tham số tuỳ chọn:
Ø
Ø


From: số thứ tự trang bắt đầu in, nếu bỏ qua thì sẽ in từ đầu.
Ø
Ø


To: số thứ tự trang cuối cùng được in, nếu bỏ qua thì sẽ in đến trang cuối cùng.
Ø
Ø


Copies: số bản sao khi in ra, nếu bỏ qua thì chỉ in một bản.
Ø
Ø


Preview: nếu bằng TRUE, Excel sẽ hiển thị cửa sổ xem trước khi in. Nếu bằng FALSE,
hoặc bỏ qua, thì sẽ in trực tiếp.
Ø
Ø


ActivePrinter: thiết lập tên cho máy in hiện hành.
Ø
Ø



PrintToFile: nếu bằng TRUE sẽ in ra tệp. Trong trường hợp đó, nếu không gán giá trị
cho tham số
PrToFileName, Excel sẽ hiển thị hộp thoại để người dùng nhập vào tên tệp.
Ø
Ø


Collate: nếu bằng TRUE và số bản sao lớn hơn 1, Excel sẽ sắp xếp các bản in thành từng
tập hoàn thiện.
Ø
Ø


PrToFileName: nếu tham số PrinToFile gán bằng TRUE thì tham số này sẽ thiết lập tên
tệp để in ra.
PrintPreview
Phương thức này sẽ hiển thị chế độ xem trước khi in cho sheet hiện hành của workbook tham
chiếu.
Workbooks(1).PrintPreview
SavevàSaveAs
Các phương thức này sẽ lưu workbook và thường được dùng trước khi đóng workbook.
Phương thức Save sẽ lưu những thay đổi vào chính workbook đó. Còn phương thức SaveAs sẽ
lưu workbook ra một tệp mới. Đoạn mã sau sẽ lưu workbook có tên Book1 và sau đó lưu
workbook có tên là Book3 với tên mới là MyFile.xls:
Workbooks(“Book1”).Save
Workbooks(“Book3”).SaveAs “C:\MyFile.xls”
Saved
Thuộc tính này trả về giá trị TRUE nếu workbook đã được lưu, và ngược lại là FALSE. Đoạn
mã sau sẽ hiển thị trạng thái lưu của workbook:

MsgBox Workbooks(1).Saved
Sheets
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



127

Tập đối tượng Sheets của workbook cũng giống như tập đối tượng Sheets của đối tượng

Application (xem lại mục “Sheets” trang 124). Tuy nhiên, tập đối tượng sheets của workbook
tham chiếu trực tiếp đến các sheet trong workbook đó, còn tập đối tượng sheets của đối tượng
Application lại tham chiếu đến các sheet trong workbook hiện hành.
Windows
Windows là tập đối tượng chứa tất cả các cửa sổ có trong đối tượng Workbook. Chi tiết về t
ập
đối tượng Windows, xem thêm mục “Đối tượng Window” trang 127.
Worksheets
Worksheets là tập đối tượng chứa tất cả các worksheet có trong đối tượng Workbook. Chi tiết
về tập đối tượng Worksheets, xem thêm mục “Đối tượng Worksheet” trang 129.
5.2.3. Đối tượng Window
Đối tượng Window thể hiện cho một cửa sổ bên trong ứng dụng Excel. Như đã được đề cập,
đối tượng Window rất dễ nhầm lẫn với đối tượ
ng Workbook. 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 đối tượng workbook và đối tượng window, 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àm việc trên hai cửa sổ
này giống như khi làm việc trên 2
workbook riêng biệt (mặc dù cả hai cửa sổ đều là thể hiện của cùng một workbook). Đương
nhiên, sự thay đổi ở cửa sổ này sẽ được tự động cập nhập trong các cửa sổ còn lại. Và như vậy,
mỗi một workbook có thể được thể hiện bằng nhiều cửa số khác nhau, nhưng mỗi một cửa sổ
chỉ thể hiện
được một workbook mà thôi.
Để truy xuất đến một đối tượng trong tập đối tượng Windows, người dùng có thể truy cập theo
tên hoặc theo thứ tự của cửa sổ. Để truy xuất đến cửa sổ có tiêu đề là Book1 (là dòng chữ xuất
hiện trên thanh tiêu đề của cửa sổ), ta sử dụng cấu trúc sau:
Windows(“Book1”)
Để truy xuất đến cửa sổ thứ 2 trong tập đối tượng Windows, ta sử dụng cấu trúc sau:
Windows(2)

Số thứ tự của một cửa sổ là không cố định mà thay đổi tuỳ theo số cửa sổ hiển thị và sự thay
đổi của cửa sổ hiện hành. Cửa sổ hiện hành luôn có thứ tự là l.
Dưới đây là các phương thức và thuộc tính thường sử dụng trong đối tượng Window:
Activate,ActivateNextvàActivatePrevious
Các phương thức này dùng để kích hoạt một cửa sổ nào đó trong t
ập đối tượng Windows.
Activate, ActivateNext và ActivatePrevious dùng để kích hoạt cửa sổ được chỉ định, cửa sổ tiếp
theo và cửa sổ trước của cửa sổ được chỉ định. Đoạn mã sau sẽ kích hoạt cửa sổ tên là Book1,
sau đó sẽ kích hoạt cửa sổ nằm phía trước của cửa sổ Book1.
Windows("Book1").Activate
Windows("Book1").ActivatePrevious
ActiveCell
Thuộc tính này tham chiếu đến ô hiện hành, là ô có con trỏ đang hoạt động, trong đối tượng
Window. Đoạn mã sau sẽ hiển thị địa chỉ của ô hiện hành trong cửa sổ thứ 2 trong tập đối
tượng Windows:

×