الزنجبيل 2.7.53.0
Ginger هو مدقق إملائي ونحوي مجاني.
قبل يومين ، كنت أرغب في أتمتة المهمة العادية لإنشاء بعض شرائح 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
سيكون المثال التالي هو إضافة وسائل شرح إلى العرض التقديمي الخاص بك. في هذا المثال سنضيف وسيلة شرح للشريحة الثانية.
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 ثم تطبيق الخصائص أو الأساليب المناسبة عليها. ينشئ المثال التالي نطاق شكل يحتوي على الأشكال التلقائية المسماة "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 التي تحتوي على الأشكال التي تريدها تريد العمل مع الخصائص والأساليب المناسبة وتطبيقها على كائنات الشكل الفردية في المجموعة. يتنقل المثال التالي عبر كافة الأشكال ويضيف نصًا إلى كل شكل يمثل شكلاً تلقائيًا. ويضيف نصًا إلى كل شكل يمثل شكلاً تلقائيًا.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
استخدم أساليب المحاذاة والتوزيع لوضع مجموعة من الأشكال بالنسبة لبعضها البعض أو بالنسبة للمستند الذي يحتوي عليها. استخدم أسلوب المجموعة أو أسلوب إعادة التجميع لتكوين شكل مجمع واحد من مجموعة من الأشكال.
Ginger هو مدقق إملائي ونحوي مجاني.
Blocks هي لعبة فكرية لطلاب الصف الثالث الابتدائي لممارسة مهارات الكشف والعين الخاصة بهم ويتم تضمينها من قبل المعلمين في برنامج دعم تدريس تكنولوجيا المعلومات.
Prezi هو تطبيق مجاني يسمح لك بإنشاء عروض تقديمية رقمية، سواء عبر الإنترنت أو دون الاتصال بالإنترنت.
Mathway هو تطبيق مفيد للغاية يمكنه مساعدتك في حل جميع المسائل الرياضية التي تتطلب أداة أكثر تعقيدا من الآلة الحاسبة المدمجة في جهازك.
Adobe Presenter هو برنامج للتعليم الإلكتروني تم إصداره بواسطة Adobe Systems ومتوفر على نظام Microsoft Windows الأساسي كمكون إضافي لـ Microsoft PowerPoint.
الطوقان هي منصة التكنولوجيا التعليمية. فهو يسمح لك بتعلم لغة جديدة أثناء تصفح مواقع الويب اليومية الشائعة.
eNetViet هو تطبيق يساعد على ربط أولياء الأمور بالمدرسة التي يدرس فيها أطفالهم حتى يتمكنوا من فهم الوضع التعليمي الحالي لأطفالهم بوضوح.
Duolingo - تعلم اللغات مجانًا، أو Duolingo ببساطة، هو برنامج تعليمي يسمح لك بتعلم وممارسة العديد من اللغات المختلفة.
RapidTyping هي أداة تدريب مريحة وسهلة الاستخدام على لوحة المفاتيح ستساعدك على تحسين سرعة الكتابة وتقليل الأخطاء الإملائية. من خلال الدروس المنظمة للعديد من المستويات المختلفة، ستعلمك RapidTyping كيفية الكتابة أو تحسين المهارات الموجودة.
MathType هو برنامج معادلة تفاعلي من مطور Design Science (Dessci)، والذي يسمح لك بإنشاء وتعليق تدوين رياضي لمعالجة النصوص والعروض التقديمية والتعليم الإلكتروني وما إلى ذلك. يستخدم هذا المحرر أيضًا لإنشاء مستندات TeX وLaTeX وMathML.