CreateObject في VBA | كيفية استخدام دالة CreateObject في VBA؟

دالة CreateObject في VBA

تعتبر الكائنات مفاهيم مهمة جدًا في ترميز VBA وفهم أن نموذج عمل الكائن معقد للغاية. عندما نشير إلى الكائنات في تشفير VBA ، فإننا نقوم بذلك بطريقتين ، مثل "الربط المبكر" و "الربط المتأخر". "الربط المبكر" هي عملية تعيين مرجع الكائن من مكتبة مراجع VBA وعندما نرسل الملف إلى شخص آخر ، فإنهم يطلبون أيضًا تعيين المرجع إلى تلك الكائنات ذات الصلة. ومع ذلك ، فإن "الربط المتأخر" لا يتطلب من المستخدم تعيين أي مراجع للكائنات لأنه في الترميز المتأخر للربط ، قمنا بتعيين المرجع إلى الكائن المعني باستخدام وظيفة VBA “CreateObject”.

ما هو CreateObject في Excel VBA؟

"إنشاء كائن" كما يقول الاسم نفسه ، سيتم إنشاء الكائن المذكور من Excel VBA. لذلك ، تقوم وظيفة إنشاء كائن بإرجاع المرجع إلى كائن بدأه مكون Active X.

يوجد أدناه بناء جملة الدالة CreateObject في VBA

  • Class: اسم الكائن الذي نحاول استهلاله وتعيين المرجع إلى المتغير.
  • [اسم الخادم]: هذه معلمة اختيارية ، إذا تم تجاهلها فسوف تستخدم الجهاز المحلي فقط.

مثال على إنشاء دالة كائن في Excel VBA

فيما يلي أمثلة VBA CreateObject.

يمكنك تنزيل قالب VBA CreateObject Excel هذا هنا - قالب VBA CreateObject Excel

مثال 1

سنرى الآن كيفية بدء تطبيق PowerPoint من Excel باستخدام وظيفة CreateObject في VBA. افتح ملف Excel وانتقل إلى نافذة محرر Visual Basic بالضغط على مفتاح ALT + F11 .

رمز:

 CreateObject_Example1 () الفرعي End Sub 

قم بتعريف المتغير كـ PowerPoint.Application.

كما ترى أعلاه ، عندما نبدأ في كتابة كلمة "PowerPoint" ، لا نرى أي قائمة حساسة تظهر عمليات البحث ذات الصلة ، وذلك لأن "PowerPoint" هو كائن خارجي. ولكن لا داعي للقلق يعلن المتغير "كائن".

رمز:

 CreateObject_Example1 () خافت PPT كـ Object End Sub 

نظرًا لأننا أعلنا المتغير على أنه "كائن" ، نحتاج إلى تعيين المرجع إلى الكائن باستخدام الكلمة الأساسية "Set". بإدخال الكلمة الأساسية "Set" اذكر المتغير وضع علامة التساوي.

رمز:

 CreateObject_Example1 () خافت PPT ككائن مجموعة PPT = End Sub 

افتح الآن وظيفة CreateObject.

نظرًا لأننا نشير إلى الكائن الخارجي لـ "PowerPoint" لمعلمة "Class" لوظيفة إنشاء كائن ، فذكر اسم الكائن الخارجي في علامات الاقتباس المزدوجة باسم "PowerPoint.Application".

رمز:

 CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub 

الآن ستقوم وظيفة إنشاء كائن ببدء تطبيق PowerPoint. بمجرد بدء الكائن ، نحتاج إلى جعله مرئيًا باستخدام اسم المتغير.

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

بالنسبة للمتغير "PPT" ، استخدم خاصية "مرئي" واضبط الحالة على "True".

رمز:

 CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

لإضافة شريحة إلى PPT ، حدد رمز VBA السطر أدناه.

رمز:

 CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

قم الآن بتنفيذ الكود يدويًا أو من خلال المفتاح F5 وشاهد تطبيق "PowerPoint" يفتح.

بمجرد تمكين تطبيق PowerPoint باستخدام المتغير "PPT" ، يمكننا البدء في الوصول إلى تطبيق PowerPoint.

المثال رقم 2

سنرى الآن كيفية بدء تطبيق Excel باستخدام وظيفة CreateObject في VBA. أعلن المتغير مرة أخرى على أنه "كائن".

رمز:

 CreateObject_Example2 () قم بتعتيم ورقة Excel على هيئة كائن End Sub 

في اللحظة التي نعلن فيها عن المتغير ككائن ، يتسبب ذلك في حدوث ارتباط متأخر ونحتاج إلى استخدام الكلمة الأساسية "Set" لتعيين المرجع للكائن المطلوب.

نظرًا لأننا نشير إلى ورقة عمل Excel من تطبيق Excel ، أدخل "Excel.Sheet" بين علامتي اقتباس.

رمز:

 CreateObject_Example2 () قم بتعتيم ورقة Excel ككائن مجموعة ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

بمجرد تعيين مرجع ورقة Excel ، نحتاج إلى جعلها مرئية لاستخدامها. هذا مشابه لكيفية جعلنا تطبيق PowerPoint مرئيًا.

رمز:

 CreateObject_Example2 () قم بتعتيم ورقة Excel ككائن مجموعة ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

الآن سيتم تنشيط ورقة عمل Excel.

وبالمثل لبدء مصنف Excel من منتجات Microsoft الأخرى ، يمكننا استخدام الكود أدناه.

رمز:

 CreateObject_Example3 () Dim ExlWb ككائن مجموعة ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub 

أشياء يجب تذكرها حول CreateObject في VBA

  • في VBA ، يتم استخدام الدالة CreateObject للإشارة إلى الكائنات.
  • تؤدي وظيفة إنشاء كائن إلى عملية ربط متأخر.
  • باستخدام وظيفة إنشاء الكائن ، لا يمكننا الوصول إلى قائمة التحسس الخاصة بـ VBA.

$config[zx-auto] not found$config[zx-overlay] not found