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

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

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

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

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء مستند يحتوي على تعليمات VBA برمجية.

  • الثقة بموقع المستند باستخدام مركز التوثيق في Word.

  • إضافة أسلوب إلى فئة العنصر المضيف ThisDocument.

  • عرض الأسلوب إلى تعليمات VBA البرمجية.

  • استدعاء الأسلوب من تعليمات VBA البرمجية.

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

ارتباط إلى فيديو للحصول على عرض فيديو توضيحي ذي صلة، راجع كيف يمكنني القيام بما يلي: استدعاء تعليمات VSTO البرمجية من VBA؟.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Word 2007 أو Word 2010.

إنشاء مستند يحتوي على تعليمات VBA برمجية.

الخطوة الأولى إنشاء مستند مُمكن بماكرو يحتوي على ماكرو VBA بسيط. يجب أن يحتوي المستند على مشروع VBA قبل إنشاء مشروع Visual Studio يعتمد على ذلك المستند. خلاف ذلك، لا يمكن لـ Visual Studio تعديل مشروع VBA لتمكين تعليمات VBA البرمجية من استدعاء تجميع التخصيص.

إذا كان لديك بالفعل مستند يحتوي على تعليمات VBA البرمجية التي تريد استخدامها، يمكنك تخطي هذه الخطوة.

لإنشاء مستند يحتوي على تعليمات VBA البرمجية

  1. قم ببدء تشغيل Word.

  2. قم بحفظ المستند النشط كمستند Word مُمكن بماكرو (*.docm) باسم DocumentWithVBA. قم بحفظه في موقع ملائم، مثل سطح المكتب.

  3. انقر فوق علامة تبويب المطور على الشريط.

    ملاحظة

    في حالة عدم ظهور علامة التبويب المطور، يجب أولاً إظهاره. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إظهار علامة تبويب المطور على الشريط.

  4. في مجموعة التعليمات البرمجية، انقر على Visual Basic.

    يفتح محرر Visual Basic.

  5. في النافذة مشروع، قم بالنقر نقرًا مزدوجا على ThisDocument.

    يفتح ملف التعليمات البرمجية للكائن ThisDocument.

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

    Sub EmptySub()
    End Sub
    
  7. قم بحفظ المستند وإنهاء Word.

إنشاء المشروع

الآن يمكنك إنشاء مشروع على مستوى المستند لـ Word يستخدم مستند مُمكن بماكرو قمت بإنشائه مسبقًا.

لإنشاء أحد المشروعات الجديدة

  1. ابدأ Visual Studio.

  2. من القائمة File (ملف)، أشر إلى New (جديد)، ثم انقر فوق Project (مشروع). إذا كان الـ IDE الخاص بك معدا لاستخدام إعدادات تطوير Visual Basic ، على القائمة ملف انقر فوق مشروع جديد .

  3. في جزء القوالب، قم بتوسيع Visual Basic، ثم قم بتوسيع Office.

  4. قم بتحديد العقدة 2010 أو 2007.

  5. في قائمة قوالب المشروع، حدد مشروع مستند Word.

  6. على سبيل المثال، إذا كنت إنشاء مجموعة بيانات وتسميته بالعملاء، سيكون اسم _Customers في ذاكرة تخزين مؤقت.

  7. انقر فوق موافق.

    أدوات Visual Studio لمعالج مشروع Office تفتح.

  8. حدد نسخ مستند موجود، وفي مربع المسار الكامل لمستند موجود، حدد موقع المستند DocumentWithVBA الذي قمت بإنشائه سابقًا. في حالة استخدام مستندك المُمكن بماكرو، حدد موقع هذا المستند بدلًا من ذلك.

  9. انقر فوق Finish.

    Visual Studio يفتح المستند DocumentWithVBA في المصمم ويقوم بإضافة المشروع CallingCodeFromVBA إلى مستكشف الحلول.

الثقة بموقع المستند

قبل أن يمكنك عرض التعليمات البرمجية في حلك إلى تعليمات VBA البرمجية في المستند، يجب أن تثق بـ VBA في المستند ليمكن تشغيله. هناك عدة طرق للقيام بذلك. لهذا الإرشادات التفصيلية، امنح الثقة لموقع المستند في مركز التوثيق في Word.

