ฟังก์ชัน CreateObject

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

หมายเหตุ: ฟังก์ชัน วิธี วัตถุ หรือคุณสมบัติตามที่อธิบายในหัวข้อนี้ถูกปิดใช้งานถ้าบริการ Microsoft Jet นิพจน์กำลังทำงานในโหมด sandbox ซึ่งทำให้การประเมินนิพจน์ที่อาจไม่ปลอดภัย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด sandbox ค้นหา "โหมด sandbox" ในวิธีใช้

สร้าง และส่งกลับการอ้างอิงไปยังวัตถุ ActiveX

ไวยากรณ์

CreateObject ( คลาส [ servername] )

ไวยากรณ์ของฟังก์ชันCreateObjectมีอาร์กิวเมนต์ต่อไปนี้:

อาร์กิวเมนต์

คำอธิบาย

ชั้นเรียน

ต้องระบุ ตัวแปร (สตริง) ชื่อแอปพลิเคชันและคลาสของวัตถุเพื่อสร้าง

ชื่อเซิร์ฟเวอร์

เพิ่มเติม ตัวแปร (สตริง) ชื่อของเซิร์ฟเวอร์เครือข่ายที่จะสร้างวัตถุ ถ้าservernameเป็นสตริงว่างเปล่า (""), จะถูกใช้ในคอมพิวเตอร์


คลา อาร์กิวเมนต์ ใช้ไวยากรณ์ชเดี่ยว.objecttypeและมีส่วนต่อไปนี้:

ส่วน

คำอธิบาย

ชเดี่ยว

ต้องระบุ ตัวแปร (สตริง) ชื่อของแอปพลิเคชันให้วัตถุ

objecttype

ต้องระบุ ตัวแปร (สตริง) ชนิดหรือคลาส ของวัตถุเพื่อสร้าง


ข้อสังเกต

ทุกแอปพลิเคชันที่สนับสนุน automation มีอย่างน้อยหนึ่งชนิดของวัตถุ ตัวอย่างเช่น แอปพลิเคชันการประมวลผล word อาจมีวัตถุแอปพลิเคชันวัตถุเอกสารและวัตถุในแถบเครื่องมือ

เมื่อต้องการสร้างวัตถุ ActiveX กำหนดวัตถุถูกส่งกลับโดยCreateObjectแอตัวแปรวัตถุ:

หมายเหตุ: ตัวอย่างที่ติดตามสาธิตการใช้ฟังก์ชันนี้ใน Visual Basic for Applications (VBA) มอดูล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ VBA เลือกอ้างอิงสำหรับนักพัฒนา ในรายการดรอปดาวน์ถัดจากค้นหา และใส่เงื่อนไขอย่าง น้อยหนึ่งในกล่องค้นหา

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

โค้ดนี้เริ่มแอปพลิเคชันสร้างวัตถุ ในกรณีนี้Microsoft Office Excel 2007 สเปรดชีต เมื่อวัตถุถูกสร้างขึ้น คุณอ้างอิงได้โดยใช้ตัวแปรวัตถุที่คุณกำหนดเอง ในตัวอย่างต่อไปนี้ คุณเข้าถึงคุณสมบัติและวิธีการใช้ตัวแปรวัตถุExcelSheetและ วัตถุอื่น ๆ ที่ Excel ตลอดจนวัตถุApplicationคอลเลกชัน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

การประกาศข้อมูลในตัวแปรวัตถุกับส่วนคำสั่งAs Objectสร้างตัวแปรที่สามารถประกอบด้วยการอ้างอิงไปยังชนิดของวัตถุ อย่างไรก็ตาม การเข้าถึงวัตถุเพื่อไปแต่ละตัวแปรที่ล่าช้าผูก นั่นคือ การผูกเกิดขึ้นเมื่อมีการเรียกใช้โปรแกรมของคุณ เมื่อต้องการสร้างตัวแปรวัตถุที่มีผลรวมก่อนหน้า นั่นคือ ผูกเมื่อมีการคอมไพล์โปรแกรม ประกาศตัวแปรวัตถุกับ id คลาสที่เฉพาะเจาะจง ตัวอย่างเช่น คุณสามารถประกาศ และสร้างการอ้างอิง Excel ต่อไปนี้:

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)

การอ้างอิงถึงตัวแปรผูกล่วงหน้าสามารถให้ประสิทธิภาพดียิ่งขึ้น แต่สามารถประกอบด้วยการอ้างอิงถึงคลาส ที่ระบุในการประกาศ เท่านั้น

คุณสามารถส่งผ่านวัตถุที่ถูกส่งกลับ โดยฟังก์ชันCreateObjectรอรับวัตถุเป็นอาร์กิวเมนต์ของฟังก์ชัน ตัวอย่างเช่น โค้ดต่อไปนี้สร้าง และส่งต่อการอ้างอิงไปยังวัตถุ Excel.Application:

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

คุณสามารถสร้างวัตถุบนคอมพิวเตอร์ระยะไกลเครือข่าย ด้วยส่งผ่านชื่อของคอมพิวเตอร์ไปยังอาร์กิวเมนต์servernameของCreateObject ชื่อนั้นจะเหมือนกับส่วนชื่อเครื่องของชื่อที่ใช้ร่วม: สำหรับการใช้ร่วมกันที่มีชื่อว่า "\\MyServer\Public", servernameคือ "MyServer"

หมายเหตุ: อ้างอิงเอกสาร COM (ให้ดูที่Microsoft นักพัฒนา Network) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำให้แอปพลิเคชันสามารถมองเห็นได้บนคอมพิวเตอร์ระยะไกลเครือข่าย คุณอาจต้องเพิ่มคีย์รีจิสทรีสำหรับแอปพลิเคชันของคุณ

โค้ดต่อไปนี้ส่งกลับหมายเลขเวอร์ชันของอินสแตนซ์ของ Excel กำลังทำงานบนคอมพิวเตอร์ระยะไกลชื่อMyServer:

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

ถ้าเซิร์ฟเวอร์ระยะไกลไม่มีอยู่ หรือไม่พร้อมใช้งาน เป็นข้อผิดพลาดเกิดขึ้น

หมายเหตุ: ใช้CreateObjectเมื่อไม่มีอินสแตนซ์ปัจจุบันของวัตถุ ถ้าคุณกำลังทำงานอินสแตนซ์ของวัตถุ เริ่มอินสแตนซ์ใหม่ และวัตถุของชนิดที่ระบุจะถูกสร้างขึ้น เมื่อต้อง การใช้กับอินสแตนซ์ปัจจุบัน หรือเมื่อต้องการเริ่มแอปพลิเคชัน และเตรียมไว้โหลดไฟล์ ใช้ฟังก์ชันGetObject

ถ้าวัตถุได้ลงทะเบียนเองก็เป็นวัตถุเดี่ยวสแตนซ์ อินสแตนซ์เดียวของวัตถุไว้ เพียงไม่กี่ครั้งCreateObjectจะดำเนินการ

ตัวอย่าง

ตัวอย่างนี้ใช้ฟังก์ชันCreateObjectเพื่อตั้งค่า(การอ้างอิง

xlApp

) ไปยัง Excel จะใช้การอ้างอิงถึงคุณสมบัติมองเห็นได้ของ Excel และใช้เมธอด Excel Quitเพื่อปิดแล้ว ต้องนำการอ้างอิงตัวสุดท้าย

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.

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×