Đố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:
MsgBox Windows(2).ActiveCell.Address
ActiveSheet
Thuộc tính này tham chiếu đến sheet hiện hành của workbook đang xét.
Caption
Thuộc tính này chứa nội dung ghi trên thanh tiêu đề của cửa sổ. Đoạn mã sau sẽ thay đổi dòng tiêu đề của cửa sổ hiện hành:
ActiveWindow.Caption = “MyWindow”
Close
Close là hàm thực hiện đóng cửa sổ đang xét. Hàm này trả về giá trị TRUE nếu đóng được cửa sổ, và trả về giá trị FALSE nếu cửa sổ không được đóng. Hàm này cũng chứa các tham số tuỳ chọn khác, chi tiết xem thêm phương thức Close của đối tượng Workbook trang 32.
Các thuộc tính về hiển thị
Đối tượng Window có chứa nhiều thuộc tính để thiết lập các lựa chọn về hiển thị trong cửa số như sau:
Thuộc tính Giải thích
DisplayFormulas TRUE: tất cả các ô sẽ hiển thị công thức chứ không phải giá trị DisplayGridlines TRUE: hiển thị các đường lưới bên trong cửa sổ
DisplayHeadings TRUE: hiển thị thanh thể hiện vị trí của cột và hàng DisplayHorizontalScrollBar TRUE: hiển thị thanh cuộn ngang
DisplayOutline TRUE: hiển thị thanh thể hiện Outline
DisplayRightToLeft TRUE: hiển thị trật tự cột tăng dần từ phải sang trái. Mặc định là FALSE DisplayVerticalScrollBar TRUE: hiển thị thanh cuộn đứng
DisplayWorkbookTabs TRUE: hiển thị thẻ chứa các sheet trong workbook DisplayZeros FALSE: các ô có giá trị bằng 0 sẽ không hiển thị Đoạn mã sau sẽ ẩn đi thẻ chứa các sheet trong workbook hiện hành:
ActiveWindow.DisplayWorkbookTabs = False
NewWindow
Phương thức này sẽ tạo một cửa sổ mới dựa trên cửa sổ đang được tham chiếu giống như khi chọn trình đơn WindowÖNew Window trong Excel vậy.
ActiveWindow.NewWindow
RangeSelection
Thuộc tính này tham chiếu đến vùng đang được chọn trong cửa sổ được tham chiếu. Kiểu dữ liệu của thuộc tính này là Range. Đoạn mã sau sẽ hiển thị địa chỉ của vùng được chọn trong cửa sổ hiện hành:
MsgBox ActiveWindow.RangeSelection.Address
Giá trị hiển thị có thể ở dạng địa chỉ tuyệt đối của một ô - $C$3, hoặc một vùng chọn - $B$10:$D$12.
SelectedSheets là tập đối tượng chứa tất cả các sheet đang được người dùng lựa chọn. Kiểu dữ liệu của thuộc tính này là Sheets, vì thế tất cả các thao tác trên tập đối tượng SelectedSheets cũng giống như trên tập đối tượng Sheets
WindowState
Thuộc tính này lưu trữ trạng thái của đối tượng Window. Có 3 trạng thái của đối tượng Window như sau:
Trạng thái đối tượng Window Giá trị của thuộc tính
Cửa sổđược phóng đại toàn màn hình xlMaximized Cửa sổđược thu nhỏ xlMinimized
Cửa sổở trạng thái thông thường xlNormal Đoạn mã sau sẽ thu nhỏ cửa sổ hiện hành:
ActiveWindow.WindowState = xlMinimized
Zoom
Thuộc tính này dùng để thiết lập chế độ phóng đại cho cho cửa sổ, giống như khi ta sử dụng trình đơn ViewÖZoom trong Excel. Đoạn mã sau sẽ phóng đại cửa sổ hiện hành lên 120%:
ActiveWindow.Zoom = 120
GỢI Ý Trong Excel, để thu/phóng cửa sổ, chỉ cần nhấn phím CTRL + cuộn phím giữa của
chuột.