السلام عليكم ورحمة الله وبركاته
أود أن أضيف دروس عن الAutomation وذلك لقلت المواضيع عنها و أهميتها داخل فيجوال بيسك وأسأل الله أن تكون ذو فائدة لكم
بسم الله نبدأ
ملاحظة هامة جدا : إصدار الأوفيس لدي 2003 يعني المكتبة إلي مضمنها هيا Microsoft Word 11.0 إلي ما عنده 2003 يستبدلها بأقدم ( شرحي يفضل استخدام 8.0 ( وبالنسبة إلى Excel و PowerPoint نفس الشيء , والمثال الأول من Word لا يحتاج إلى كتبة أما باقي الأمثلة كلها تحتاج إلى مكتباتها .
الدرس الأول: مدخل إلى الAutomation
الكثير منا يسمع عن الAutomation ولابد أنك استخدمت عملية الAutomation من قبل إذن ما هي الAutomation : هي عبارة عن ربط برنامجك المصمم بلغة فيجوال بيسك مع أحد برامج مايكروسوفت أوفيس مثل Word , Excel , PowerPoint لكي تتيح لك التعامل مع أحد البرامج من داخل برنامجك مثل تشغيل برنامج Word والكتابة فيه عن طريق صندوق نص و تنسيقه وأنا هنا سوف أشرح الربط من خلال Word و Excel و PowerPoint إن شاء الله .
وسوف نتعلم مصطلحين الأول Late Binding و الثاني Early Binding وسوف نتعرف عليهما في الدروس المقبلة .
الدرس الثاني: Word Automation
الجزء الأول:
سوف نتعلم في هذا الجزء كيف نربط VB مع Word ( تشغيل + إدخال بيانات )
صمم نموذج بالاعتماد على التالي :
الصورة
الخصائص
Label
Name: lbl1
Caption: أدخل نص و أنقر على زر عرض بيانات داخل Word
Text Box
Name: txtData
Text: Empty
Command
Name: cmdExit
Caption: خروج
Command
Name: cmdShowDataInWord
Caption: عرض البيانات داخل Word
الكود
Option Explicit
Dim AWord As Object
Private Sub Form_Load ()
Set AWord = CreateObject("Word.Application")
AWord.Documents.Add
AWord.Visible=True
End Sub
Private Sub cmdShowDataInWord_Click ()
AWord.Selection.Text = txtData.Text
End Sub
Private Sub cmdExit_Click ()
Unload Me
End Subشرح الكود
AWord- : عبارة عن متغير من نوع Object .
- Set AWord = CreateObject("Word.Application") : خلق كائن (Object) الذي تم تعريفه , وتعريفه بأنه عبارة عن تطبيق Word
-AWord.Documents.Add : لإضافة صفحة Word جديدة فارغة .
-AWord.Visible = True : إظهار تطبيق Word .
-AWord.Selection.Text=txtData.Text : لإرسال القيمة المخزنة في Text Box إلى Word .
الآن نكون قد انتهيا من الجزء الأول و الآن ننتقل إلى الجزء الثاني
الجزء الثاني:
في هذا الدرس سوف نتعلم كيف نعمل تدقيق إملائي و حفظ البيانات و الخروج من برنامج Word
صمم نموذج بالاعتماد على التالي :
الصورة
الخصائص
Label
Name: lblInsert
Caption: أدخل نص
Text Box
Name: txtData
Text: Empty
Command
Name: cmdShowDataInWord
Caption: عرض البيانات داخل Word
Command
Name: cmdCheckSpelling
Caption: تدقيق النص
Command
Name: cmdExitInWord
Caption: Word خروج من
Command
Name: cmdSave
Caption: حفظ
Command
Name: cmdExit
Caption: خروج
الكود
Option Explicit
Dim AWord As Object
Private Sub cmdCheckSpelling_Click()
AWord.ActiveDocument.CheckSpelling
txtData.Text = AWord.Selection.Text
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdExitInWord_Click()
If AWord.ActiveDocument.Saved = True Then
AWord.Quit
Else
AWord.ActiveDocument.Save
AWord.Quit
End If
End Sub
Private Sub cmdSave_Click()
AWord.ActiveDocument.Saved InputBox("أدخل مسار الحفظ و الاسم")
End Sub
Private Sub cmdShowDataInWord_Click()
AWord.Selection.Text = txtData.Text
End Sub
Private Sub Form_Load()
Set AWord = CreateObject("Word.Application")
AWord.Documents.Add
AWord.Visible = True
End Subشرح الكود
AWord.ActiveDocument.CheckSpelling
عمل تدقيق إملائي للنص ( تشغيل المدقق الإملائي )
AWord.Selection.Text = txtData.Text
إرجاع القيمة الصحيحة بعد تدقيقها إملائيا .
AWord.ActiveDocument.Saved InputBox("أدخل مسار الحفظ و الاسم")
حفظ الملف حيث يتم إدخل مسار حفظ الملف و اسم الملف من خلال InputBox مثل C:\Document.doc
If AWord.ActiveDocument.Saved = True Then
AWord.Quit
Else
AWord.ActiveDocument.Save
AWord.Quit
End Ifيتم السؤال هنا إذا كان الملف مخزن أم لا . فإذا كان الملف مخزن يتم الخروج من التطبيق أما إذ لم يكن مخزن
يتم تخزين الملف أولا ومن ثم الخروج من التطبيق .
شغل البرنامج :
- عند بداية تشغيل البرنامج سوف يقوم بتعريف متغير وحجز مكان له بالذاكرة .
- خلق الكائن و تخصيصه ليدل على أنه متغير من النوع كائن خاص بالWord
- قم بتعبئة الText بالنص الذي تريد
- قم بالضغط على عرض البيانات داخل Word ستلاحظ أنه نقل النص من الText إلى Word
- قم بالضغط على تدقيق نص ستلاحظ أن المدقق الإملائي الخاص بWord سيظهر في حالة إذا كان هناك أخطاء إملائية في النص وبعد تدقيق الخطأ ستلاحظ أنه تم إعادة النص الصحيح بعد التدقيق إلى Text Box .
- قم بالضغط على حفظ تظهر Input Box يتم من خلاله إدخال موقع التخزين واسم الملف.
- قم بالضغط على خروج من Word للخروج من برنامج Word .
وسوف نأتي الآن إلى إعادة البرنامج السابق ولكن بطريقة أخرى , و أولى هذه الخطوات هي عمل مرجعية
(References) للمكتبة المراد التعامل معها كما يلي :
1) اختيار الأمر Reference من قائمة Project .
2) اختيار المكتبة Microsoft Word 8.0 Object Library أو على حسب إصدار الأوفيس لديك .
- بعد اختيار المكتبة قم بإعادة البرنامج كما يلي :
الكود:
Option Explicit
Dim X As Word.Application
Private Sub cmdCheckSpelling_Click()
X.ActiveDocument.CheckSpelling
txtData.Text = Selection.Text
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdExitInWord_Click()
X.Quit
End Sub
Private Sub cmdSave_Click()
X.ActiveDocument.SaveAs InputBox("أدخل مسار حفظ الملف و اسم الملف")
End Sub
Private Sub cmdShowDataInWord_Click()
X.Selection.Text = txtData.Text
End Sub
Private Sub Form_Load()
Set X = New Word.Application
X.Documents.Add
X.Visible = True
End Subشرح الكود:
- ستلاحظ أن الجمل السابقة هي نفس الجمل المكتوبة في المثال السابق قبل إعادة كتابته إلا أن الفرق بين البرنامجين هو كما يلي :
1- في البرنامج الأول قمنا بتعريف AWord من النوع Object .
2- في البرنامج الثاني قمنا بعمل مرجع لمكتبة Word 8.0 ومن ثم قمنا بتعريف المتغير X من النوع Word.Application .
3- قمنا باستخدام CreateObject وذلك لتخصيص المتغير AWord لتطبيق الWord ولكن خلال وقت التنفيذ ( Run Time ) .
4- قمنا بعمل مرجع وتعريف المتغير X بأنه مخصص لتطبيق الWord خلال وقت التصميم ثم قمنا باستخدام الأمر New لخلق الكائن خلال وقت التصميم (Design Time ) .
5- لقد لاحظت أنه في حالة عمل مرجعيةReference) ) فإنه بمجرد اتباع اسم الكائن X بالنقطة (DOT ) فإن خصائص و آليات الكائن سوف تظهر لك ; مما يسهل عليك استخدام هذه الخصائص والآليات . أما في حالة عدم وجود مرجعية فإنك سوف تضطر لكتابة الخصائص الآليات يدويا دون هذه الخصائص و الآليات معروضة لك .
6- في حالة البرنامج الثاني ( عمل مرجعية ) يسهل ذلك الاستفادة من المساعدة Help التابعة التطبيق Word .
. ملاحظة : في حالة استخدام الأمر CreateObject تدعى الAutomation ب Late Binding و السبب أن الكائن يتم تخصيصه لتطبيق معين في وقت التنفيذ وأن هذه الخصائص لا تكون معروضة لك في وقت التصميم , أما في الحالة الثانية وهي عمل مرجعية فتدعى الAutomation هنا ب Early Binding .
الجزء الثالث:
سوف تتعلم في هذا الجزء أشياء كثيرة منها ( تغير نوع الخط و حجمه و لونه و أشياء أخرى )
هذا المثال سوف يكون التصميم بالغة الإنجليزية لأن بعض الكلمات العربية لا تكون معبرة عما نريد
صمم نموذج بالاعتماد على التالي :
الصورة
الخصائص
بعض الأدوات لم أضع لها أسماء منسقة مثل cmdUndo وذلك لتسهيل عملية الشرح وأنا مرفق ملفات الشرح مع الدرس فلا داعي لذلك
الكود
Option Explicit Dim S As Integer Dim W As Integer Dim C As Integer Dim I As Integer Dim XDoc As Word.Application Private Sub Form_Load() Set XDoc = New Word.Application XDoc.Documents.Open (App.Path & "/Document.doc") XDoc.Visible = True S = XDoc.Documents(1).Sentences.Count For I = 1 To S Combo1.AddItem I Next I Combo4.Clear For I = 10 To 30 Step 2 Combo4.AddItem I Next I Combo5.AddItem "Red" Combo5.AddItem "Blue" Combo5.AddItem "Green" Combo5.AddItem "Yellow" End Sub Private Sub Combo1_Click() Combo2.Clear W = XDoc.Documents(1).Sentences(Combo1.Text).Words.Count For I = 1 To W Combo2.AddItem I Next I XDoc.Documents(1).Sentences(Combo1.Text).Select End Sub Private Sub Combo2_Click() Combo3.Clear C = XDoc.Documents(1).Sentences(Combo1.Text).Words(Combo2.Text).Characters.Count For I = 1 To C Combo3.AddItem I Next I XDoc.Documents(1).Sentences(Combo1.Text).Words(Combo2.Text).Select End Sub Private Sub Combo3_Change() XDoc.Documents(1).Sentences(Combo1.Text).Words(Combo2.Text).Characters(Combo3.Text).Select End Sub Private Sub Check1_Click() If Check1.Value = 1 Then XDoc.Selection.Font.Bold = True Else XDoc.Selection.Font.Bold = False End If End Sub Private Sub Check2_Click() If Check1.Value = 1 Then XDoc.Selection.Font.Italic = True Else XDoc.Selection.Font.Italic = False End If End Sub Private Sub Check3_Click() If Check1.Value = 1 Then XDoc.Selection.Font.Underline = True Else XDoc.Selection.Font.Underline = False End If End Sub Private Sub Option1_Click() XDoc.Selection.Font.Name = "Arial" End Sub Private Sub Option2_Click() XDoc.Selection.Font.Name = "Arial Black" End Sub Private Sub Option3_Click() XDoc.Selection.Font.Name = "Tohama" End Sub Private Sub Combo4_Change() XDoc.Selection.Font.Size = Combo4.Text End Sub Private Sub Combo5_Change() Select Case Combo5.ListIndex Case 0 XDoc.Selection.Font.ColorIndex = wdRed Case 1 XDoc.Selection.Font.ColorIndex = wdBlue Case 2 XDoc.Selection.Font.ColorIndex = wdGreen Case 3 XDoc.Selection.Font.ColorIndex = wdYellow End Select End Sub Private Sub Command1_Click() XDoc.Selection.InsertBefore Text:=txtData.Text XDoc.Documents(1).Undo End Sub Private Sub Command2_Click() XDoc.Selection.InsertAfter Text:=txtData.Text XDoc.Documents(1).Redo End Sub Private Sub Command3_Click() XDoc.ActiveDocument.Undo End Sub Private Sub Command4_Click() XDoc.ActiveDocument.Redo End Sub Private Sub Command5_Click() Unload Me End Sub Private Sub Form_Click() XDoc.Selection.MoveDown End Sub
شرح الكود
1- تم تعريف المتغير XDoc من نوع Word.Application .
2- في الحدث Form_Load تم خلق الAutomation و تخزينه في المتغير XDoc من خلال جملة
Set XDoc = New Word.Application
3- تم فتح الملف Document من خلال الجملة
XDoc.Documents.Open (App.Path & "/Document.doc")
وجملة XDoc.Visible = True لإضهار التطبيق وإضهار الملف الذي تم استدعاءه من خلال الإجراء Open .
4- في الحدث Form_Load أيضا تم تعبئة Combo1 بالأرقام من 1 إلى عدد الجمل في النص .
5- عند الضغط على Combo1 يتم تعبئة Combo2 بالأرقام من 1 إلى عدد الكلمات الموجودة في الجملة المحددة بحيث يتم تحديد الجملة بحسب الرقم الذي تم اختياره من Combo1 .
6- عند الضغط على Combo2 يتم تعبئة Combo3 بالأرقام من 1 إلى عدد الأحرف الموجودة في الكلمة بحسب الرقم الذي يتم اختياره من Combo2 .
7- عند الضغط على Combo3 يتم تحديد الحرف بحسب الرقم الذي يتم اختياره من Combo3 .
8- يتم تطبيق خيارات ال Check Boxعلى النص المحدد .
9- يتم تطبيق خيارات الOption Button على النص المحدد .
10- يتم اختيار حجم الخط وتطبيقه على النص المحدد من خلال Combo4 .
11- يتم اختيار لون الخط و تطبيقه على النص المحدد من خلال Combo4 .
12- الزر تراجع للتراجع عن تنفيذ الأوامر .
13- الزر إعادة لتكرار تنفيذ الأوامر .
14- إدخال نص في Text Box و الضغط على زر أدخل قبل اختيار النص لإضافة قبل النص المحدد .
15- إدخال نص في Text Box و الضغط على أدخل بعد اختيار النص لإضافته بعد النص المحدد .
والآن نكون قد أنهيا الدرس الثاني Word Automation .
الدرس الثالث: Excel Automation .
مقدمة
سوف نتعلم في هذا الدرس كيفية ربط VB مع برنامج Excel فأنه أيضا يمكنك التعالم مع تطبيق Excel كما تعاملنا مع تطبيق Word.
الجزء الأول:
صمم نموذج بالاعتماد على التالي :
الصورة
الخصائص
المثال مرفق
الكود
Option Explicit
Dim XExcel As Excel.Application
Dim I
Private Sub cmdAddHeader_Click()
Range("A" & 1).Value = "Name"
Range("B" & 1).Value = "Mark1"
Range("C" & 1).Value = "Mark2"
End Sub
Private Sub cmdMoveToExcel_Click()
For I = 0 To List1.ListCount - 1
Range("A" & I + 2).Value = List1.List(I)
Range("B" & I + 2).Value = List2.List(I)
Range("C" & I + 2).Value = List2.List(I)
Next I
End Sub
Private Sub cmdMoveToLists_Click()
List1.AddItem Text1.Text
List2.AddItem Text2.Text
List3.AddItem Text3.Text
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End Sub
Private Sub Combo1_Click()
Selection.Font.Size = Combo1.Text
End Sub
Private Sub Combo2_Click()
Selection.Font.Name = Combo2.Text
End Sub
Private Sub Combo3_Click()
Selection.Font.ColorIndex = Combo3.Text
End Sub
Private Sub Command1_Click()
Range(InputBox("أدخل المدى")).Select
End Sub
Private Sub Form_Load()
Set XExcel = New Excel.Application
XExcel.Workbooks.Add
XExcel.Visible = True
For I = 2 To 20 Step 2
Combo1.AddItem I
Next I
With Combo2
.AddItem "Arial"
.AddItem "Times New Roman"
.AddItem "Arabic Transparent"
.AddItem "Andalus"
.AddItem "Tohama"
End With
End Subشرح الكود
1- بعد تنفيذ البرنامج خلق الكائن XExcel في الحدث Form_Load و تخصيصه للتطبيق Excel من خلال جملة :
Set X = New Excel. Application X.Workbooks.Add
إضافة كتاب جديد على الExcel .
X.Visible=True
إظهار تطبيق الExcel .
2- اضغط على إضافة عنوان لإضافة الترويسة إلى صفحة الاكسل .
3- قم بإدخال القيم في Text1 و Text2 و Text3 .
4- اضغط على نقل إلى القوائم لنقل البيانات من Text Box إلى الList Box .
5- كرر الخطوة ( 3 + 4 ) أكثر من مرة .
6- اضغط على نقل إلى Excel لنقل البيانات من List إلى Excel .
7- اضغط على مفتاح اختيار المدى لتحديد المدى المراد تنسيقه وذلك بإدخال المدى عن طريق Input Box مثل A1:A4 .
8- بعد تحديد المدى اختار نوع الخط وحجمه ولونه من خلال خيارات الCombo Box .
الجزء الثاني:
سوف نتعلم في هذا الدرس أشياء أعمق من الجزء الأول مثل تشغيل Excel وعمل معادلات و حفظ بيانات و إيجاد المجموع فهذا الدرس مهم والجزء الأول تبسيط لفهم هذا الجزء .
صمم نموذج بالاعتماد على التالي:
الصورة:
الخصائص
المثال مرفق
الكود
Option Explicit
Dim X As Excel.Application
Private Sub Command1_Click()
Set X = New Excel.Application
X.Workbooks.Add
X.Visible = True
End Sub
Private Sub Command2_Click()
With X
.Range("A1").Value = "ÇáÑÞã ÇáÃæá"
.Range("B1").Value = "ÇáÑÞã ÇáËÇäí"
.Range("C1").Value = "ÇáãÌãæÚ"
.Range("D1").Value = "ÇáãÚÏá"
.Range("A2").Value = Text1.Text
.Range("B2").Value = Text2.Text
End With
End Sub
Private Sub Command3_Click()
X.Range("C2").Formula = "Sum(A2:B2)"
Text2.Text = X.Range("C2").Value
End Sub
Private Sub Command4_Click()
X.Range("D2").Formula = "=Average(A2:B2)"
Text4.Text = X.Range("D2").Value
End Sub
Private Sub Command5_Click()
Dim SavePath As String
SavePath = InputBox("ÃÏÎá ãÓÇÑ ÍÝÙ ÇáãáÝ æ ÇáÇÓã")
X.ActiveWorkbook.SaveAs SavePath
End Sub
Private Sub Command6_Click()
If X.ActiveWorkbook.Saved = True Then
X.Quit
Else
X.ActiveWorkbook.Save
X.Quit
End If
End Sub
Private Sub Command7_Click()
Unload Me
End Subشرح الكود
1- بعد تنفيذ البرنامج اضغط على تشغيل Excel لفتح برنامج أكسل حيث أن :
Set X = New Excel. Application
خلق الكائن X وتخصيصه للتطبيق Excel .
X.Workbooks.Add
إضافة كتاب جديد على Excel .
X.Visible = True
إظهار تطبيق Excel
2- قم بإدخال القيم في Text1 و Text2 .
3- قم بالضغط على المفتاح أرسل البيانات إلى Excel حيث أن:
X.Range("A1").Value="الرقم الأول"وضع قيمة الرقم الأول في الخلية A1
X.Range("B1").Value="الرقم الثاني"وضع قيمة الرقم الثاني في الخلية B1 , وهكذا ...
X.Range("A2").Value = Text1.Textنقل القيمة المخزنة في Text1 إلى الخلية A2 .
X.Range("B2").Value = Text2.Textنقل القيمة المخزنة في Text2 إلى الخلية B2 .
4- قم بالضغط على مفتاح إيجاد المفتاح حيث أن:
X.Range("C2").Formula = "=sum(A2:B2)"احتساب مجموع القيمتين الموجودتين في الخلية A2 و B2 و تخزين الناتج في الخلية C2 .
Text3.Text = X.Range("C2").Valueإرجاع ناتج الجمع من الخلية C2 و تخزينه في Text3 .
5- قم بالضغط على إيجاد المعدل حيث أن:
X.Range("D2").Formula = "=Average(A2:B2)"احتساب معدل من القيمتين الموجودتين في الخلية A2 و B2 وتخزين الناتج في الخلية C2 .
Text4.Text = X.Range("D2").Valueإرجاع المعدل من الخلية D2 و تخزينه في Text4 .
6- قم بالضغط على حفظ باسم من أجل تخزين الملف بحيث يتم إدخال الموقع ( المسار ) المراد التخزين فيه وإدخال اسم الملف من خلال InputBox . مثل أن ندخل C:\Sale.xls .
7- قم بالضغط على إغلاق Excel لإغلاق تطبيق الExcel حيث يتم السؤال عن حالة الملف فيما إذا كان مخزن أم لا فإذا كان الملف مخزن يتم إغلاق التطبيق أما إذا لم يكن غير مخزن فيتم أولا تخزين الملف ومن ثم إغلاق التطبيق .
والآن نكون قد انهينا الدرس الثالث Excel Automation.
الدرس الرابع: PowerPoint Automation
سوف تتعلم في هذا الدرس ربط VB ببرنامج PowerPoint ( عرض شرائح , إضافة صورة , إلخ ...)
الجزء الأول:
في هذا الجزء سوف تتعلم الأساسيات للربط بPowerPoint .
صمم نموذج بالاعتماد على التالي:
الصورة
الخصائص
المثال مرفق
الكود
Option Explicit
Dim XPP As PowerPoint.Application
Dim X
Dim Pic
Private Sub Command1_Click()
X = Val(InputBox("ÃÏÎá"))
If Option1.Value = True Then
XPP.ActivePresentation.Slides(X).ColorScheme.Colors(ppBackground).RGB = vbGreen
ElseIf Option2.Value = True Then
XPP.ActivePresentation.Slides(X).ColorScheme.Colors(ppBackground).RGB = vbYellow
ElseIf Option3.Value = True Then
XPP.ActivePresentation.Slides(X).ColorScheme.Colors(ppBackground).RGB = vbBlue
ElseIf Option4.Value = True Then
XPP.ActivePresentation.Slides(X).ColorScheme.Colors(ppBackground).RGB = vbRed
End If
End Sub
Private Sub Command2_Click()
Set XPP = New PowerPoint.Application
XPP.Presentations.Add
On Error Resume Next
XPP.ActivePresentation.Slides.Add 1, ppLayoutBlank
XPP.Visible = True
End Sub
Private Sub Command3_Click()
If XPP.ActivePresentation.Slides.Count > 8 Then
MsgBox "ÛíÑ ÞÇÏÑ Úáì ÅÖÇÝÉ ÔÑíÍÉ"
Exit Sub
Else
XPP.ActivePresentation.Slides.Add Val(InputBox("ÃÏÎá")), ppLayoutBlank
End If
End Sub
Private Sub Command4_Click()
Pic = InputBox("ÃÏÎá ãÓÇÑ ÇáÕæÑÉ")
XPP.Presentations(1).Slides(1).Shapes.AddPicture Pic, msoCTrue, msoTrue, 100, 100, 200, 200
End Sub
Private Sub Command5_Click()
With XPP.ActivePresentation.Slides.Range.SlideShowTransition
.EntryEffect = ppEffectBoxIn
.Speed = ppTransitionSpeedMedium
.AdvanceOnClick = msoFalse
.AdvanceOnTime = msoTrue
.AdvanceTime = 1
End With
XPP.ActivePresentation.SlideShowSettings.LoopUntilStopped = msoCTrue
XPP.ActivePresentation.SlideShowSettings.Run
End Subشرح الكود
Dim XPP As PowerPoint.Application
-تم تعريف المتغير XPP و تخصيصه للتطبيق PowerPoint .
Private Sub Command2_Click() Set XPP = New PowerPoint.Application XPP.Presentations.Add On Error Resume Next XPP.ActivePresentation.Slides.Add 1, ppLayoutBlank XPP.Visible = True End Sub
-تم فتح التطبيق PowerPoint من خلال جملة New ومن إضافة ملف ( عرض تقديمي ) جديد من خلال جملة XPP.Persentations.Add ومن ثم إضافة شريحة فارغة على الملف ومن ثم إظهار التطبيق .
Private Sub Command3_Click()
If XPP.ActivePresentation.Slides.Count > 8 Then
MsgBox "ÛíÑ ÞÇÏÑ Úáì ÅÖÇÝÉ ÔÑíÍÉ"
Exit Sub
Else
XPP.ActivePresentation.Slides.Add Val(InputBox("ÃÏÎá")), ppLayoutBlank
End If
End Sub-هذا الإجراء يستخدم لإضافة شرائح جديدة بحيث يتم إضافة 8 شرائح كحد أقصى, حيث إذا كان عدد الشرائح الموجودة في الملف أكبر من 8 يتم إظهار Input Box لإدخال موقع إضافة الشريحة الجديدة حيث أن جميع الشرائح التي سوف يتم إضافتها من نوع ppLayoutBalnk ( فارغة ).
Private Sub Command4_Click()
Pic = InputBox("ÃÏÎá ãÓÇÑ ÇáÕæÑÉ")
XPP.Presentations(1).Slides(1).Shapes.AddPicture Pic, msoCTrue, msoTrue, 100, 100, 200, 200
End Sub-هذا الإجراء لإضافة صورة على الشريحة الأولى حيث يتم إدخال اسم الصورة و موقعها من خلال إدخالها عن طريق Input Box و تمثل الأرقام الأخيرة في الأجراء إحداثيات الصورة و حجمها.
Private Sub Command5_Click() With XPP.ActivePresentation.Slides.Range.SlideShowTransition .EntryEffect = ppEffectBoxIn .Speed = ppTransitionSpeedMedium .AdvanceOnClick = msoFalse .AdvanceOnTime = msoTrue .AdvanceTime = 1 End With XPP.ActivePresentation.SlideShowSettings.LoopUntilStopped = msoCTrue XPP.ActivePresentation.SlideShowSettings.Run End Sub
-هذا الإجراء يستخدم لإضافة خلفية ( لون ) للشرائح حيث يتم اختيار اللون من الألوان الموجودة داخل ال Frame ومن ثم الضغط على لون الخلفية فيتم إظهار Input Box لإدخال رقم الشريحة المراد تغيير الخلفية لها باللون الذي تم اختياره .
Private Sub Command5_Click() With XPP.ActivePresentation.Slides.Range.SlideShowTransition .EntryEffect = ppEffectBoxIn .Speed = ppTransitionSpeedMedium .AdvanceOnClick = msoFalse .AdvanceOnTime = msoTrue .AdvanceTime = 1 End With XPP.ActivePresentation.SlideShowSettings.LoopUntilStopped = msoCTrue XPP.ActivePresentation.SlideShowSettings.Run End Sub
-هذا الإجراء يستخدم لعملية إجراء العرض للشرائح الموجودة في الملف حيث تم تحديد نوع الحركة لكل شريحة و سرعة العرض و تحديد التوقيت بين الشرائح بمقدار ثانية واحدة .
-تم استخدام الجملة التالية لإبقاء العرض مستمر بحيث لا ينتهي العرض إلا إذا قمنا بإيقافه يدويا عن طريق الضغط على مفتاح ESC .
-الجملة التالية تقوم ببدء عملية العرض وهي :
XPP.ActivePresentation.SlideShowSettings.Run
والآن نكون قد انتهينا من شرح الAutomation
ويمكنكم الآن البدء بالتطوير مثل إضافة حركة جديدة داخل PowerPoint و عمل معادلة ضرب داخل Excel و إدراج جدول داخل Word وهكذا.




