كيفية إنشاء وإدراج الأشكال في PowerPoint باستخدام VBA؟

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

فقط للتلخيص ، قبل البدء في تطوير ماكرو VBA في PowerPoint ، تحتاج إلى تمكين علامة تبويب التطوير الخاصة بك .

أولاً ، لنبدأ بإنشاء عرض تقديمي تلقائيًا مع بعض الشرائح كما هو موضح في هذا البرنامج التعليمي: إنشاء عرض تقديمي في VBA .

الآن يمكننا البدء في العمل مع الأشكال. أولاً ، دعنا نمضي قدمًا ونفتح محرر VBA بالضغط على Alt + F11 ، إذا اتبعت البرنامج التعليمي السابق ، فيجب أن يكون لديك الوحدة 1 في قائمة الوحدات (كما هو موضح أدناه)

العمل مع الأشكال باستخدام VBA

إضافة مربع نص باستخدام فبا

سنبدأ بإضافة مربع نص عمودي إلى الشريحة الأولى في العرض التقديمي. أضف التعليمات البرمجية التالية إلى Module1 ، ثم امض قدمًا واضغط على زر حفظ (Ctrl + s) وقم بتشغيل الماكرو (اضغط على F5 أو اضغط على Run Sub / User Form).

Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)

    With MySlide.Shapes
        .AddTextbox(Orientation:=msoTextOrientationVertical, _
         Left:=90, Top:=200, Width:=80, _
         Height:=200).TextFrame.TextRange.Text _
        = ("This is my vertical text box")

End With

End Sub

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

Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)

'Add your required dimensions as needed below
   With MyShape
         .Width = 200
         .Height = 35

End With
End Sub

تأثيرات النص مع VBA

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

Sub SetEffects()

Dim i As Integer

For i = 1 To ActivePresentation.Slides.Count
    ActivePresentation.Slides(i) _
    .Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
    "Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next

End Sub

ها هي النتيجة ؛-):

كيفية إنشاء وإدراج الأشكال في PowerPoint باستخدام VBA؟

لاحظ أنه يمكنك أيضًا استخدام علامة مائية بسيطة لتحقيق هذه النتيجة المحددة.

وسائل شرح PowerPoint مع VBA

سيكون المثال التالي هو إضافة وسائل شرح إلى العرض التقديمي الخاص بك. في هذا المثال سنضيف وسيلة شرح للشريحة الثانية.

Sub CreateCallout()

ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _  Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"

End Sub

تحديد خصائص الشكل

لا يتم تعيين العديد من خصائص تنسيق الأشكال بواسطة الخصائص التي تنطبق مباشرة على  كائن الشكل  أو  ShapeRange  . بدلاً من ذلك، يتم تجميع سمات الشكل ذات الصلة ضمن كائنات ثانوية، مثل  كائن FileFormat  ، الذي يحتوي على كافة الخصائص المرتبطة بتعبئة الشكل، أو  كائن LinkFormat  ، الذي يحتوي على كافة الخصائص الفريدة لكائنات OLE المرتبطة. لتعيين خصائص الشكل، يجب عليك أولاً إرجاع الكائن الذي يمثل مجموعة سمات الشكل ذات الصلة ثم تعيين خصائص ذلك الكائن الذي تم إرجاعه. على سبيل المثال، يمكنك استخدام  خاصية التعبئة  لإرجاع  كائن FileFormat  ، ثم تقوم بتعيين  خاصية ForeColor  لكائن  fillFormat  لتعيين لون تعبئة المقدمة للشكل المحدد، كما هو موضح في المثال التالي.

VB

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

