Đối tượng Application trong Excel VBA
Học java core Đối tượng application trong Excel VBA là đối tượng được sử dụng thường xuyên nhất khi thực hiện bất kỳ tác vụ nào với VBA. Dưới đây là các phương thức và thuộc tính được sử dụng nhiều nhất của đối tượng Application. Để bạn có thể nhanh chóng tìm ra giải pháp, ...
Đối tượng application trong Excel VBA là đối tượng được sử dụng thường xuyên nhất khi thực hiện bất kỳ tác vụ nào với VBA.
Dưới đây là các phương thức và thuộc tính được sử dụng nhiều nhất của đối tượng Application. Để bạn có thể nhanh chóng tìm ra giải pháp, cú pháp bất cứ khi nào bạn cần sử dùng nó.
Các phương thức của đối tượng Application
Dưới đây là các phương thức được sử dụng nhiều nhất của đối tượng Application.
Phương thức | Mô tả |
---|---|
FindFile | Để mở hộp thoại để mở một file. |
Goto | Để chọn bất kỳ range nào. |
Run | Để chạy một thủ tục hoặc một hàm |
Wait | Để tạm ngưng chương trình macro. |
Các thuộc tính của đối tượng Application
Dưới đây là các thuộc tính được sử dụng nhiều nhất của đối tượng Application.
Properties | Mô tả |
---|---|
DisplayAlerts | Để đại diện cho hiển thị cảnh báo. |
Path | Để có được đường dẫn tuyệt đối của ứng dụng. |
ScreenUpdating | Để bật/tắt màn hình. |
Sử dụng các phương thức của Application
Phương thức FindFile
Phương thức FindFile của Application trong VBA được sử dụng để mở một hộp thoại cho phép người sử dụng mở một workbook hoặc một file. Phương thức này trả về giá trị Boolean là true hoặc false. If giá trị trả về là true thì người dùng đã mở file thành công. Nếu người dùng hủy hộp thoại thì giá trị trả về là false.
Cú pháp:
Application.FindFile
Ví dụ:
Sub Demo_FindFile() Application.FindFile End Sub
Phương thức Goto
Phương thức Goto của Application trong VBA được sử dụng để chọn bất kỳ range trên một worksheet hoặc lựa chọn bất kỳ thủ tục visual basic trong workbook. Nếu workbook là đang không hoạt động, nó sẽ khiến workbook này hoạt động.
Cú pháp:
Application. Goto ([Reference], [Scroll])
Trong đó:
Reference: Nó chỉ định đích đến.
Scroll: Đây là tham số tùy chọn. Nó có giá trị Boolean hoặc True hay False. Nếu giá trị là true thì nó sẽ di chuyển thanh cuộn đến vị trí chỉ đích. Nếu đó là false thì nó sẽ không di chuyển thanh cuộn.
Ví dụ: thủ tục sau sẽ chọn cell “A250” của worksheet có tên “Sheet1”. Thuộc tính Scroll:=True của câu lệnh sau sẽ cuộn tới vị trí cell “A250”.
Sub Demo_Goto() Application.Goto Reference:=Worksheets("Sheet1").Range("A250"), Scroll:=True End Sub
Phương thức Run
Phương thức Run của Application trong VBA được sử dụng để run một thủ tục hoặc function được viết trong VBA.
Cú pháp:
Application.Run([Macro], [Arg1], [Arg2],…, [Arg30])
Trong đó:
Macro: Nó chỉ định macro để run.
Arg1 to Arg30: Đây là tham số tùy chọn. Nó được sử dụng để truyền các tham số cho function.
Ví dụ sau run một thủ tục macro có tên “MyMacro” của workbook có tên “Workbook1.xls”.
Sub Demo_Run() Application.Run "'Workbook1.xls'!MyMacro" End Sub
Phương thức Wait
Phương thức Wait của Application trong VBA được sử dụng để được sử dụng để tạm dừng hoặc dừng macro trong một khoảng thời gian được chỉ định. Nó trả về một giá trị Boolean. Nếu thời gian đã chỉ định đến, nó trả về true nếu không nó sẽ trả về false.
Cú pháp:
Application.Wait(Time)
Trong đó:
Time: Đây là một tham số được yêu cầu. Nó chỉ định thời gian bạn muốn tiếp tục macro.
Ví dụ 1: tạm ngưng macro đến 16h cùng ngày.
Sub Demo_Wait1() Application.Wait "16:00:00" End Sub
Ví dụ 2: tạm ngưng macro 20 giây.
Sub Demo_Wait2() Application.Wait Now + TimeValue("00:00:20") End Sub
Sử dụng các thuộc tính của Application
Thuộc tính DisplayAlerts
Thuộc tính DisplayAlerts của Application trong VBA có giá trị Boolean là True hoặc False. Giá trị mặc định là True. Khi giá trị là True nó sẽ hiển thị cảnh báo hoặc thông báo trong khi chạy macro. Nếu giá trị là False nó sẽ không hiển thị bất kỳ thông báo hoặc cảnh báo nào.
Ví dụ 1: không hiển thị bất kỳ cảnh báo nào trong khi đóng workbook đang hoạt động.
Sub Display_Alert_Example1() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub
Ví dụ 2: Hiển thị cảnh báo trong khi đóng workbook đang hoạt động.
Sub Display_Alert_Example1() Application.DisplayAlerts = True ' tùy chọn vì mặc định là true ActiveWorkbook.Close End Sub
Thuộc tính Path
Thuộc tính Path của Application trong VBA được sử dụng để lấy giá trị tuyệt đối của ứng dụng.
Ví dụ 1: hiển thị đường dẫn tuyệt đối của thư mục chứa ứng dụng excel.
Sub Path_Example1() MsgBox "The application path is:" & Application.Path End Sub
Kết quả:
The application path is: C:Program FilesMicrosoft OfficeOffice15
Ví dụ 1.1: hiển thị đường dẫn tuyệt đối của thư mục chứa file excel macro (workbook).
Sub Path_Example1() MsgBox "The workbook path is:" & Application.ActiveWorkbook.Path End Sub
Kết quả:
The workbook path is: D:Test
Ví dụ 2: hiên thị đường dẫn tuyệt đối của file excel macro.
Sub Path_Example2() MsgBox "Workbook full path is: " & ThisWorkbook.FullName End Sub
Kết quả:
Workbook full path is: D:TestMyFile.xlsm
Thuộc tính ScreenUpdating
Thuộc tính ScreenUpdating của Application trong VBA được sử dụng để cập nhật ON/OFF màn hình. Nếu chúng ta thiết lập thuộc tính ScreenUpdating thành True thì nó sẽ mở màn hình cập nhật. Khi chúng ta thiết lập thuộc tính ScreenUpdating của một đối tượng Application thành False thì nó sẽ tắt màn hình cập nhật, điều này có nghĩa là sẽ tăng tốc độ macro. Đó là một trong những kỹ thuật tối ưu hóa.
Ví dụ 1: Trong ví dụ sau, nó sẽ hiển thị số từ 1 đến 100 trong cột đầu tiên của Sheet1. Chúng ta có thể quan sát màn hình đang cập nhật trong khi cập nhật Sheet1.
Sub ScreenUpdating_Example1() Dim i As Integer For i = 1 To 100 Sheets("Sheet1").Cells(i, 1) = i Next End Sub
Ví dụ 2: Trong ví dụ sau, nó sẽ hiển thị số từ 1 đến 100 trong cột đầu tiên của Sheet1. Chúng ta không thể quan sát màn hình đang cập nhật trong khi cập nhật Sheet1.
Sub ScreenUpdating_Example1() Application.ScreenUpdating = False Dim i As Integer For i = 1 To 100 Sheets("Sheet1").Cells(i, 1) = i Next Application.ScreenUpdating = True End Sub
Xem thêm tại: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-object-excel