Tham khảo tài liệu ''giáo trình hình thành quá trình ứng dụng các phương pháp lập trình trên microsoft access marco p4'', tài liệu phổ thông, tin học phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Application.Quit End Sub 7.1.2 Khoá tương tác người dùng Trong số trường hợp, để tránh người dùng thoát khỏi Excel thực số bước tính tốn nhiều thời gian, cần phải giới hạn tương tác người dùng chương trình Excel Đối tượng Application có số phương thức/thuộc tính để thực điều này: Ø Gán thuộc tính DisplayAlerts FALSE để ẩn hộp thoại Excel thực thi mã lệnh Ø Gán thuộc tính Interactive FALSE để người dùng hồn tồn khơng thể tương tác với Excel Ø Gán thuộc tính ScreenUpdating FALSE để tắt q trình cập nhật lại hình, làm ẩn thay đổi diễn lúc thực thi mã lệnh Những cách cần phải thực đầu đoạn mã lệnh phải thực lại cuối đoạn mã lệnh để thiết lập lại giá trị mặc định, khơng làm khố hồn tồn chương trình Excel Ví dụ sau minh hoạ cách tạm thời khoá tương tác người dùng thực đoạn mã lệnh nhiều thời gian: Sub Khoa_nguoi_dung() Dim cel As Range ' Chuyển trỏ chuột thành biểu tượng chờ Application.Cursor = xlWait ' Tắt tương tác người dùng việc cập nhật hình Application.Interactive = False Application.ScreenUpdating = False ' Đoạn mã lệnh mơ việc tính toán nhiều thời gian For Each cel In [a1:iv999] cel.Select Next ' Khôi phục lại trạng thái ban đầu Application.Interactive = True Application.ScreenUpdating = True Application.Cursor = xlDefault [a1].Select End Sub Một lợi điểm việc gán thuộc tính ScreenUpdating FALSE việc đoạn mã lệnh thực thi với tốc độ nhanh Excel khơng cần phải cập nhật lại hình tiến hành chọn ô vùng liệu từ A1:IV999 Nhưng cần lưu ý phải khôi phục lại giá trị mặc định trước kết thúc mã lệnh GỢI Ý Gán thuộc tính ScreenUpdating FALSE thực đoạn mã lệnh có liên quan đến việc hiển thị hình, chằng hạn đổi màu cho vùng liệu… , làm tăng tốc độ thực thi mã lệnh 7.1.3 Thao tác với cửa sổ Đối tượng Application có tập đối tượng Windows cho phép mở, xếp, thay đổi kích thước đóng cửa sổ bên Excel Chẳng hạn đoạn mã sau tạo thêm cửa sổ sau xếp chồng cửa sổ bên workbook hành: 148 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL Sub OpenCascadeWindows() ActiveWindow.NewWindow Application.Windows.Arrange xlArrangeStyleCascade, True End Sub Người lập trình đóng, thay đổi trạng thái cửa sổ sử dụng phương thức thuộc tính có đối tượng Window Ví dụ sau đóng cửa sổ tạo ví dụ trước khôi phục lại trạng thái cửa sổ ban đầu Excel: Sub CloseMaximize() ActiveWindow.Close ‘Đóng cửa sổ hành ActiveWindow.WindowState = xlMaximized End Sub Việc đóng cửa sổ cuối Workbook tương đương với việc đóng workbook CHÚ Ý Trong workbook có nhiều cửa sổ con, tất cửa sổ có nội dung giống thể workbook Chi tiết, xem lại mục “Đối tượng Window” trang 127 Để điều khiển cửa sổ Excel, sử dụng thuộc tính WindowState DisplayFullScreen có đối tượng Application Đoạn mã sau thực thay đổi trạng thái cửa sổ Excel, thái thái có thông báo: Sub ChangeExcelWindowState() Application.WindowState = xlMaximized MsgBox "Trang thai phong dai" Application.WindowState = xlMinimized MsgBox "Trang thai thu nho" Application.WindowState = xlNormal MsgBox "Trang thai thong thuong" Application.DisplayFullScreen = True MsgBox "Trang thai toan man hinh" Application.DisplayFullScreen = False MsgBox "Trang thai thong thuong" End Sub ‘Phóng đại cửa sổ ‘Thu nhỏ cửa sổ ‘Trạng thái thông thường ‘Xem tồn hình ‘Trạng thái bình thường 7.1.4 Khởi động Excel từ chương trình khác Thơng thường, sử dụng VBA Excel, chương trình Excel khởi động sẵn người lập trình khơng cần quan tâm đến thao tác để khởi động chương trình Excel Tuy nhiên, có lúc cần khởi động chương trình Excel từ chương trình khác, chẳng hạn muốn xuất liệu tính tốn sang Excel chẳng hạn Lúc đó, cần phải lập trình để khởi động Excel, hay nói theo cách đơn giản hơn, tạo đối tượng Application chứa ứng dụng Excel Để thực việc này, cần phải thực bước sau: Tham chiếu đến với thư viện mở rộng chương trình Excel Viết mã lệnh thực việc khởi động chương trình Excel (tạo đối tượng Application Excel) Dưới trình bày cách thức khởi động chương trình Excel từ VBA AutoCAD Tham chiếu thư viện mở rộng của chương trình Excel Khởi động chương trình AutoCAD Ư Khởi động VBAIDE AutoCAD cách nhấn tổ hợp phím ALT+F11 149 Chọn trình đơn Tools Ö References… để hiển thị hộp thoại References dùng để tham chiếu đến thư viện mở rộng Trong danh sách thư viện có sẵn, chọn Microsoft Excel 11.0 Object Library Ö Chọn OK Như dự án VBA AutoCAD có tham chiếu đến thư viện mở rộng Excel, nghĩa người lập trình truy cập đến mơ hình đối tượng Excel từ bên VBA AutoCAD Hình IV-14: Hộp thoại References VBAIDE AutoCAD CHÚ Ý Tuỳ phiên chương trình Excel sử dụng mà tên thư viện mở rộng Excel khác Viết mã lệnh khởi động chương trình Excel Trong VBAIDE AutoCAD, chọn trình đơn Insert Ư Module để tạo mơ-đun chuẩn Trong cửa sổ mã lệnh mô-đun chuẩn, nhập đoạn mã lệnh dùng để khởi động chương trình Excel sau: Sub ConnectToExcel() Dim App As Excel.Application On Error Resume Next Set App = GetObject(, "Excel.Application") ‘ Kiểm tra xem Excel khởi động chưa ‘ Nếu chưa tiến hành tạo đối tượng Application If Err Then Err.Clear Set App = CreateObject("Excel.Application") If Err Then MsgBox Err.Description Exit Sub End If End If 150 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL ‘Hiển thị cửa sổ Excel App.Visible = True MsgBox "Now running " + App.Name + _ " version " + App.Version ‘====== Kết thúc việc khởi động chương trình Excel ====== ‘Bắt đầu thực thao tác Excel ‘giống thực môi trường VBA Excel Dim WBook As Workbook, WSheet As Worksheet Set WBook = App.Workbooks.Add Set WSheet = WBook.Worksheets(1) WSheet.Range("A1") = "Vi du ket noi voi Excel" WBook.SaveAs "C:\Test.xls" WBook.Close Set WBook = Nothing Set WSheet = Nothing End Sub Thực thi Macro: ConnectToExcel trên, chương trình Excel khởi động Ö Tạo Worksheet Ö Lưu thành tệp có tên Test.xls nằm thư mục gốc ổ đĩa C:\ Ư Thốt khỏi chương trình Excel 7.2 Làm việc với Workbook 7.2.1 Tạo mới, mở, lưu đóng workbook Tạo mới workbook Để tạo workbook, sử dụng phương thức Add có tập đối tượng Workbooks: Dim wb As Workbook Set wb = Application.Workbooks.Add Mở workbook Để mở workbook có, sử dụng phương thức Open có tập đối tượng Workbooks: Dim wb As Workbook Set wb = Application.Workbooks.Open("C:\MyBook.xls") Nếu tham số tên tệp có tên mà khơng bao gồm đường dẫn, Excel tìm tệp thư mục hành Nếu tệp không tồn làm phát sinh lỗi Excel Lưu workbook Để lưu workbook, sử dụng phương thức Save SaveAs có đối tượng Workbook Thư mục mặc định để lưu Excel thiết lập thơng qua thuộc tính DefaultFilePath đối tượng Application, thơng thường thư mục mặc định thư mục My Documents Ví dụ sau lưu workbook tạo vào thư mục My Documents với tên NewWorkbook.xls: ActiveWorkbook.SaveAs "NewWorkbook" Phương thức SaveAs thích hợp lưu workbook lần đầu tiên, muốn lưu workbook thành workbook có tên khác Cịn phương thức Save lưu workbook giữ nguyên tên workbook Đóng workbook 151 Để đóng workbook, sử dụng phương thức Close có đối tượng workbook Phương thức khơng tự động lưu workbook, có thay đổi chưa lưu, Excel hiển thị hộp thoại SaveChanges trước đóng workbook Người lập trình tắt hộp thoại cách truyền thêm tham số vào cho phương thức thức Close: ThisWorkbook.Close True Đoạn mã lưu tất thay đổi sau đóng workbook hành Để đóng mà khơng lưu thay đổi workbook, sử dụng đoạn mã sau: ThisWorkbook.Close False Để đóng tất workbook, sử dụng phương thức Close có tập đối tượng Workbooks Tuy nhiên phương thức khơng có tham số, hộp thoại SaveChanges xuất có workbook chưa lưu Sub TestCloseAll() Workbooks.Close End Sub 7.3 Làm việc với Worksheet 7.3.1 Tạo mới, xoá đổi tên worksheet Tạo mới worksheet Để tạo Worksheet, sử dụng phương thức Add có tập đối tượng Worksheets tập đối tượng Sheets Sub Tao_moi_worksheet() Dim ws1 As Worksheet Dim ws2 As Worksheet ‘Thêm worksheet vào trước worksheet hành Set ws1 = Worksheets.Add ‘Thêm worksheet khác vào sau sheet cuối workbook Set ws2 = Sheets.Add(After:=Sheets(Sheets.Count), Type:=xlWorksheet) End Sub Do tập đối tượng Sheets bao gồm nhiều loại sheet khác nên thêm worksheet sử dụng phương thức Add có tập đối tượng Sheets, cần phải xác định rõ loại sheet thêm vào Xoá worksheet Để xoá worksheet, sử dụng phương thức Delete có đối tượng worksheet Ví dụ sau xố worksheet có tên Sheet1 Sub Xoa_worksheet() Dim mySheet As Worksheet Set mySheet = Worksheets("Sheet1") Application.DisplayAlerts = False mySheet.Delete Application.DisplayAlerts = True End Sub Khi sử dụng phương thức Delete để xố worksheet, Excel hiển thị hộp thơng báo để xác nhận thao tác xố worksheet Vì vậy, chắn xoá worksheet phải tắt hết tất 152 ...CHƯƠNG IV: LẬP TRÌNH TRÊN? ?MICROSOFT? ?EXCEL Sub OpenCascadeWindows() ActiveWindow.NewWindow Application.Windows.Arrange xlArrangeStyleCascade, True End Sub Người lập trình đóng, thay đổi... thơng thường ‘Xem tồn hình ‘Trạng thái bình thường 7.1.4 Khởi động Excel từ chương trình khác Thơng thường, sử dụng VBA Excel, chương trình Excel khởi động sẵn người lập trình khơng cần quan tâm... chương trình Excel (tạo đối tượng Application Excel) Dưới trình bày cách thức khởi động chương trình Excel từ VBA AutoCAD Tham chiếu thư viện mở rộng của chương? ?trình? ?Excel Khởi động chương trình