Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Lưu ý: Hàm, phương pháp, đối tượng hoặc thuộc tính được mô tả trong chủ đề này sẽ bị vô hiệu hóa nếu Dịch vụ Biểu thức Phản lực của Microsoft đang chạy trong chế độ hộp cát, điều này 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ế độ hộp cát, hãy 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 [, servername] )

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.

tên máy chủ

Không bắt buộc. 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ộ sẽ được dùng.


Tên lớptham đối dùng tên ứng dụng cú pháp.objecttype và có các phần sau:

Phần

Mô tả

tên ứng dụng

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

objecttype

Bắt buộc. Biến _thể (Chuỗi). Loại hoặc kiểu lớp đối tượng cần tạo.


Chú thích

Mỗi ứng dụng hỗ trợ tự động cung cấp ít nhất một loại đối tượng. Ví dụ: ứng dụng xử lý văn bản có thể cung cấp đối tượng Application , đối tượng Document và đối tượng Toolbar .

Để tạo đối tượng ActiveX, gán đối tượng do CreateObject trả về cho đối tượng 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")

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 một cơ sở dữ liệu Access. Mã này sẽ khởi động ứng dụng tạo đối tượng, trong trường hợp này là 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 sử 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, ExcelSheetvà các đối tượng Excel khác, bao gồm đối tượng Application và tuyển tập Cells đối tượng.

' 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

Việc khai báo một biến đối tượng bằng mệnh đề As Object sẽ tạo ra một biến có thể chứa một tham chiếu đến bất kỳ kiểu đối tượng nào. Tuy nhiên, truy cập vào đối tượng thông qua biến đó là kết nối muộn; nghĩa là, ràng buộc xảy ra khi chạy chương trình của bạn. To create an object variable that results in early binding, that is, binding when the program is compiled, khai báo the object variable with a specific class ID. 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 số liên kết sớm có thể mang lại hiệu suất tốt hơn nhưng chỉ có thể chứa tham chiếu đến giá trị lớp xác định trong hàm khai báo.

Bạn có thể truyền một đối tượng mà hàm CreateObject trả về cho một hàm mong đợi một đối tượng làm đối số. Ví dụ: mã sau đây tạo và truyền tham chiếu đến đối tượng Excel.Application:

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

Bạn có thể tạo đối tượng trên máy tính nối mạng từ xa bằng cách chuyển tên máy tính đến đối số servernamecủa CreateObject. Tên đó giống như phần Tên Máy của tên chia sẻ: cho 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 nhà phát triển Microsoft) để biết thêm thông tin về cách làm cho một ứng dụng hiển thị trên 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 đây trả về số phiên bản của một phiên bản Excel đang chạy trên máy tính từ xa có tên 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 khả dụng, lỗi thời gian chạy sẽ 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 phiên bản của đối tượng đang chạy, một phiên bản mới sẽ được bắt đầu và một đối tượng của loại đã xác định 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à yêu cầu ứng dụng tải tệp, hãy sử dụng hàm GetObject .

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

Ví dụ

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

xlApp

) sang Excel. Hàm sử dụng tham chiếu để truy nhập vào thuộc tính Visible của Excel, rồi sử dụng phương pháp Thoát Excel để đóng thuộc tính này. 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.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

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

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

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

×