CreateObject trong VBA | Cách sử dụng Hàm CreateObject trong VBA?
Hàm CreateObject trong VBA
Đối tượng là khái niệm rất quan trọng trong mã hóa VBA và hiểu rằng mô hình làm việc của đối tượng là khá phức tạp. Khi chúng tôi tham chiếu các đối tượng trong mã hóa VBA, chúng tôi thực hiện theo hai cách, tức là “Liên kết sớm” và “Liên kết muộn”. “Early Binding” là quá trình thiết lập tham chiếu đối tượng từ thư viện tham chiếu của VBA và khi chúng tôi gửi tệp cho người khác, họ cũng yêu cầu đặt tham chiếu đến các đối tượng tương ứng đó. Tuy nhiên “Late Binding” không yêu cầu người dùng đặt bất kỳ tham chiếu đối tượng nào vì trong mã hóa liên kết muộn, chúng tôi đặt tham chiếu đến đối tượng tương ứng bằng cách sử dụng chức năng VBA “CreateObject”.
CreateObject trong Excel VBA là gì?
“Tạo đối tượng” như chính tên cho biết nó sẽ tạo đối tượng được đề cập từ VBA Excel. Vì vậy, hàm Create Object trả về tham chiếu đến một đối tượng được khởi tạo bởi thành phần Active X.
Dưới đây là cú pháp của hàm CreateObject trong VBA
- Lớp: Tên của đối tượng mà chúng ta đang cố gắng khởi tạo và đặt tham chiếu cho biến.
- [Tên máy chủ]: Đây là một tham số tùy chọn, nếu bỏ qua nó sẽ chỉ sử dụng máy cục bộ.
Ví dụ về chức năng tạo đối tượng trong Excel VBA
Dưới đây là các ví dụ về VBA CreateObject.
Bạn có thể tải xuống Mẫu VBA CreateObject Excel này tại đây - Mẫu VBA CreateObject ExcelVí dụ 1
Bây giờ chúng ta sẽ xem cách khởi tạo ứng dụng PowerPoint từ excel bằng cách sử dụng chức năng CreateObject trong VBA. Mở tệp excel và đi tới Cửa sổ Trình soạn thảo Visual Basic bằng cách nhấn phím ALT + F11 .
Mã:
Sub CreateObject_Example1 () End Sub
Khai báo biến dưới dạng PowerPoint.Application.
Như bạn có thể thấy ở trên khi chúng ta bắt đầu nhập từ “PowerPoint”, chúng ta không thấy bất kỳ danh sách intellisense nào hiển thị các tìm kiếm liên quan, điều này là do “PowerPoint” là một đối tượng bên ngoài. Nhưng không có gì phải lo lắng khi khai báo biến là "Object".
Mã:
Sub CreateObject_Example1 () Dim PPT As Object End Sub
Vì chúng tôi đã khai báo biến là "Đối tượng", chúng tôi cần đặt tham chiếu đến đối tượng bằng cách sử dụng từ khóa "Đặt". Bằng cách nhập từ khóa "Đặt", hãy đề cập đến biến và đặt dấu bằng.
Mã:
Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub
Bây giờ hãy mở chức năng CreateObject.
Vì chúng tôi đang tham chiếu đến đối tượng bên ngoài của “PowerPoint” cho tham số “Lớp” của chức năng Tạo Đối tượng, hãy đề cập đến tên đối tượng bên ngoài trong dấu ngoặc kép là “PowerPoint.Application”.
Mã:
Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub
Bây giờ, chức năng Create Object sẽ khởi chạy ứng dụng PowerPoint. Khi đối tượng được khởi tạo, chúng ta cần làm cho nó hiển thị bằng cách sử dụng tên biến.
Một trong những vấn đề với phương thức Create Object hoặc phương thức liên kết trễ là chúng ta không thể xem danh sách intellisense vào thời điểm đó, bạn cần phải hoàn toàn chắc chắn về mã mà bạn đang viết.
Đối với biến “PPT”, hãy sử dụng thuộc tính “Hiển thị” và đặt trạng thái là “Đúng”.
Mã:
Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Vosystem = True End Sub
Để thêm một trang chiếu vào PPT, hãy xác định mã VBA dòng bên dưới.
Mã:
Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Vosystem = True PPT.Presentations.Add End Sub
Bây giờ hãy thực thi mã theo cách thủ công hoặc thông qua phím F5 và thấy ứng dụng “PowerPoint” mở ra.
Khi ứng dụng PowerPoint được bật bằng cách sử dụng biến “PPT”, chúng tôi có thể bắt đầu truy cập ứng dụng PowerPoint.
Ví dụ số 2
Bây giờ chúng ta sẽ xem cách khởi tạo một ứng dụng Excel bằng cách sử dụng hàm CreateObject trong VBA. Một lần nữa khai báo biến là “Đối tượng”.
Mã:
Sub CreateObject_Example2 () Dim ExcelSheet dưới dạng đối tượng End Sub
Thời điểm chúng ta khai báo biến là đối tượng, nó gây ra ràng buộc trễ và chúng ta cần sử dụng từ khóa "Set" để đặt tham chiếu cho đối tượng được yêu cầu.
Vì chúng tôi tham chiếu đến trang tính excel từ ứng dụng excel, hãy nhập “Excel.Sheet” trong dấu ngoặc kép.
Mã:
Sub CreateObject_Example2 () Dim ExcelSheet dưới dạng đối tượng Set ExcelSheet = CreateObject ("Excel.Sheet") End Sub
Khi tham chiếu cho trang tính excel được thiết lập, chúng ta cần hiển thị nó để sử dụng. Điều này tương tự như cách chúng tôi làm cho ứng dụng PowerPoint hiển thị.
Mã:
Sub CreateObject_Example2 () Dim ExcelSheet dưới dạng đối tượng Set ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Vosystem = True End Sub
Bây giờ nó sẽ kích hoạt trang tính excel.
Tương tự như vậy để khởi tạo sổ làm việc excel từ các sản phẩm khác của Microsoft, chúng ta có thể sử dụng mã dưới đây.
Mã:
Sub CreateObject_Example3 () Dim ExlWb As Object Set ExlWb = CreateObject ("Excel.Application") ExlWb.Application.V xóa được = True End Sub
Những điều cần nhớ về CreateObject trong VBA
- Trong VBA, hàm CreateObject được sử dụng để tham chiếu các đối tượng.
- Chức năng Tạo Đối tượng gây ra một quá trình ràng buộc muộn.
- Sử dụng hàm tạo đối tượng, chúng tôi không thể truy cập vào danh sách intellisense của VBA.