تطبيق خاصية أو أسلوب على عدة أشكال في نفس الوقت

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

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

  • إذا كانت العملية تعمل على عدة أشكال محددة في واجهة المستخدم، فيمكنك إجراء نفس العملية في Visual Basic عن طريق إنشاء  مجموعة ShapeRange  التي تحتوي على الأشكال التي تريد العمل معها، وتطبيق الخصائص والأساليب المناسبة مباشرة على  مجموعة ShapeRange  .

  • إذا لم تنجح العملية على عدة أشكال محددة في واجهة المستخدم، فلا يزال بإمكانك تنفيذ العملية في Visual Basic عن طريق التكرار عبر مجموعة  الأشكال  أو عبر  مجموعة ShapeRange  التي تحتوي على الأشكال التي تريد العمل معها، وتطبيق الخصائص المناسبة وطرق  كائنات الشكل الفردية  في المجموعة.

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

تطبيق خاصية أو أسلوب على مجموعة ShapeRange

إذا كان بإمكانك تنفيذ عملية على أشكال محددة متعددة في واجهة المستخدم في نفس الوقت، فيمكنك إجراء المعادل البرمجي عن طريق إنشاء  مجموعة ShapeRange  ثم تطبيق الخصائص أو الأساليب المناسبة عليها. ينشئ المثال التالي نطاق شكل يحتوي على الأشكال التلقائية المسماة "Big Star" و"Little Star" ويطبق تعبئة متدرجة عليها ويطبق تعبئة متدرجة عليها.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
Set myRange = myDocument.Shapes _ 
    .Range(Array("Big Star", "Little Star")) 
myRange.Fill.PresetGradient msoGradientHorizontal, _ 
    1, msoGradientBrass

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

  • إن تطبيق أسلوب على المجموعة يعادل تطبيق الأسلوب على كل  كائن شكل فردي  في تلك المجموعة.

  • إن تعيين قيمة خاصية المجموعة يعادل تعيين قيمة خاصية كل شكل فردي في هذا النطاق.

  • خاصية المجموعة التي ترجع ثابتًا تقوم بإرجاع قيمة الخاصية لشكل فردي في المجموعة إذا كانت كافة الأشكال في المجموعة لها نفس القيمة لتلك الخاصية. إذا لم تكن كافة الأشكال الموجودة في المجموعة لها نفس قيمة الخاصية، فسيتم إرجاع الثابت "المختلط".

  • إحدى خصائص المجموعة التي تُرجع نوع بيانات بسيطًا (مثل  Long أو  Single أو  String ) تُرجع قيمة الخاصية لشكل فردي إذا كانت جميع الأشكال في المجموعة لها نفس القيمة لتلك الخاصية.

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

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

التكرار عبر مجموعة الأشكال أو ShapeRange

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

VB

Set myDocument = ActivePresentation.Slides(1) 
For Each sh In myDocument.Shapes 
    If sh.Type = msoAutoShape Then 
        sh.TextFrame.TextRange.InsertAfter " (version 1)" 
    End If 
Next

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

VB

For Each sh in ActiveWindow.Selection.ShapeRange
    If sh.HasTextFrame Then
        sh.TextFrame.TextRange = "Initially selected"
    End If
Next

محاذاة الأشكال وتوزيعها وتجميعها في نطاق الشكل

استخدم  أساليب المحاذاة  والتوزيع  لوضع مجموعة من  الأشكال بالنسبة لبعضها البعض أو بالنسبة للمستند الذي يحتوي عليها. استخدم  أسلوب المجموعة  أو  أسلوب إعادة التجميع  لتكوين شكل مجمع واحد من مجموعة من الأشكال.

اترك تعليقاً

قائمة تحقق قابلة للطباعة لتخطيط الفعاليات وقالب ميزانية لبرنامج Word

قائمة تحقق قابلة للطباعة لتخطيط الفعاليات وقالب ميزانية لبرنامج Word

استخدم قائمة التحقق القابلة للطباعة لتخطيط الفعاليات وقالب الميزانية في Word لتتبع المسؤولين، والمواعيد النهائية، والتكاليف، والموردين، وجاهزية يوم الفعالية مع فحوصات جودة واضحة.

كيفية إصلاح عدم احتساب معادلات Excel تلقائيًا في 3 خطوات سهلة

