128 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 125. Cácthuộctínhvềhiểnthị Đố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 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 129 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 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. 5.2.4. Đối tượng Worksheet Đối tượng Worksheet thể hiện cho một worksheet trong một workbook. Đây là đối tượng rất phổ biến trong excel, hầu hết các thao tác đều được tiến hành trong một worksheet. CHÚ Ý Worksheet chỉ là một trong nhiều dạng sheet của một workbook. Chi tiết về các loại sheet trong Excel, xem thêm mục “ Đối tượng Workbook ” trang 124. Trong cây phân cấp đối tượng, đối tượng Worksheet nằm sau tập đối tượng Worksheets của đối tượng Workbook. Vì vậy, các đối tượng Worksheet đều được truy cập thông qua tập đối tượng Worksheets. Tương tự như đối với đối tượng Window, mỗi đối tượng Worksheet đều được truy cập thông qua tập đối tượng Worksheets bằng tên của worksheet hoặc theo thứ tự của nó. 130 Một cách khác để biết thứ tự của worksheet, đó là xem thứ tự xuất hiện trên thẻ chứa các sheet trong bảng tính. Hình IV-13: Thứ tự của Worksheet Trong minh hoạ trên, vị trí thứ 2 là của Chart sheet nên không được tính trong thứ tự của các worksheet. Để tạo một worksheet mới, sử dụng phương thức Add có trong tập đối tượng Worksheets. Worksheets.Add Dưới đây là các phương thức và thuộc tính phổ biển trong đối tượng worksheet. Calculate Phương thức này thực hiện quá trính tính toán cho toàn bộ worksheet được tham chiếu (xem thêm mục “Calculation” trang 122): Worksheets(“Sheet1”).Calculate Comments Là tập đối tượng chứa tất cả các chú thích 1 có trong worksheet đang được tham chiếu. Kiểu dữ liệu trả về là kiểu Comment. Đoạn mã sau sẽ hiển thị nội dung của tất cả các chú thích có trong sheet hiện hành: Dim myComment As Comment For Each myComment In Worksheets(“Sheet1”).Comments MsgBox myComment.Text Next myComment Delete Phương thức này sẽ xoá worksheet được tham chiếu, giống như khi chọn trình đơn EditÖDelete Sheet trong Excel. Đoạn mã sau sẽ xoá worksheet tên là “Sheet3”: Worksheets(“Sheet3”).Delete Name Thuộc tính này trả về tên của worksheet giống như được hiển thị trên thẻ chứa các sheet trong workbook. PrintOutvàPrintPreview 1 Chú thích là một đoạn văn bản gắn thêm vào một ô nào đó. Đoạn văn bản này được hiện lên mỗi khi người dùng di chuột trên ô. Ô nào có chú thích thì sẽ có thêm biểu tượng hình tam giác màu đỏ ở góc trên bên phải của ô. Để tạo chú thích cho một ô, chọn trình đơn InsertÖComment trong 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 131 Những phương thức này dùng để thực hiện in hoặc xem trước khi in một worksheet. Chi tiết về các tham số cho phương thức PrintOut, xem lại mục “Đối tượng Workbook - PrintOut” trang 126. Worksheets(“Sheet2”).PrintOut PrintPreview:=True ’In, có xem trước Worksheets(“Sheet3”).PrintPreview ’Xem trước khi in ProtectvàUnprotect Phương thức Protect sẽ bật chế độ bảo vệ cho worksheet giống như khi chọn từ trình đơn ToolsÖProtectionÖProtect Sheet trong Excel. Nếu cần tạo mật khẩu để yêu cầu người dùng nhập mỗi khi tắt chế độ bảo vệ, người dùng có thể nhập thêm vào tham số chuỗi ký tự chứa mật khẩu trong phương thức Protect Worksheets(“Sheet2”).Protect ’Bật chế độ bảo vệ Worksheets(“Sheet2”).Protect Password:="Excel" ’Bảo vệ, có mật khẩu Phương thức Unprotect sẽ tắt chế độ bảo vệ của worksheet. Đối với những worksheet được bảo vệ bằng mật khẩu, cần phải truyền thêm tham số là chuỗi ký tự chứa mật khẩu để tắt chế độ bảo vệ; nếu không truyền tham số mật khẩu, một hộp thoại sẽ được hiện lên để người sử dụng nhập vào mật khẩu. Worksheets(“Sheet2”).Unprotect Password:="Excel" ’Tắt chế độ bảo vệ Range Đây là thuộc tính rất quan trọng trong lập trình trên Excel. Thuộc tính này sẽ được trình bày rõ hơn trong mục “Đối tượng Range” trang 132. Select Phương thức này sẽ chọn worksheet tham chiếu làm worksheet hiện hành, tương tự như khi chọn worksheet trên thẻ chứa các sheet của workbook. Worksheets(“Sheet2”).Select ‘Chọn Sheet2 làm sheet hiện hành SetBackgroundPicture Phương thức này sẽ chọn một ảnh làm ảnh nền cho worksheet, giống như khi chọn trình đơn FormatÖSheetÖBackground… trong Excel. Tham số bắt buộc phải nhập vào là tên tệp đồ hoạ dùng để làm ảnh nền, bao gồm cả đường dẫn đầy đủ. Nếu muốn xoá ảnh nền, chỉ cần nhập tham số tên tệp đồ hoạ bằng rỗng. Worksheets(“Sheet1”).SetBackgroundPicture "C:\MyPicture.jpg" Worksheets(“Sheet1”).SetBackgroundPicture "" ’Xoá ảnh nền Visible Thuộc tính này thiết lập sự hiển thị của worksheet, bằng TRUE nếu worksheet được hiển thị. Việc thay đổi giá trị của thuộc tính này cũng tương tự như khi chọn từ trình đơn FormatÖSheetÖHide/Unhide… trong Excel. Worksheets(“Sheet1”).Visible = False ’Ẩn Sheet1 132 Worksheets(“Sheet1”).Visible = True ’Hiển thị lại Sheet1 Name–ĐặttênchomộtvùngdữliệutrongWorksheet Sử dụng thuộc tính Name để đặt tên cho vùng dữ liệu cần thao tác theo cách sau: Dim a As Worksheet Set a = Worksheets("Sheet1") a.Names.Add "ABC", "=$A$1:$D$5" CHÚ Ý Nếu tên được đặt đã có thì vùng dữ liệu cũ sẽ được định nghĩa lại theo phạm vi mới. Nếu vùng dữ liệu khôn có dấu $ thì nó sẽ tự động tịnh tiến theo vị trí của ô hiện hành. 5.2.5. Đối tượng Range Đối tượng Range tham chiếu đến một ô hoặc một vùng dữ liệu trên bảng tính. Đây là đối tượng phổ biến nhất trong Excel, bởi hầu hết các tương tác với Excel đều được thực hiện dựa trên các ô và vùng dữ liệu. Với đối tượng Range, người lập trình không chỉ tác động lên một ô riêng lẻ mà còn có thể tác động lên nhiều ô cùng một lúc. Thamchiếuđếnđối tượngRange Việc tham chiếu đến đối tượng Range được thực hiện dựa trên địa chỉ của các ô và được thực hiện theo nhiều phương thức khác nhau. Để làm rõ hơn cách thức tham chiếu, các ví dụ sau sẽ thực hiện gán giá trị cho vùng dữ liệu được tham chiếu. Để tham chiếu đến một ô nào đó, chỉ cần nhập địa chỉ của ô. Địa chỉ của ô có thể là ki ểu địa chỉ tương đối, hoặc tuyệt đối. Ví dụ sau sẽ tham chiếu đến ô B2: ActiveSheet.Range("B2").Value = 9 ‘hoặc có thể gán trực tiếp như sau: ActiveSheet.Range("B2") = 9 Trong trường hợp nếu người dùng có một vùng dữ liệu được đặt tên, người lập trình có thể tham chiếu đến vùng dữ liệu đó thông qua tên của vùng dữ liệu. Giả sử trong Sheet1 có một vùng dữ liệu từ ô A2 đến ô B3 được đặt tên là Input, thì cách tham chiếu như sau: Worksheets("Sheet1").Range("SoLieu") = 9 . liệu trên bảng tính. Đây là đối tượng phổ biến nhất trong Excel, bởi hầu hết các tương tác với Excel đều được thực hiện dựa trên các ô và vùng dữ liệu. Với đối tượng Range, người lập trình. Range Đây là thuộc tính rất quan trọng trong lập trình trên Excel. Thuộc tính này sẽ được trình bày rõ hơn trong mục “Đối tượng Range” trang 132. Select Phương thức này sẽ chọn worksheet tham chiếu. đến đối tượng Range được thực hiện dựa trên địa chỉ của các ô và được thực hiện theo nhiều phương thức khác nhau. Để làm rõ hơn cách thức tham chiếu, các ví dụ sau sẽ thực hiện gán giá trị