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 bởi 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ị 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.

Ví 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 tôi bắt đầu nhập từ “PowerPoint”, chúng tôi 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à “Đối tượng”.

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 đố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 Tạo Đối tượng 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 pháp Tạo đối tượng hoặc phương pháp liên kết muộn là chúng tôi không thể xem danh sách IntelliSense tại thời điểm. Bạn cần phải hoàn toàn chắc chắn về 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ờ 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, hãy khai báo biến là “Đối tượng”.

Mã:

Sub CreateObject_Example2 () Dim ExcelSheet dưới dạng đối tượng End Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") End Sub

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

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 chức năng tạo đối tượng, chúng tôi không thể truy cập vào danh sách IntelliSense của VBA.

thú vị bài viết...