للثقة بموقع المستند

  1. قم ببدء تشغيل Word.

  2. انقر فوق علامة التبويب ملف (لـ Word 2010) أو زر Microsoft Office (لـ Word 2007).

  3. انقر فوق زر خيارات Word.

  4. في جزء الفئات، انقر فوق مركز التوثيق.

  5. في جزء التفاصيل، انقر فوق إعدادات مركز التوثيق.

  6. في جزء الفئات، انقر فوق المواقع الموثوق بها.

  7. في جزء التفاصيل، انقر فوق إضافة موقع جديد.

  8. عندما تقوم باستخدام للوصول إلى هذا العنصر المخزن مؤقتاً، قم بتحديد _Customers بدلاً من العملاء.

  9. حدد المجلدات الفرعية لهذا الموقع الموثوق به أيضًا.

  10. في مربع الحوار موقع Microsoft Office الموثوق به، انقر فوق موافق.

  11. في مربع الحوار مركز التوثيق، انقر فوق موافق.

  12. في مربع الحوار خيارات Word، انقر فوق موافق.

  13. قم بإنهاء برنامج Word.

إضافة أسلوب إلى فئة ThisDocument.

والآن بعد أن يتم إعداد مشروع VBA، قم بإضافة أسلوب إلى فئة عنصر المضيف ThisDocument التي يمكن استدعاؤها من تعليمات VBA البرمجية.

لإضافة أسلوب إلى فئة ThisDocument

  1. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق ThisDocument.vb، ثم انقر فوق عرض التعليمات البرمجية.

    يفتح ملف ThisDocument.vb في محرر التعليمات البرمجية.

  2. قم بإضافة الأسلوب التالي إلى الفئة ThisDocument . يقوم هذا الأسلوب بإنشاء جدول بصفين وعمودين في بداية المستند. تقوم المعلمات بتحديد النص الذي يتم عرضه في الصف الأول. لاحقًا في هذه الإرشادات التفصيلية، سيتم استدعاء هذا الأسلوب من تعليمات VBA البرمجية في المستند.

    Public Sub CreateTable(ByVal firstColumnHeader As String, _
        ByVal secondColumnHeader As String)
    
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim table1 As Word.Table = Me.Tables.Add(Me.Paragraphs(1).Range, 2, 2)
    
        With table1
            .Style = "Table Professional"
            .Cell(1, 1).Range.Text = firstColumnHeader
            .Cell(1, 2).Range.Text = secondColumnHeader
        End With
    End Sub
    
  3. إنشاء المشروع.

عرض الأسلوب إلى تعليمات VBA البرمجية.

لعرض الأسلوب CreateTable إلى تعليمات VBA البرمجية في المستند، قم بتعيين الخاصية EnableVbaCallers للعنصر المضيف ThisDocument إلى True.

لعرض الأسلوب إلى تعليمات VBA البرمجية.

  1. في مستكشف الحلول، انقر نقرًا مزدوجًا فوق ThisDocument.vb.

    يتم فتح الملف DocumentWithVBA في المصمم.

  2. في نافذة الخصائص، حدد الخاصية EnableVbaCallers، ثم قم بتغيير القيمة إلى True.

  3. انقر فوق موافق في الرسالة المعروضة

  4. إنشاء المشروع.

استدعاء الأسلوب من تعليمات VBA البرمجية.

يمكنك الآن استدعاء الأسلوب CreateTable من تعليمات VBA البرمجية في المستند.

ملاحظة

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

لاستدعاء الأسلوب من تعليمات VBA البرمجية.

  1. اضغط F5 لتشغيل مشروعك.

  2. على علامة التبويب المطور، في مجموعة التعليمات البرمجية، انقر فوق Visual Basic.

    يفتح محرر Visual Basic.

  3. من القائمة Insert (إدراج)، انقر فوق Module (وحدة نمطية).

  4. قم بإضافة التعليمات البرمجية التالية إلى الوحدة النمطية الجديدة:

    تستدعي هذه التعليمات البرمجية الأسلوب CreateTable في تجميع التخصيص. يتصل الماكرو بهذا الأسلوب باستخدام الخاصية CallVSTOAssembly من الكائن ThisDocument. تم إنشاء هذه الخاصية تلقائيًا عند تعيين الخاصية EnableVbaCallers كما بيّنا مسبقًا في هذه الإرشادات التفصيلية.

    Sub CreateTable()
        Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date")
    End Sub
    
  5. اضغط F5.

  6. تحقق من أنه تم إضافة جدول جديد إلى المستند.

  7. قم بإنهاء Word دون حفظ التغييرات.

الخطوات التالية

يمكنك معرفة المزيد حول استدعاء تعليمات برمجية في حلول Office من VBA في هذه المواضيع:

راجع أيضًا:

المهام

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

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

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

موارد أخرى

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

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