Hàm CreateObject

Lưu ý: Chúng tôi muốn cung cấp cho bạn nội dung trợ giúp mới nhất ở chính ngôn ngữ của bạn, nhanh nhất có thể. Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Vui lòng cho chúng tôi biết ở cuối trang này rằng thông tin có hữu ích với bạn không? Dưới đây là bài viết bằng Tiếng Anh để bạn tham khảo dễ hơn.

Lưu ý: Hàm, phương pháp, đối tượng hoặc thuộc tính được mô tả trong chủ đề này bị vô hiệu hóa nếu dịch vụ biểu thức Microsoft Jet đang chạy ở chế độ hộp cát, ngăn không cho đánh giá biểu thức không an toàn tiềm ẩn. Để biết thêm thông tin về chế độ hộp cát, tìm kiếm "chế độ hộp cát" trong trợ giúp.

Tạo và trả về một tham chiếu đến một đối tượng ActiveX.

Cú pháp

CreateObject ( class [, tên máy chủ] )

Cú pháp hàm CreateObject có các đối số:

Tham đối

Mô tả

lớp học

Bắt buộc. Biến thể (Chuỗi). Tên ứng dụng và các lớp học của đối tượng để tạo.

tên máy chủ

Tùy chọn. Biến thể (Chuỗi). Tên máy chủ mạng nơi đối tượng sẽ được tạo. Nếu tên máy chủ là một chuỗi trống (""), máy tính cục bộ được sử dụng.


Sử dụng classtham đối cú pháp appname.objecttype và có những phần sau đây:

Phần

Mô tả

appname

Bắt buộc. Biến thể (Chuỗi). Tên của ứng dụng này cung cấp đối tượng.

objecttype

Bắt buộc. Biến thể (Chuỗi). Kiểu hoặc lớp của đối tượng để tạo.


Chú thích

Tất cả ứng dụng hỗ trợ tự động hóa cung cấp ít nhất một kiểu đối tượng. Ví dụ, một ứng dụng word xử lý có thể cung cấp một đối tượng ứng dụng , một đối tượng tài liệu và đối tượng công cụ .

Để tạo một đối tượng ActiveX, gán đối tượng trả về bởi CreateObject đến một biến số đối tượng:

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Mã này sẽ khởi động ứng dụng tạo đối tượng, trong trường hợp này, bảng tính Microsoft Office Excel 2007 . Sau khi một đối tượng được tạo ra, bạn tham chiếu nó trong mã dùng biến số đối tượng bạn đã xác định. Trong ví dụ sau đây, bạn truy nhập thuộc tính và các phương pháp của đối tượng mới bằng cách dùng biến số đối tượng, ExcelSheet, và các đối tượng Excel, bao gồm đối tượng Application và tuyển tập Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Khai báo một biến số đối tượng với mệnh đề As Object sẽ tạo ra một biến số mà có thể chứa một tham chiếu tới bất kỳ kiểu đối tượng. Tuy nhiên, truy nhập vào đối tượng qua biến số đó được gắn kết chậm; có nghĩa là, các ràng buộc xảy ra khi chương trình của bạn đang chạy. Để tạo một biến số đối tượng, kết quả đầu ràng buộc, tức là, đóng quyển khi chương trình được biên soạn, khai báo biến số đối tượng với ID người cụ thể lớp học. Ví dụ, bạn có thể khai báo và tạo tham chiếu Excel sau đây:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

Tham chiếu đến một biến số sớm kèm có thể cung cấp cho hiệu suất tốt hơn, nhưng chỉ có thể chứa một tham chiếu tới lớp đã xác định trong khai báo.

Bạn có thể truyền các đối tượng CreateObject hàm trả về một hàm dự kiến nhận một đối tượng như một đối số. Ví dụ, mã sau đây sẽ tạo ra và đi một tham chiếu đến một đối tượng Excel.Application:

Call MySub (CreateObject("Excel.Application"))

Bạn có thể tạo một đối tượng trên một máy tính từ xa bằng truyền tên máy tính để đối số tên máy chủ của CreateObject. Tên đó là giống như phần máy tên của tên chia sẻ: đối với một chia sẻ có tên là "\\MyServer\Public", tên máy chủ là "MyServer."

Lưu ý: Tham khảo tài liệu COM (xem Mạng lưới nhà phát triển Microsoft) để các thông tin bổ sung về cách ứng dụng Hiển thị trên một máy tính từ xa. Bạn có thể phải thêm một khóa đăng ký cho ứng dụng của bạn.

Mã sau đây trả về số phiên bản của một phiên bản Excel khác đang chạy trên máy tính từ xa có tên là MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Nếu máy chủ từ xa không tồn tại hoặc không sẵn dùng, thông báo lỗi thời gian chạy xuất hiện.

Lưu ý: Sử dụng CreateObject khi không có không có phiên bản hiện tại của đối tượng. Nếu mẫu của đối tượng đã chạy, bắt đầu một phiên bản mới, và đối tượng đã xác định kiểu sẽ được tạo ra. Để sử dụng phiên bản hiện tại, hoặc để khởi động ứng dụng và có tải một tệp, hãy dùng hàm GetObject .

Nếu một đối tượng có đăng ký chính là một đối tượng thể hiện một lần, chỉ có một phiên bản của đối tượng được tạo, bất kể nhiêu lần CreateObject được thực hiện.

Ví dụ

Ví dụ này dùng hàm CreateObject thiết (tham chiếu

xlApp

) để Excel. Sử dụng tham chiếu để truy nhập thuộc tính Hiển thị trong Excel và sau đó sử dụng phương pháp Excel Quit để đóng nó. Cuối cùng, tham chiếu chính được phát hành.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×