تخطي إلى المحتوى الرئيسي

الدالة CreateObject

ملاحظة: إننا نرغب في تزويدك بأحدث محتوى تعليمات لدينا بأسرع ما يمكن، وبلغتك الخاصة. وقد تمت ترجمة هذه الصفحة آلياً، وقد تحتوي على أخطاء نحوية أو أخطاء تتعلق بالدقة. إن هدفنا هو أن يكون هذا المحتوى مفيداً لك. هل يمكنك إخبارنا إذا ما كانت المعلومات مفيدة لك في أسفل هذه الصفحة؟ فيما يلي المقالة باللغة الإنجليزية لتكون مرجعاً سهلاً لك.

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

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

بناء الجملة

كرياتيوبجيكت ( class servername] )

يحتوي بناء جمله الدالة كرياتيوبجيكت علي الوسيطتين التاليتين:

الوسيطة

الوصف

فئة

مطلوبة. متغير (سلسله). اسم التطبيق والفئة الخاصة بالكائن المطلوب إنشاؤه.

servername

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


تستخدم الفئةوسيطة بناء الجملة أبنامي.أوبجيكتيبي وتحتوي علي الأجزاء التالية:

الجزء

الوصف

أبنامي

مطلوبة. متغير (سلسله). اسم التطبيق الذي يوفر الكائن.

أوبجيكتيبي

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


ملاحظات

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

لإنشاء كائن ActiveX ، قم بتعيين الكائن الذي يتم إرجاعه بواسطة كرياتيوبجيكت إلى متغير العنصر:

ملاحظة: الامثله التالية توضح استخدام هذه الدالة في الوحدة النمطية 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)

يمكن ان يوفر المرجع من خلال متغير الربط المبكر أداء أفضل ، ولكن يمكن ان يحتوي فقط علي مرجع لفئة المحدد في إعلان.

يمكنك تمرير كائن يتم إرجاعه بواسطة الدالة كرياتيوبجيكت إلى داله تتوقع كائنا كوسيطه. علي سبيل المثال ، تنشئ التعليمات البرمجية التالية مرجعا ويمرره إلى عنصر تطبيق Excel:

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

يمكنك إنشاء كائن علي كمبيوتر علي شبكه بعيده عن طريق تمرير اسم الكمبيوتر إلى الوسيطة servername ل كرياتيوبجيكت. هذا الاسم هو نفسه جزء اسم الجهاز في اسم المشاركة: لمشاركته باسم "\\MyServer\Public" ، ميسيرفير.

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

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

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

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

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

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

مثال

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

xlApp

) إلى Excel. يستخدم المرجع للوصول إلى الخاصية Visible ل 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.
تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider