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ị tắt nếu dịch vụ biểu thức Microsoft Jet đang chạy trong chế độ sandbox, ngăn không cho đánh giá các biểu thức không an toàn tiềm ẩn. Để biết thêm thông tin về chế độ sandbox, hãy tìm kiếm "chế độ sandbox" trong trợ giúp.

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

Cú pháp

Đối tượng Create ( lớp [, ServerName] )

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

Đối số

Mô tả

lớp

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

ServerName

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


Hàm _ z0z_sử dụng các appnamecú pháp.objetttype và có các phần sau đây:

Phần

Mô tả

tên người dùng

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

objetttype

Bắt buộc. Biến thể (Chuỗi). Loại hoặc _ z0z_ của đối tượng để tạo.


Chú thích

Mỗi ứng dụng hỗ trợ tự động hóa cung cấp ít nhất một loại đối tượng. Ví dụ: ứng dụng xử lý từ có thể cung cấp một đối tượng ứng dụng , đối tượng tài liệu và đối tượng thanh công cụ .

Để tạo một đối tượng ActiveX, gán đối tượng được trả về bởi CreateObject vào một _ z0z_:

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")

Trong ví dụ này, chúng tôi sẽ tự động hóa một đối tượng bảng tính Excel từ bên trong cơ sở dữ liệu Access. Mã này khởi động ứng dụng tạo đối tượng, trong trường hợp này, một bảng tính Microsoft Excel. Sau khi một đối tượng được tạo, bạn tham chiếu nó trong mã bằng cách dùng biến đối tượng mà bạn đã xác định. Trong ví dụ sau đây, bạn truy nhập các thuộc tính và phương pháp của đối tượng mới bằng cách sử dụng biến đối tượng, _ z0z_vàcác đối tượng Excel khác, bao gồm cả đối tượng _ z1z_ và bộ sưu tập _ z2z_ .

' 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

Tuyên bố biến đối tượng với mệnh đề _ z0z_ sẽ tạo ra một biến có thể chứa một tham chiếu đến bất kỳ loại đối tượng nào. Tuy nhiên, truy nhập vào đối tượng thông qua biến số đó bị ràng buộc muộn; có nghĩa là, các ràng buộc sẽ xảy ra khi chương trình của bạn chạy. Để tạo một biến thể đối tượng kết quả trong ràng buộc sớm, tức là, ràng buộc khi chương trình được biên soạn, khai báo biến đối tượng với một ID lớp cụ thể. Ví dụ, bạn có thể khai báo và tạo các 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 thông qua biến đổi đầu có thể cung cấp hiệu suất tốt hơn nhưng chỉ có thể chứa một tham chiếu đến _ z0z_đã xác định trong _ z1z_.

Bạn có thể vượt qua một đối tượng được trả về bởi hàm CreateObject vào một hàm mong một đối tượng như một đối số. Ví dụ, mã sau tạo và vượt qua 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 mạng từ xa bằng cách đi qua tên của máy tính vào đối tượng ServerName của CreateObject. Tên đó giống như phần tên máy của tên chia sẻ: để chia sẻ có tên là "\ Myserver\public", ServerName là "myserver".

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

Mã sau trả về số phiên bản của một thể hiện của Excel đang chạy trên một máy tính từ xa có tên là _ z0z_:

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, lỗi thời gian chạy xảy ra.

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

Nếu một đối tượng đã đăng ký chính nó như một đối tượng đơn, chỉ có một ví dụ về đối tượng được tạo ra, bất kể có bao nhiêu thời gian được thực thi.

Ví dụ

Ví dụ này sử dụng hàm CreateObject để thiết lập tham chiếu (

xlApp

) vào Excel. Nó dùng tham chiếu để truy nhập vào thuộc tính nhìn thấy của Excel, sau đó sử dụng phương pháp thoát Excel để đóng nó. Cuối cùng, bản thân tham chiếu đượ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.

×