الدالة CreateObject

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ملاحظة

يتم تعطيل الوظيفة أو الطريقة أو العنصر أو الخاصية الموضحة في هذا الموضوع إذا كانت خدمة Microsoft Jet Expression Service قيد التشغيل في وضع الحماية، مما يمنع تقييم التعبيرات التي يحتمل أن تكون غير آمنة. لمزيد من المعلومات حول وضع الحماية، ابحث عن "وضع الحماية" في "تعليمات".

ينشئ مرجعا ويرجعه إلى كائن ActiveX.

بناء الجملة

CreateObject(class [, servername] )

يحتوي بناء جملة الدالة CreateObject على الوسيطات التالية:

الوسيطة الوصف
فئة مطلوبة. المتغير (سلسلة). اسم التطبيق وفئته للعنصر المطلوب إنشاؤه.
اسم الخادم اختيارية. المتغير (سلسلة). اسم خادم الشبكة حيث سيتم إنشاء العنصر. إذا كان servername عبارة عن سلسلة فارغة ("")، فسيتم استخدام الكمبيوتر المحلي.

    

تستخدم وسيطة الفئةبناء الجملة appname.objecttype وتتضمن الأجزاء التالية:

الجزء الوصف
اسم التطبيق مطلوبة. المتغير (سلسلة). اسم التطبيق الذي يوفر العنصر.
نوع العنصر مطلوبة. المتغير (سلسلة). نوع الكائن المطلوب إنشاؤه أو فئته.

    

ملاحظات

يوفر كل تطبيق يدعم التنفيذ التلقائي نوعا واحدا على الأقل من العناصر. على سبيل المثال، قد يوفر تطبيق معالجة الكلمات عنصر تطبيق وعنصر مستند وعنصر شريط أدوات .

لإنشاء عنصر 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")

في هذا المثال، سنقوم بأتمتة عنصر جدول بيانات Excel من داخل قاعدة بيانات Access. تبدأ هذه التعليمة البرمجية التطبيق في إنشاء العنصر، وفي هذه الحالة، جدول بيانات Microsoft Excel. بمجرد إنشاء كائن ، يمكنك الإشارة إليه في تعليمات برمجية باستخدام متغير العنصر الذي حددته. في المثال التالي، يمكنك الوصول إلى خصائص العنصر الجديد وأساليبه باستخدام متغير العنصر، 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 إلى إنشاء متغير يمكن أن يحتوي على مرجع لأي نوع من أنواع العناصر. ومع ذلك ، فإن الوصول إلى الكائن من خلال هذا المتغير يكون متأخرا. أي أن الربط يحدث عندما يتم تشغيل البرنامج. لإنشاء متغير كائن ينتج عنه ربط مبكر، أي الربط عند التحويل البرمجي للبرنامج، قم بالإعلان عن متغير العنصر باستخدام معرف فئة معين. على سبيل المثال، يمكنك الإعلان عن مراجع 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"، يكون اسم الخادم هو "MyServer".

ملاحظة

راجع وثائق COM (راجع شبكة مطوري Microsoft) للحصول على معلومات إضافية حول جعل أحد التطبيقات مرئيا على جهاز كمبيوتر بعيد متصل بالشبكة. قد تضطر إلى إضافة مفتاح تسجيل للتطبيق الخاص بك.

ترجع التعليمة البرمجية التالية رقم الإصدار لمثيل Excel يتم تشغيله على كمبيوتر بعيد باسم MyServer:

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

إذا لم يكن الخادم البعيد موجودا أو غير متوفر، يحدث خطأ في وقت التشغيل.

ملاحظة

استخدم CreateObject عند عدم وجود مثيل حالي للعنصر. إذا كان مثيل الكائن قيد التشغيل بالفعل، يتم بدء تشغيل مثيل جديد، ويتم إنشاء كائن من النوع المحدد. لاستخدام المثيل الحالي، أو لبدء تشغيل التطبيق وتحميله لملف، استخدم الدالة GetObject .

إذا قام كائن بتسجيل نفسه ككائن مثيل واحد، يتم إنشاء مثيل واحد فقط من الكائن بغض النظر عن عدد المرات التي يتم فيها تنفيذ CreateObject .

مثال

يستخدم هذا المثال الدالة CreateObject لتعيين مرجع (

xlApp

) إلى Excel. وتستخدم المرجع للوصول إلى الخاصية "مرئي " في Excel، ثم تستخدم طريقة إنهاء Excel لإغلاقها. وأخيرا، يتم إصدار المرجع نفسه.

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.