مشاركة عبر


ضم VBA و تخصيصات من مستوى المستند

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

يمكنك استخدام Visual Basic للتعليمات البرمجية الخاصة بتطبيقات (VBA) في المستند و الذي هو جزء من تخصيص على مستوى المستند لــ Microsoft Office Word أو Microsoft Office Excel. يمكنك استدعاء تعليمات VBA البرمجية في المستند من تجميع التخصيص، أو يمكنك تكوين المشروع الخاص بك لتمكين تعليمات VBA البرمجية في المستند من استدعاء التعليمات البرمجية في تجميع التخصيص. لمزيد من المعلومات حول المهمة الأخيرة راجع استدعاء تعليمات برمجية في تخصيصات على مستوى المستند من VBA.

سلوك تعليمات VBA البرمجية في التخصيص على مستوى المستندات

عند فتح مشروعك في Visual Studio ، يتم فتح المستند في وضع التصميم. لا يتم تشغيل تعليمات VBA البرمجية عندما يكون المستند في وضع التصميم، فيمكنك العمل على المستند و كتابة التعليمات البرمجية بدون تشغيل تعليمات VBA البرمجية .

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

استدعاء التعليمات البرمجية VBA من تجميع التخصيص

يمكنك استدعاء وحدات الماكرو في مستندات Word و يمكنك استدعاء وحدات الماكرو والوظائف في مصنفات Excel. للقيام بذلك، استخدم إحدى الطريقتين التاليتين:

لكل أسلوب، المعلمة الأولى تعرّف اسم وحدة الماكرو أو الوظيفة التي تريد استدعاءها ثم تقوم المعلمات الاختيارية المتبقية بتحديد المعلمات لتمريرها إلى الماكرو أو الوظيفة . أول معلمة يمكن أن تحظى بتنسيقات مختلفة لـ Word و Excel:

  • بالنسبة لــ Word، المعلمة الأولى هي سلسلة يمكن أن تكون أية تركيبة من قالب أو وحدة نمطية أو اسم الماكرو. إذا قمت بتحديد اسم المستند , يمكن للتعليمات البرمجية الخاصة بك أن تقوم فقط بتشغيل وحدات الماكرو في المستندات ذات الصلة بالسياق الحالي — وليس فقط أي ماكرو في أي مستند.

  • في Excel، يمكن أن تكون المعلمة الأولى سلسلة تحدد اسم الماكرو ، أو Range تشير إلى مكان الدالة أو معرّف تسجيل لدالة (DLL (XLL مسجلة . إذا قمت بتمرير سلسلة ، يتم تقييم السلسلة في سياق الورقة النشطة.

يظهر مثال التعليمات البرمجية التالي كيفية استدعاء ماكرو باسم MyMacro من مشروع على مستوى المستند لـ Excel. يفترض هذا المثال أن MyMacro معرفة في Sheet1.

Globals.Sheet1.Application.Run("MyMacro")
Globals.Sheet1.Application.Run("MyMacro", missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing, 
    missing, missing, missing, missing, missing, missing);

ملاحظة

للحصول على معلومات حول استخدام متغير missing العمومي بدلاً من المعلمات الاختيارية في Visual C# ، راجع البرمجة باستخدام Visual Basic مقابل استخدام Visual C# في حلول Office.

راجع أيضًا:

المهام

كيفية القيام بما يلي: عرض التعليمة البرمجية إلى VBA في مشروع Visual Basic

كيفية القيام بما يلي: عرض التعليمة البرمجية إلى VBA في مشروع Visual C#‎

الإرشادات التفصيلية: استدعاء تعليمات برمجية من VBA في مشروع Visual Basic

الإرشادات التفصيلية: استدعاء تعليمات برمجية من VBA في مشروع #C

المبادئ

استدعاء تعليمات برمجية في تخصيصات على مستوى المستند من VBA

حلول VBA و Office في Visual Studio مقارنين

نظرة عامة حول التجميعات في حلول Office

موارد أخرى

تصميم و إنشاء حلول Office