كيفية إصلاح عدم احتساب معادلات Excel تلقائيًا في 3 خطوات سهلة

أصلح معادلات Excel التي لا تُحتسب تلقائيًا في ثلاث خطوات: استعادة وضع الحساب، فرض إعادة الحساب، وإصلاح المعادلات المنسقة كنص.

قالب جدول تنظيف أسبوعي قابل للطباعة لمضيفي Airbnb (Word و PDF)

قالب جدول تنظيف أسبوعي قابل للطباعة لمضيفي Airbnb (Word و PDF)

استخدم جدول التنظيف الأسبوعي القابل للطباعة هذا لاستضافة Airbnb لتنظيم عمليات التبديل، والتنظيف الدوري، وإعادة التخزين، والفحوصات، والتسليم من Word إلى PDF.

قالب سجل صيانة المعدات في Excel لمديري الورش: دليل إعداد من 4 خطوات

قالب سجل صيانة المعدات في Excel لمديري الورش: دليل إعداد من 4 خطوات

أنشئ سجل صيانة معدات عمليًا في Excel لمديري الورش، يتضمن معرفات الأصول، سجل الخدمة، مواعيد الاستحقاق، ضوابط الحالة، تتبع التوقف عن العمل، وقائمة تدقيق نهائية.

قالب عرض تقديمي لملف تعريف المستثمرين بأسلوب بسيط لبرنامج باوربوينت للشركات الناشئة في مجال التكنولوجيا: مخطط عملي من 12 شريحة

قالب عرض تقديمي لملف تعريف المستثمرين بأسلوب بسيط لبرنامج باوربوينت للشركات الناشئة في مجال التكنولوجيا: مخطط عملي من 12 شريحة

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

قالب عرض بوربوينت مجاني لقوائم العقارات الحديثة: مخطط عملي لعرض البائع

قالب عرض بوربوينت مجاني لقوائم العقارات الحديثة: مخطط عملي لعرض البائع

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

HubSpot Free CRM مقابل Zoho CRM: الخيار الأفضل للوسطاء العقاريين المستقلين في عام 2026

HubSpot Free CRM مقابل Zoho CRM: الخيار الأفضل للوسطاء العقاريين المستقلين في عام 2026

قارن بين HubSpot Free CRM و Zoho CRM للوسطاء العقاريين المستقلين، بما في ذلك جهات الاتصال، وخطوط المعاملات، والأتمتة، والتخصيص، وجدولة المواعيد، والحدود، ومحفزات الترقية.

كيفية إصلاح مشكلة عدم عمل الصوت في تسجيل شاشة PowerPoint على Windows

كيفية إصلاح مشكلة عدم عمل الصوت في تسجيل شاشة PowerPoint على Windows

أصلح تسجيلات شاشة PowerPoint الصامتة من خلال التحقق من عنصر التحكم في الصوت، وأذونات الميكروفون في Windows، وجهاز الإدخال النشط، وتوقعات صوت النظام، وتحديثات Office.

قالب PDF قابل للطباعة لحجز الوقت اليومي للمحترفين العاملين من المنزل: دليل للمبتدئين

قالب PDF قابل للطباعة لحجز الوقت اليومي للمحترفين العاملين من المنزل: دليل للمبتدئين

استخدم قالب PDF قابل للطباعة لحجز الوقت اليومي لتخطيط ساعات العمل المركّز، والاجتماعات، والاستراحات، والمهام الإدارية، وهوامش الأمان الواقعية دون إرهاق يومك.

قالب عرض تقديمي مجاني لتقرير حالة المشروع لفرق الأجايل

قالب عرض تقديمي مجاني لتقرير حالة المشروع لفرق الأجايل

أنشئ عرضًا تقديميًا موجزًا لتقرير حالة مشروع الأجايل يتضمن أهداف السبرنت، والنتائج، والمخاطر، وإشارات الجودة، والقرارات، والخطوات التالية—دون تحويل العرض إلى مجرد قائمة مهام غير منظمة.