الماكرو
تعريفه :
هو تسجيلٌ لكل ناتج حركة تقوم بها ثم تجميعها في أمر واحد وتنفيذها ككتلة واحدة .. حيث يقوم الماكرو بتسجيل كل ما تقوم به عند إنشائه .. ثم عند التنفيذ مرة آخرى يطبق كل ما قمت به من عمل أثناء التسجيل
فائدته :
اختصار الوقت في إنجاز الأعمال المعقدة أو الكثيرة المتكررة التي تأخذ وقتاً ..
ملاحظات :
1- يجب أن تضع اسماً للماكرو من غير مسافات فارغة .. أو عوض عن المسافات الفارغة بشرطة سفلية .. ويستحسن أن يكون الاسم يدل على العمل .
2- لتنفيذ الماكرو بشكل صحيح تأكد أن يكون المؤشر (موضع الإدراج) في المكان الذي بدأت منه التسجيل .. فمثلاً لو أنك بدأت تسجيل الماكرو قبل الكلمة .. فيجب أن تكون قبل الكلمة عند تنفيذ الماكرو مرة أخرى .. أو إذا قمت بتسجيل الماكرو في العرض (العادي) فيجب أن لا تكون في العروض الأخرى كالعرض (تخطيط الطباعة) مثلاً .. وإلا ستحدث أخطاء أو سينفذ بشكل غير صحيح ..
3- في أثناء تسجيل الماكرو يتم تعطيل الماوس على الصفحة فقط .
أفكار :
قبل كتابة بحث مثلاً فكر في الماكرو الذي تحتاجه منها .. فمثلاً الحواشي تحتاج إلى ماكرو يخصها لإدراج حاشية منسقة .
طرق التنفيذ :
هناك ثلاث طرق لتنفيذ الماكرو :
1- عن طريق أشرطة الأدوات : إذا اخترت هذا من نافذة (تسجيل ماكرو) سيكون الأمر عبارة عن زر في شريط خاص .
2- عن طريق لوحة المفاتيح ( وهذه أسرع ) : فسيكون عبارة عن ضغط تشكيلة من المفاتيح مكونة من Ctrl+Alt أو Ctrl لوحدة أو Alt لوحدة مع أي مفتاح آخر
3- عن طريق زر (تنفيذ) في نافذة (وحدات الماكرو) : من قائمة (أدوات) ثم (ماكرو) ثم (وحدات ماكرو) ثم اختر الماكرو وانقر زر (تنفيذ)
طرق تسجيل الماكرو :
1- الطريقة الأولى : باعتماد أشرطة الأدوات :
1- من قائمة (أدوات) ثم (ماكرو) ثم (تسجيل ماكرو جديد) ستظهر نافذة (تسجيل ماكرو) : تحتوي هذه النافذة على :
الاسم : اكتب اسماً من غير مسافات فاصلة
تخزين الماكرو في : إذا أردت أن يكون متاحاً لجميع المستندات فاختر تخزينه في القالب (كل المستندات Normal.dot) وإذا أردت أن يكون خاصاً بهذا المستند فاختر تخزينه في (الماكرو بمستند doc )
الوصف : اكتب وصفاً لما يقوم به هذا الماكرو يوضح عمله (هذا اختياري)
تعيين الماكرو إلى : عينه إلى أشرطة الأدوات بنقر زر (أشرطة الأدوات) ثم اتبع التالي :
- تأكد أن زر تبويب (أشرطة الأدوات) هو المفعل ثم انقر زر (جديد) ثم اكتب اسماً للشريط في خانة (اسم شريط الأدوات) ثم لأجل أن يتوفر لك الشريط في جميع المستندات اختر القالب normal.dot في خانة (توفير شريط الأدوات لـ : ) أو اختر الماكرو doc لهذا المستند فقط .. ثم انقر موافق .. يقوم Word بإنشاء شريط أدوات صغير بجانب نافذة (تخصيص)
- انقر زر تبويب(الأوامر) في نافذة (تخصيص) سيظهر في القائمة اسم الماكرو الجاري إنشاؤه .. اسحبه بزر الماوس وارمه في الشريط
- لتغيير خصائص الزر انقر زر (تعديل التحديد) ثم غير الشكل بما تريد .. وقم بسحب الشريط ووضعه مع الأشرطة في الأعلى أو في أي مكان تشاء .
2- الطريقة الثانية : باعتماد لوحة المفاتيح :
- من قائمة (أدوات) ثم (ماكرو) ثم (تسجيل ماكرو جديد) ستظهر نافذة (تسجيل ماكرو) :
محتوياتها كما تم شرحها في الأعلى .. غير أنك تختار طريقة تعيين الماكرو إلى : لوحة المفاتيح بنقر زر (لوحة المفاتيح) ستظهر نافذة (تخصيص لوحة المفاتيح) ثم اتبع التالي :
- اختر تشكيلة من المفاتيح في خانة (اضغط مفتاح الاختصار الجديد) مكونة من :
Ctrl مع أي حرف أو رقم
أو Alt مع أي حرف أو رقم
أو Ctrl+Alt مع أي حرف أو رقم
أو Alt+Ctrl مع أي حرف أو رقم
ملاحظة وتحذير :
انتبه لأسفل هذا المستطيل مباشرة [ معين حالياً إلى ] بعد أن تقوم بضغط المفاتيح التي تريدها لهذا الماكرو سيظهر عبارة معين حالياً إلى فإذا كان معيناً إلى ماكروا أو نمط سيقوم بكتابة اسم الماكرو أو النمط أسفل منه وإلا سيظهر لك عبارة [ غير معين ] وهذا يعني أن بإمكانك اختياره والموافقة عليه .. اضغط على زر { تعيين } للموافقة عليه . أو اضغط مفتاح (Back Space) لإزالة تشكيلة المفاتيح واختيار مفاتيح أخرى غير معينة . ثم انقر زر (إغلاق)
في كلا الطريقتين ستغلق النوافذ ويتغير شكل الماوس إلى (سهم+شريط كاسيت) مما يعني أنه في وضع التسجيل ويظهر شريط التسجيل كأزرار المسجل يحتوي على زرين .. فلإيقاف التسجيل مؤقتاً انقر زر (إيقاف مؤقت) ولإغلاق التسجيل انقر زر (إيقاف التسجيل)
تنبيه :
انتبه : إغلاق شريط التسجيل من زر الإغلاق(X) لا يعني إغلاق التسجيل بل سيستمر التسجيل حتى تقوم بالنقر على زر (إيقاف التسجيل) وفيما لو أغلقته من زر الإغلاق(X ) فيمكنك إغلاقه من قائمة (أدوات) ثم (ماكرو) ثم (إيقاف التسجيل)
فائدة :
يمكنك الجمع بين الطريقتين لأمر واحد : انقر زر تبويب(الأوامر) في نافذة (تخصيص) ثم انقر زر ( لوحة المفاتيح) واختر تشكيلة المفاتيح .. وبهذا تستطيع تنفيذ الماكرو من خلال شريط الأدوات ومن خلال لوحة المفاتيح أيضاً
فائدة : لحذف شريط أدوات :
من قائمة (أدوات) اختر (تخصيص) لتظهر نافذة (تخصيص) .. انقر زر تبويب (أشرطة الأدوات) ثم حدد الشريط الذي تريد حذفه .. ثم انقر زر (حذف)
فائدة : نسخ ماكرو إلى مستند آخر أو قالب آخر :
لنسخ ماكرو مخصص لمستند ولم يعمم في قالب Normal أو نسخه من قالب إلى قالب آخر :
أ- من قائمة (أدوات) ثم (ماكرو) ثم (وحدات ماكرو) انقر زر (تنظيم) ..لتفتح لك نافذة (تنظيم) وسيكون زر تبويب (عناصر مشروع ماكرو) هو الحالي ..
ب- في النافذة هناك مربعان متقابلان ومستطيلان متقابلان أيضاً .. المربع الأيمن بعنوان (في) : ويعني (المصدر) إي المستند أو القالب الذي به الماكرو المراد أخذ نسخة منه ..
والمستطيل الذي تحته (عنصر مشروع ماكرو متوفر في) منه تختار المستند أو القالب الذي يتوفر به الماكرو المراد نسخه
المربع الأيمن بعنوان (إلى) : ويعني (الهدف) أي المستند أو القالب الذي سيتم نسخ الماكرو إليه
والمستطيل الذي تحته (عنصر مشروع ماكرو متوفر في) منه تختار المستند أو القالب الذي يتوفر به الماكرو المراد لصقه به
ملاحظة :
إذا لم تجد المستند أو القالب في مربع (في) انقر زر (إغلاق ملف) ليتحول باسم (فتح ملف ... ) .. قم بنقره فستفتح نافذة (فتح) وتكون الملفات المحددة تلقائياً هي القوالب (Document Temblates (*.dot) ) فإذا أردت اختيار مستند بدلاً من قالب من قائمة (أنواع الملفات) اختر (Document Temblates (*.doc) )
وافعل ذلك مع مربع (إلى) ( الهدف ) إن احتجت إلى إضافة الماكرو إلى مستند غير موجود في المربع سيسرد وورد قائمة بالماكروات المتاحة في المربع (في) اختر الماكرو الذي تريد نسخه ثم انقر زر ( نسخ ) الموجود في الوسط
فكرة :
من خلال نافذة (تنظيم) تستطيع نسخ ماكرو أو عدة ماكروات لعدة مستندات أو قوالب في مرة واحدة ومن خلالها أيضاً تستطيع حذف ماكرو أو عدة ماكروات من مستند لا تحتاج فيه إلى هذه الماكروات .. ولكن تأكد أن الماكرو يوجد في مكان آخر حتى لا يتم حذفه نهائياً ..
حذف الماكرو :
الماكروات المبيتة في الوورد لا يمكن حذفها ولا التعديل فيها .. بينما تستطيع حذف الماكروات المنشأة
=--=-=-=-=-=-=-=-=-=-=-
لم ننته من الماكرو بعد .... فلدينا موضوعان مهمان :
1- تحرير الماكرو : للمختصين والمحترفين في لغة VB ولغة VBA
2- أمثلة على الماكرو
أمثلة نظرية على الماكرو :
سأذكر عدة أمثلة مما يحضرني وأرى أنها تحتاج إلى ماكرو يقوم بعملها نظراً لتعقيدها وكذلك لأعمالها الكثيرة :
1- الحواشي : الخطوات النظرية :
أ- إدراج الحاشية
ب- وضع قوسين حول رقم الحاشية في المتن
ج- تنسيق رقم الحاشية مع القوسين على وضع ( مرتفع )
د- تنسيق ما بعد إغلاق قوس الحاشية إلى ( لا مرتفع ولا منخفض) لأجل أن تعود الكتابة إلى وضعها الطبيعي هـ- وفي الحاشية تنسيق رقم الحاشية إلى ( لا مرتفع ولا منخفض)
د- وضع شرطة أو قوس بعد رقم الحاشية
و- وضع مسافة بعد الشرطة
عمل كل هذا مرة واحدة ثم تنفيذه في كل مرة عن طريق الماكرو بضغطة مفتاح واحدة أفضل بكثير مما يقوم به البعض من النسخ واللصق مما يوقعهم في أخطاء وارتباكات كثيرة .
2- الأس في الرياضيات :
أ- كتابة الرقمين ثم تضليل الرقم الثاني
ب- فتح نافذة (خط) ثم وضعه إلى مرتفع
ج- جعل الموضع إلى مرتفع في زر تبويب (تباعد الأحرف) وفي خانة (بقدر) لأجل أن يلتصق بالرقم
3- الرسم : لرسم أشكال هندسية بحدود مخصصة وظل مخصص وحجم للخط وغير ذلك ..
4- إدراج كائن WordArt مخصص بشكل جميل بألوان متدرجة وحجم بحيث لا تريده أن يختلف في المستند كله
وغير ذلك .. وربما لكل واحد منا أعماله التي يجب عليه أن يختصر الوقت في إنجازها عن طريق الماكرو .. وكم نحن بحاجة ماسة إلى الوقت
الماكرو للمحترفين :
عمل الماكرو خلف الكواليس :: يقوم الماكرو أثناء قيامه بالتسجيل بكتابة كود في نافذة Visual Basic بكل ما قمت به من أعمال أثناء التسجيل .. ثم إذا قمت بتنفيذه مرة أخرى يقوم بتنفيذ هذا الكود فينتج عنه ما قمت به .
يستخدم المحترفون في الوورد والذين يعرفون لغة (VBA) Visual Basic For Applications الخاصة بتطبيقات Office بالإضافة إلى لغة (VB) Visual Basic بتطوير وبرمجة الكود الذي تم إنجازه من قبل معالج الماكرو ليتناسب مع احتياجاتهم أكثر ولينجز المهام بشكل أوثق وأنسب
فربما يستخدمون حلقات التكرار لتكرار العمل عدة مرات كالحلقة For ... Next أو عبارات الشرط كـ If ... Then وغيرهما لإنجاز ما يقومون به على الوجه الأكمل
لكي ترى الكود الذي قام معالج الماكرو بكتابته : من قائمة (أدوات) ثم (ماكرو) ثم (وحدات ماكرو) ومن نافذة (وحدات ماكرو) اختر من القائمة اسم الماكرو الذي تريد رؤية الكود الخاص به ثم انقر زر (تحرير) ستنتقل إلى نافذة Visual Basic .
تستطيع حذف أو إضافة أو تعديل الأكواد البرمجية كما تحب .. ومن خلالها تستطيع أيضاً التدرب على كتابة الأكواد والتغيير فيها ثم رؤية نتائجها لتزداد إتقاناً لبرمجة Word
= لست الآن في صدد تعليمك لغة VB أو لغة VBA ... هذا يعتمد على همتك بنفسك ( ما حك جلدك مثل ظفرك فتول أنت جميع أمرك ) ولكن كأخذ معلومة صغيرة جداً جداً
لإنشاء كود يدوي من قبلك من البداية تستطيع الانتقال إلى نافذة Visual Basic مباشرة بالضغط على Alt+F11 ثم كتابة الكود المطلوب
مثال :
لو طُلب منك كتابة جدول الضرب من 1 إلى 10 .. فكيف يتسنى لك إنشاؤه بكل يسر وسهولة وبجدارة منقطعة النظير .. في الوضع الطبيعي إن لم تكن لك خبرة بالبرمجة ستقوم بالآتي :
أ- كتابة : 1×1=1 .. وهذه خمس خانات كل خانة ربما تأخذ ثانيتين أو أكثر فسيكون المجموع 10 ثوانٍ .. وستفعل بقية الأرقام بالنسخ واللصق حتى تنتهي من جدول الضرب للعدد 1 مع تغيير المضروب فيه وكتابة الناتج من عملية الضرب يدوياً .. وما تنتهي من جدول الضرب 1 حتى تكون قد أمضيت 100 ثانية يعني دقيقة و 40 ثانية .. وما تنتهي من جدول الضرب للعدد 10 مروراً بالأعداد فيما بينهما حتى تكون أمضيت 14 دقيقة وربما أكثر .. هذا إذا كنت متآلفاً مع Word .. ماذا لو كان المطلوب جداول الضرب من 1 إلى 100 مثلاً .. ستمضي وقتاً طويلاً طويلاً .
لكن ما رأيك لو أنجزناها في أقل من 3 ثوانٍ من خلال الكود الذي قمتُ بإعداده .. انظر ماذا سيقوم الكود بعمله :
1- إنشاء أعمدة تقوم بتنظيم جداول الضرب التي بداخلها
2- كتابة جداول الضرب حسبما تريد .. فقط ضع العدد الذي تريد أن يقف عنده الضرب في مستطيل الرسالة الذي سينبثق .. فلو أدخلت العدد 3 سيقوم بكتابة جداول الضرب 1 و 2 و 3 .
3- ضرب العدد في العدد وإخراج الناتج وكتابته .
4- فصل كل جدول عن الآخر بخط فاصل .
وإليك الطريقة :
1- أنشأ ماكرواً جديداً باسم (جدول_الضرب) ثم لا تقم بعمل أي شيء وأغلقه
2- من قائمة (أدوات) ثم (ماكرو) ثم (وحدات ماكرو) ومن نافذة (وحدات ماكرو) اختر من القائمة اسم الماكرو الذي أنشأناه للتو باسم (جدول_الضرب) ثم انقر زر (تحرير) ستنتقل إلى نافذة Visual Basic وستجد ما بين العبارتين فارغاً من الكود إلا من اسم الماكرو واسم المنشئ وتاريخ الإنشاء
3- انسخ وألصق هذا الكود فيما بين Sub و End Sub :
كود: تحديد الكل
Dim i As Integer
Dim i2 As Integer
Dim intMsg As Integer
Dim intTime1 As Date
Dim intTime2 As Date
Dim intResult As Integer
With ActiveDocument.PageSetup.TextColumns
.SetCount NumColumns:=3
.EvenlySpaced = True
.LineBetween = True
.Width = CentimetersToPoints(4.05)
.Spacing = CentimetersToPoints(1.25)
.FlowDirection = wdFlowRtl
End With
intMsg = InputBox("أدخل آخر عدد لجدول الضرب ", " أحمد الحربي ")
intTime1 = Time()
For i = 1 To intMsg
For i2 = 1 To 10
sumNomber = i * i2
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.BoldRun
Selection.Font.SizeBi = 16
Selection.Font.BoldBi = wdToggle
Selection.TypeText Text:=i & " × " & i2 & " = " & sumNomber
Selection.TypeParagraph
Next
Selection.TypeText Text:="-------------"
Selection.TypeParagraph
Next
Selection.TypeText Text:="============"
intTime2 = Time()
intResult = DateDiff("s", intTime1, intTime2)
MsgBox "تم التنفيذ في خلال" & ":" & intResult & "ثانية/ثوان"
الآن قم بتنفيذ هذا الكود من خلال زر (تنفيذ) في نافذة (وحدات الماكرو) : من قائمة (أدوات) ثم (ماكرو) ثم (وحدات ماكرو) ثم اختر الماكرو (جدول_الضرب) وانقر زر (تنفيذ) أو عن طريق مفتاح الاختصار الذي اخترته
ستظهر لك رسالة ضع فيها العدد الذي تريد أن ينتهي بناء جداول الضرب عنده ثم ستظهر لك النتيجة المذهلة من خلال إنشاء جدوال الضرب متبوعة بالزمن الذي استغرق لإنجازه .
هذا مثال واحد فقط وقل مثل ذلك في أمثلة كثيرة وكثيرة