Vba معالجة الكلمات الدورية للأحرف في التحديد. إنشاء تطبيقات VBA في Word، في المواقف النموذجية

10.04.2019

البرمجة في VBA في Word

إخراج النص إلى مستند Word

5.1. كائنات الكلمات الأساسية

كائن Word.Application

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

مفتاح نموذج كائن Word هو كائن التطبيق لأنه يحتوي على كافة كائنات Word الأخرى. يبلغ عدد عناصرها على مستويات مختلفة من التسلسل الهرمي حوالي 180 عنصرًا. يحتوي كائن التطبيق الجذر نفسه على أكثر من مائة عنصر: الخصائص والأساليب والأحداث.

خصائص كائن Word.Application

تنقسم خصائص أي كائن إلى مجموعتين: خصائص المشاركين (الكائنات) والخصائص الطرفية (متغيرات VBA العادية).

يتم توفير نظام موحد لتنظيم أشرطة القوائم وأزرار الأدوات من خلال كائن CommandBars، والمساعدة من خلال المساعد، والبحث من خلال FileSearch.

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

دعونا نلقي نظرة على الكائنات الخلفية.

يدعم كائن التصحيح التلقائي التصحيح التلقائي للنصوص المكتوبة. إمكانياته تعادل أمر التصحيح التلقائي في قائمة الأدوات.

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

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

ثلاثة أشياء تتعلق بالنحو والتدقيق الإملائي: اللغات والقواميس والاقتراحات الإملائية، - يسمح لك بتعيين اللغة المطلوبة، وتحديد قاموس، بما في ذلك القواميس المخصصة، وكذلك العمل مع قائمة الكلمات المقترحة للتصحيح عند اكتشاف خطأ إملائي. توفر أوامر التدقيق الإملائي واللغة في قائمة "الأدوات" وظائف مماثلة عند التعامل مع مستند يدويًا.

باستخدام كائن Options، يمكنك تعيين خيارات متنوعة للتطبيقات والمستندات برمجيًا، تمامًا كما تفعل إذا قمت بتحديد أمر Options في القائمة Tools.

العمل مع المستندات وفئة المستند

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

تقوم خاصية الحوارات العمومية بإرجاع مجموعة من مربعات الحوار. يحدد الثابت wdDialogFileOpen مربع حوار معين - كائن من فئة الحوار.

الفئات التي تحدد هيكلة نص الوثيقة

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

تتيح لك فئات الأحرف والكلمات والبيانات والفقرات والأقسام العمل مع تسلسلات (مجموعات) من الأحرف والكلمات والجمل والفقرات والأقسام. أكبر وحدة بعد الفقرة هي القسم. أحد عناصر مجموعات الأحرف والكلمات والبيانات هو كائن من فئة النطاق. يتيح لك كائن النطاق العمل مع عنصر واحد أو تسلسل عشوائي من العناصر. المستندات والمستندات الثانوية والفقرات والأقسام - تحتوي جميعها على أسلوب أو خاصية Range التي تُرجع النطاق المرتبط بالكائن. لذلك، يتم العمل مع النص بطريقة أو بأخرى من خلال أساليب وخصائص كائن النطاق.

أحداث كائن المستند

يمكن لكائن المستند الاستجابة لثلاثة أحداث تحدث نتيجة لإجراءات المستخدم.

الجدول 16

أحداث كائن المستند الوثيقة وأجزائها

دعونا نلقي نظرة على الفئات الرئيسية التي تحدد بنية الوثيقة.

1. المستندات الثانوية (المستند الثانوي) – المجموعة والمستند الثانوي نفسه. هناك حد معقول لحجم مستند واحد. إذا كان المستند يحتوي على أكثر من 10-20 صفحة، يصبح من غير المناسب العمل به. وفي هذه الحالة، فهو يحتوي على مستند رئيسي ومستندات ثانوية. تحتوي الوثيقة الرئيسية في هذه الحالة على مجموعة من المستندات الثانوية، كل واحدة منها هي في الواقع وثيقة يمكن العمل بها بشكل مستقل.

يقوم الأسلوب AddFromRange الخاص بالفئة SubDocuments بإنشاء مستند ثانوي عن طريق تحديد المنطقة المحددة بواسطة معلمة Range من المستند الرئيسي.

2. الجداول (جدول)، فئات جداول التفويضات (T.O.A.C)، جداول جداول الصلاحيات (جدول الصلاحيات)، جداول محتويات الأذونات (جداول المحتوى)، جداول أعداد الأذونات (جداول البيانات في الشكل). تحدد فئة الجدول الجداول "العادية" بعدد عشوائي من الصفوف والأعمدة وملء الحقول بشكل عشوائي. تحدد الفئات المتبقية جداول من نوع خاص.

3. الأشكال(الشكل)، الأشكال المضمنة(الشكل المضمن)- هاتان المجموعتان مع عناصرهما تسمح لك بإضافة رسومات إلى الوثيقة، ولكن ليس فقط لهم. تعد كائنات ActiveX وOLE أيضًا عناصر من هذه المجموعات. تختلف عناصر هاتين المجموعتين في كيفية ربطها بالوثيقة: الأولى يمكن نقلها بحرية، والثانية مرتبطة بشكل صارم بمنطقة معينة من الوثيقة.

4. القوائم (قائمة)، ListParagraphs (ListParagraph)، listTemplates (ListTemplate)- القوائم ملائمة للدخول في مستند عند التعامل مع التعداد. ويمكن تصميم القوائم وفقا للقالب. هناك مجموعتان من القوالب: القوائم المرقمة وقوائم النشرات. تحتوي مجموعة ListTemplates على قوالب تصميم القائمة، وتصف فئة ListTemplate قالبًا محددًا. يتم تطبيق القالب على قائمة الفقرات ويمنحها البنية المحددة بواسطة القالب. تحتوي مجموعة القوائم على قوائم المستندات (قوائم الفقرات) التي تم تنسيقها كقوائم مرقمة أو قوائم نشرات. تمثل مجموعة ListParagraphs قائمة فقرات من كافة القوائم الموجودة في المستند. الخاصية ListParagraphs، التي تُرجع كائنًا من الفئة المقابلة، لا تمتلكها الوثيقة فحسب، بل أيضًا كائنات القائمة والنطاق. لذلك، نظرا لقائمة - كائن قائمة، يمكنك تحديد قائمة الفقرات. في كثير من الأحيان، يتعين عليك إجراء العملية المعاكسة - قم بتطبيق أحد القوالب المحتملة على قائمة الفقرات، مما يمنحها بنية قائمة "حقيقية". ثم استخدم كائن ListFormat.

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

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

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

هناك طريقة أخرى للتعليق وهي الحواشي السفلية. يمكن أن تكون من نوعين: صفحة فرعية (في أسفل الصفحة) ونهاية (في نهاية المستند). يتم جمع الأول في مجموعة الحواشي، والثاني - الحواشي الختامية.

6. الحقول (الحقل) – تتيح لك هذه المجموعة العمل مع حقول المستندات. إحدى ميزات الحقول هي أن قيمها يتم تحديثها تلقائيًا اعتمادًا على الظروف أو السياق الخارجي المتغير.

7. نطاقات القصة (المدى) - تمثل هذه المجموعة مجموعة من أجزاء المستند تسمى الأجزاء (القصة). تم إصلاح عدد أجزاء المستند المختلفة. لا يمكنك إضافة عناصر إلى هذه المجموعة بالطريقة العادية باستخدام طريقة الإضافة. تظهر الأجزاء في المجموعة عند إنشاء الجزء المقابل من المستند.

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

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

كائنات النطاق والتحديد

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

معظم أجزاء المستند الموضحة مسبقًا هي أيضًا أجزاء (خصائص) من كائنات النطاق والتحديد.

كائن النطاق يشبه دمية التعشيش: تحتوي كل منطقة على مساحة أصغر. فيما يلي مثال على الإعداد الصحيح (وإن لم يكن الأكثر كفاءة) لكائن النطاق:

ActiveDocument.Range.Sections(1).Range.Paragraphs(l).Range.Sentences(1). الكلمات(1).الشخصيات(1)

العمل مع النص

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

اختيار

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

النقل هو الأسلوب الأساسي لتحريك نقطة الإدراج. باقي الأساليب في هذه المجموعة عبارة عن تعديلات بدرجة أو بأخرى. تعمل طريقة Move(Unit, Count) على تقليص المنطقة إلى نقطة ما، وسحبها إلى البداية أو النهاية، ثم تحريك نقطة الإدراج. تحدد معلمة الوحدة وحدات الحركة، والعدد – عدد هذه الوحدات (الافتراضي 1). تحدد علامة المتغير Count اتجاه الانكماش والحركة. تحدد القيم الإيجابية لهذه المعلمة الانكماش حتى النهاية والتحرك للأمام، والقيم السلبية - الانكماش حتى البداية والحركة للخلف. يتم تحديد الانكماش النقي دون تحريك نقطة الإدراج كحركة لوحدة واحدة. تقوم الطريقة بإرجاع عدد الوحدات التي حدثت بها الحركة بالفعل، أو 0 إذا لم يتم تنفيذها. تقبل معلمة الوحدة القيم wdCharacter (افتراضي)، وwdWord، وwdSentence، وwdParagraph، وwdSection، وwdStory، وwdCell، وwdColumn، وwdRow، وwdTable.

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

ActiveDocument.Paragraphs(l).Range.Move

ليس له أي تأثير لأن منطقة الفقرة الأولى غير قابلة للتغيير. تعمل طريقة النقل على تقليص المنطقة إلى نقطة يتم نقلها، وبالتالي تختفي المنطقة بعد تنفيذها، وتبقى نقطة الإدراج فقط. تعمل أساليب MoveStart وMoveEnd على نقل نقطة البداية أو النهاية لمنطقة ما، مما يؤدي عادةً إلى توسيع المنطقة.

حذف النص

تسمح لك طريقة الحذف بحذف النص. عند استدعائه بدون معلمات، فإنه يحذف كائن النطاق أو التحديد الذي استدعاه. عند تطبيقه في النموذج ‎Delete(Unit,Count)‎، يتم حذف جزء النص الموجود في المنطقة المحددة. تحدد معلمة الوحدة الوحدات، ولكن عند الحذف، هناك قيمتان فقط ممكنتان: wdWord وwdCharacter. تحدد المعلمة Count عدد الوحدات المراد إزالتها. إذا تم تقليص المنطقة إلى نقطة ما، تتم إزالة الأحرف قبل أو بعد نقطة الإدراج، اعتمادًا على إشارة معلمة Count.

إدراج النص

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

تسمح لك الخاصية Text باستبدال النص في المنطقة المحددة، لذلك ليست هناك حاجة لاستدعاء الأسلوب Insert(Text). تعد الطريقتان InsertBefore وInsertAfter آمنتين لأنه تتم إضافة النص دون تغيير محتويات المنطقة. الأمر المختلف تمامًا هو طرق الإدراج، وهي بعيدة كل البعد عن كونها آمنة. عند الإدراج في منطقة ما، مثل استخدام أسلوب InsertSymbol أو InsertParagraph، يتم استبدال محتويات المنطقة.

العمل مع المخزن المؤقت

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

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

تسمح لك طريقة اللصق بوضع ("لصق") محتويات المخزن المؤقت في المنطقة المحددة بواسطة كائنات النطاق والتحديد. تعتبر هذه العملية خطيرة لأنها تستبدل النص ولا تضيفه. لذلك، عادةً ما يتم تطبيق أسلوب اللصق على كائنات النطاق والتحديد التي تم طيها مسبقًا إلى نقطة الإدراج. يطبق الأسلوب PasteFormat التنسيق المخزن في المخزن المؤقت على كائن التحديد.

على سبيل المثال، لنقم بإنشاء ماكرو يقوم بإدراج القائمة "تم اجتياز الدرس، الامتحان!"، ونسخها ووضعها مرة أخرى على الورقة.

ماكرو فرعي 1()

مع Selection.ParagraphFormat

Selection.TypeText Text:="التعامل مع النص:"

Selection.TypeParagraph

ListGalleries(wdBulletGallery).ListTemplates(1)._ListLevels(1)

ListGalleries(wdBulletGallery).ListTemplates(1).الاسم = ""

Selection.Range.ListFormat.ApplyListTemplate

ListTemplate:=ListGalleries(wdBulletGallery).ListTemplates(1)، continuePreviousList:=False، ApplyTo:= _wdListApplyToWholeList، DefaultListBehavior:=wdWord10ListBehavior

Selection.TypeText Text:="الدرس"

Selection.TypeParagraph

Selection.TypeText نص: = "الامتحان"

Selection.TypeParagraph

Selection.TypeText نص: = "مرر"

Selection.TypeParagraph

Selection.Range.ListFormat.RemoveNumbers

NumberType:=wdNumberParagraph

Selection.TypeParagraph

Selection.Font.Bold = wdToggle

Selection.Font.Italic = wdToggle

Selection.TypeText Text:="اكتملت المهمة!"

Selection.WholeStory

Selection.PasteAndFormat(wdPasteDefault)

5.2. تنسيق مستند

العمل مع النص(استمرار)

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

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

ActiveDocument.Paragraphs(1).Range.Text = "Oxo-xo!!"

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

Selection.Text = "يعد تعلم كيفية التعامل مع النص في مستند Word جزءًا مهمًا من تعلم البرمجة في VBA، " + TextBox1.Text + "، ويلبي احتياجات جميع المبرمجين!"

ونتيجة لتنفيذ كود البرنامج هذا، سيتم عرض السطر التالي في مستند Word:

يعد تعلم العمل مع النص في مستند Word جزءًا مهمًا من القدرة على البرمجة باستخدام VBA وSvetlana، ويلبي احتياجات جميع المبرمجين!

هنا يتم قراءة اسم سفيتلانا، على سبيل المثال، من حقل نصي من نوع ما يحتوي على حقل إدخال واحد فقط للاسم وزر "نص الإخراج" (الشكل 64).

أرز. 64.استمارة إدخال البيانات

عند العمل مع النص في ورقة عمل Word، تحتاج إلى معرفة الرموز التالية:

تعريف اللون

التحديد.الخط.اللون =

wdColorRed - أحمر

wdColorDarkRed – بورجوندي

wdColorDarkTeal - الفيروز

wdColorBlue - أزرق

wdColorGreen - أخضر

wdColorBlack – أسود

wdColorOrange - برتقالي

تحديد محتوى الدهون

Selection.Font.Bold =

wdToggle – الجرأة

تعريف الاسلوب

Selection.Font.Italic=

wdToggle - مائل

تعريف المحاذاة

Selection.ParagraphFormat.Alignment=

wdAlignParagraphRight – المحاذاة اليمنى

wdAlignParagraphCenter – محاذاة المركز

wdAlignParagraphJustify - المحاذاة إلى اليسار

-إدراج جملة محددة في النص

Selection.TypeText Text:="مثال للعمل مع النص"

إدخال سطر فارغ جديد

Selection.TypeParagraph

تحديد حجم الرسالة

التحديد.حجم الخط = 14

ملحوظة. لتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح، استخدم القدرة على إنشاء برنامج لكتابة الماكرو.

أحد عناصر تصميم مربعات الحوار هو التحكم بالصورة. خصائصه الرئيسية:

الحجم التلقائي – تغيير حجم الصورة في النموذج (تلقائيًا أم لا)؛

الصورة - تعرض ملف رسومي معروض في النموذج؛

PictureSizeMode - يضبط حجم الصورة (وليس الصورة بأكملها، سطح الكائن بالكامل، بالكامل داخل الكائن)؛

PictureAligment - يضبط موضع الصورة داخل الكائن (يسار، يمين، أعلى، أسفل)؛

PictureTilling - يغطي كائنًا بفسيفساء من الصورة.

يتم تعيين هذه الخصائص إما في نافذة خصائص الكائن أو يتم تحديدها في القائمة.

مثال 30.أنشئ برنامجًا يحسب كمية الحرارة المنطلقة في الموصل عندما يتدفق التيار من خلاله. تُعرف صيغة حساب كمية الحرارة بقانون جول-لينز:

حيث Q هي كمية الحرارة بالجول؛

U - الجهد بالفولت.

ر - الوقت بالثواني؛

S - مساحة المقطع العرضي للموصل بالمليمتر المربع؛

ل - طول الموصل بالأمتار؛

ع - مقاومة المادة الموصلة بالأوم؟ مم 2 / م .

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

تكنولوجيا التنفيذ

قم بإنشاء نموذج حسب الشكل الموضح. 65.

أرز. 65.النموذج المطور للمثال 30 في حالة صالحة للعمل وإخراج المعلومات الناتجة في مستند Word

عند إنشاء نموذج، قم بتعيين خصائص العنصر الضرورية. قم بتعيين الخاصية Locked الخاصة بـ TextBox6 إلى True لمنع المستخدم من كتابة نص فيها عن طريق الخطأ.

وصف الإجراءات

أمر فرعي خاص1_Click()

إذا Documents.Count = 0 ثم Documents.Add

Selection.Text = "عندما يمر تيار بجهد " + TextBox1.Text + " فولت عبر موصل بطول " + TextBox4.Text + " متر، فإن المقطع العرضي " + TextBox3.Text + " مربع. مم ومقاومة " + TextBox5.Text + " Ohm*mm2/m لـ " + TextBox2.Text + " ثانية مميزة " + TextBox6.Text + " جول من الحرارة "

Selection.Collapse Directions:=wdCollapseEnd

أمر فرعي خاص Button2_Click()

TextBox1_Change () فرعي خاص

TextBox2_Change () فرعي خاص

مربع نص فرعي خاص3_Change()

TextBox4_Change () فرعي خاص

مربع نص فرعي خاص5_Change()

سكيت فرعي خاص ()

إذا كان IsNumeric(TextBox1.Text) = صحيح و

IsNumeric(TextBox2.Text) = صحيح و

IsNumeric(TextBox3.Text) = صحيح و

IsNumeric(TextBox4.Text) = صحيح و

IsNumeric(TextBox5.Text) = صحيح وليس Val(TextBox4.Text)

0 وليس Val(TextBox5.Text) = 0 إذن

ريز = ((فال(TextBox1.Text) ^ 2) * فال(TextBox2.Text) *

فال(TextBox3.Text)) / (فال(TextBox4.Text) *

فال (TextBox5.Text))

TextBox6.Text = Str$(rez)

CommandButton1.Enabled = صحيح

TextBox6.Text = ""

CommandButton1.Enabled = خطأ

ملحوظة. عند تشغيل هذا التطبيق، يجب أن تكون جميع قيم حقول الإدخال رقمية. يحتوي VBA على وظيفة خاصة للتحقق مما إذا كانت السلسلة المدخلة عبارة عن سجل رقمي أم لا - IsNumeric. للتحقق مما إذا كانت القيم في حقلي الإدخال الأخيرين غير صفرية، استخدم الدالة Val، التي تحول تعبير السلسلة إلى تعبير رقمي إذا كان تعبير السلسلة هذا يحتوي على أرقام في البداية (أو كل شيء يتكون منها).

تقوم الدالة Str بعكس ما تفعله Val، فهي تقوم بتحويل القيمة الرقمية للتعبير إلى قيمة سلسلة، مما يسمح بمعاملة القيمة كسلسلة.

وبالتالي، تقوم الدالتان Val وStr بتحويل أنواع بيانات المتغيرات التي تعالجها، من سلسلة إلى رقمية ومن رقمية إلى سلسلة، على التوالي (انظر الفصل 3).

قم بإنشاء زر أو لوحة في Word

لا يمكنك تعيين زر أو عنصر قائمة لنموذج لاستدعاء تطبيق من Word مباشرة - يمكن القيام بذلك فقط للوحدات النمطية. ولذلك، تحتاج إلى استخدام الطريقة التالية. قم بإنشاء ماكرو (قائمة + إدراج + وحدة نمطية) في مشروع مفتوح:

أعد تسمية هذا الماكرو كما تريد، مثل Teplo. واتبع هذه الخطوات.

1. انقر بزر الماوس الأيمن في أي مكان على شريط الأدوات.

2. من هذه القائمة، حدد أمر الإعدادات (أو الأدوات + الإعدادات).

3. في مربع الحوار "الإعدادات"، انقر فوق اختصار علامة التبويب "الأوامر".

4. قم بالتمرير لأسفل في قائمة الفئات وابحث عن وحدات الماكرو. حدد هذا العنصر. في قائمة "حفظ في"، حدد اسم المستند الذي تم إنشاء الماكرو فيه (الشكل 66).

أرز. 66.البحث عن ماكرو لإنشاء زر

5. في النافذة اليمنى، ابحث عن الماكرو المطلوب (أو برنامج VBA).

6. اسحب اسم هذا الماكرو أو البرنامج إلى شريط الأدوات.

7. قم بإنشاء تسمية زر مقابلة، وإذا لزم الأمر، صورة (باستخدام زر الفأرة الأيمن).

8. أغلق مربع حوار الإعداد للانتهاء.

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

مهام لتوحيد المواد

مثال 31.قم بإنشاء برنامج يسمح لك بملء الطلبات القياسية من طلاب مؤسسة تعليمية، إذا تم ملء جميع البيانات اللازمة في الحقول النصية المقابلة للنموذج، وتم تحديد سبب الغياب عن الفصول الدراسية من القائمة المنسدلة ( الشكل 67، 68).

أرز. 67.النموذج المطور للمثال 31 في حالة العمل

مثال 32.قم بإنشاء برنامج يسمح لك بحساب مقدار الأموال التي تنفق على البنزين عند السفر إلى الدولة.

يرجى مراعاة ما يلي: يمكن أن تكون شروط السفر: ذهاب فقط، ذهابًا وإيابًا، يمكنك ركوب سيارة شخص آخر (تؤخذ هذه الشروط في الاعتبار في القائمة المنسدلة "شروط السفر" في النموذج الذي تم إنشاؤه).

إلى معلم الصف

مجموعات AS-42

سيدوروف أو.

من طالب

بيترينكو أوليغ إيفانوفيتش

إفادة بيترينكو أوليغ إيفانوفيتش18.05.2007

أرز. 68.

يتم حساب النتيجة التي تم الحصول عليها باستخدام الصيغة:

النتيجة = المسافة * (استهلاك البنزين لكل 100 كيلومتر) / 100*سعر البنزين للتر.

يرجى ملاحظة أنه إذا اخترت السفر "في سيارة شخص آخر"، فإن سعر البنزين هو 0 روبل.

أرز. 69.النموذج المطور للمثال 32 في حالة العمل

ضع في اعتبارك أيضًا أنه إذا تجاوزت نتيجة الحساب 400 روبل، فسيتم عرض الرسالة "هل يجب أن نذهب إلى السوق؟"

عند إنشاء النموذج، اتبع الشكل. 69، عند إخراج النص إلى مستند Word - الشكل. 70.

عند السفر إلى داشا، الواقعة على بعد 55 كم، مع سعر البنزين للتر الواحد 18.50 روبل، سيكون استهلاك البنزين 101.75 روبل.

أرز. 70.

مثال 33.تطوير البرنامج الذي ينتج تقرير دخل المستثمرفي الوقت الحاضر. يرجى ملاحظة أنه في واجهة النموذج يتم تحديد سعر الفائدة من القائمة المنسدلة (قدم نوعين من الفائدة).

أرز. 71.النموذج المطور للمثال 33 في حالة العمل

عند الحساب، اتبع الصيغ التالية:

إذا كان مخطط الحساب بسيطا، ثم

الدخل = المبلغ المودع + المبلغ المودع * سعر الفائدة/100*المدة/360؛

إذا كان مخطط الحساب معقدا، ثم

الدخل = المبلغ المودع + المبلغ المودع * سعر الفائدة/100*أجل/360 +0.01*(المبلغ المودع * سعر الفائدة/100*أجل/360).

عند تطوير واجهة النموذج، اعتمد على الشكل الموضح. 71، وعند إخراج العمليات الحسابية إلى مستند Word - الشكل 71. 72.

تقرير الدخل

في الوقت الحالي، لدى المواطنة أولغا كونستانتينوفنا إيفسيفا فائدة بسيطة على حسابها بمبلغ استثمار أولي قدره 1000 روبل. لمدة 150 يومًا بمعدل 2٪ 1008.33 روبل.

أرز. 72.التنسيق التقريبي لإخراج العمليات الحسابية إلى مستند Word

يتم عرض نتيجة الحسابات مع التوضيحات المناسبة في مستند Word، ويتم تقديم النتيجة الرقمية للعمليات الحسابية في حقل النموذج.

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

عند العمل اتبع التين التالي. 73 و 74.

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

أرز. 73.النموذج المطور للمثال 34 في حالة العمل

أرز. 74.التنسيق التقريبي لإخراج بيان في مستند Word

خصائصه وأساليبه

كائن Word.Document، عمل برمجي مع خصائص المستند وأساليبه في VBA

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

لاحظ أنه يمكن الوصول إلى كائن المستند دون إنشاء متغير كائن خاص. توجد ثلاث طرق أخرى على الأقل للوصول إلى كائن المستند:

  • العمل مع مستند كعنصر في مجموعة المستندات. قد يبدو تنسيق الطلب، على سبيل المثال، كما يلي: Documents.Item(1);
  • استخدم الكلمة الأساسية الخاصة ThisDocument. باستخدامه، يمكنك الحصول على رابط لكائن المستند الذي يمتلك وحدة البرنامج القابلة للتنفيذ، على سبيل المثال:

MsgBox ThisDocument.Name

  • استخدم خاصية كائن التطبيق ActiveDocument. تُرجع لنا هذه الخاصية كائن المستند النشط:

تطبيق MsgBox.ActiveDocument.Name

أو ببساطة

MsgBox ActiveDocument.Name

يتم عرض أهم خصائص كائن المستند أدناه:

  • ActiveWritingStyle- النمط النشط الحالي (عنوان مستوى معين، نص عادي، ارتباط تشعبي، وما إلى ذلك). يوصى بالتحقق قبل إدخال النص.
  • قالب مرفق- القدرة على توصيل القالب (مع كافة وحدات الماكرو والأنماط وإدخالات النص التلقائي وما إلى ذلك) أو التحقق من القالب المتصل (يمكن القيام بذلك يدويًا من خلال القائمة خدمة -> قوالبوالإضافات).
  • خلفية- إرجاع كائن شكل يمثل صورة الخلفية (صور الخلفية تكون مرئية فقط في وضع مستند الويب)؛
  • بنيتInDocumentProperties- القدرة على الحصول على رابط لمجموعة DocumentProperties مع كائنات تحمل نفس الاسم وتمثل الخصائص المضمنة في المستند (العنوان، المؤلف، الفئة، التعليقات، وما إلى ذلك)؛
  • الشخصيات- إرجاع مجموعة من كائنات النطاق، يمثل كل منها حرفًا واحدًا. لا تتمتع كائنات المستند بهذه الخاصية فحسب، بل تحتوي أيضًا على كائنات التحديد والنطاق. يمكن استخدامها، على سبيل المثال، لإجراء عمليات البحث والاستبدال أو الحسابات الإحصائية (على سبيل المثال، إذا كان المترجم يتقاضى أجرًا على عدد الأحرف)؛
  • محتوى- خاصية تُرجع كائن نطاق يمثل قصة المستند الرئيسية. بكل بساطة - فقط نص المستند، بدون رؤوس أو تذييلات أو تعليقات وما إلى ذلك.
  • CustomDocumentsProperty- خاصية تقوم بإرجاع مجموعة من كائنات DocumentProperties التي تمثل خصائص المستند المخصصة. يمكن استخدامه لحفظ أي قيم متغيرة مع المستند. إنه مناسب جدًا، على سبيل المثال، لحساب عدد فتحات المستندات، ومربعات الاختيار المطبوعة/غير المطبوعة، وعدد مرات استدعاء وظيفة معينة، وعلى أي أجهزة كمبيوتر وبواسطة المستخدم تم فتحها، وما إلى ذلك.
  • DefaultTabStop- تحديد المسافة البادئة الافتراضية عند استخدام حرف الجدولة. الافتراضي هو 35 نقطة، أي حوالي 1.25 سم؛
  • تعطيل الميزات- تعطيل الميزات التي لا تفهمها سوى أحدث الإصدارات من Word (للتوافق مع المستخدمين الذين لديهم إصدارات أقدم على أجهزة الكمبيوتر الخاصة بهم). عادةً ما تقوم الخاصية DisableFeatures نفسها بتمكين هذا الوضع ببساطة، ويتم تعيين مستوى التوافق المحدد باستخدام الخاصية DisableFeaturesIntroducedAfter.
  • DoNotEmbedSystemFonts- لا تقم بإدراج خطوط النظام في المستند (يتم إدراجها افتراضيًا باللغة الروسية واليابانية وما إلى ذلك). يسمح لك بتقليل حجم المستند - ولكن بعد ذلك لن يتمكن المستخدمون في نظام غير مثبت عليه اللغة الروسية من قراءة هذا المستند.
  • تضمين خطوط TrueTypeFonts- خاصية مفيدة للغاية إذا كنت تعمل مع مستند في مكان يتم فيه استخدام الخطوط الغريبة (على سبيل المثال، في دار نشر). يضمن إدراج خطوط من النوع الحقيقي أن مستلمي المستند سوف يرونه تمامًا بنفس الطريقة التي يراها المنشئ.
  • ظرف- يتيح لك الحصول على رابط لكائن مغلف خاص يُستخدم لإنشاء مظاريف البريد.
  • مجالات- القدرة على الحصول على رابط لمجموعة حقول الكائنات التي تحمل نفس الاسم. مفيد جدًا عند العمل مع الحقول.
  • الحواشي- القدرة على الحصول على مجموعة من الحواشي.
  • ملكيات التنسيق…- ما يجب إظهاره في قائمة الأنماط في شريط الأدوات التنسيق.
  • حقول النموذج- يشبه الحقول، ولكن في هذه الحالة نحصل على رابط للحقول الموجودة في النماذج.
  • الاسم الكامل- الاسم الكامل للكائن (مع المسار إليه في نظام الملفات أو الويب). للقراءة فقط بالطبع.
  • تم التحقق من القواعد النحوية- وضع علامة على المستند بأكمله كمدقق نحوي (تعطيل التدقيق النحوي لمستند معين بشكل فعال). توجد نفس الخاصية لكائن النطاق. يمكن الحصول على مجموعة من الأخطاء التي تم اكتشافها أثناء التدقيق النحوي باستخدام خاصية GrammaticalErrors، ويمكن تمييز الأخطاء باستخدام تسطير متموج أخضر (إذا لم يتم تمييزها بالفعل) باستخدام خاصية ShowGrammaticalErrors. بالنسبة للأخطاء الإملائية، هناك خصائص مشابهة SpellingChecked وSpellingErrors وShowSpellingErrors.
  • يحتوي على كلمة مرور- تحقق مما إذا كان قد تم تعيين كلمة مرور للمستند المحدد. كلمة المرور- تعيين كلمة مرور. نظرًا للضعف الشديد في حماية كلمة المرور، لا يُنصح باستخدام كلمات المرور في Word وExcel وAccess.
  • الفهارس- يقوم بإرجاع مجموعة من الفهارس (أي فهارس الموضوع) للمستند.
  • اسم- إرجاع اسم المستند (بدون المسار إليه).
  • تشفير مفتوح- إرجاع صفحة الرموز التي تم استخدامها لفتح المستند. بالنسبة للروسية فإن الرقم الافتراضي هو بالطبع 1251.
  • اعداد الصفحة- يسمح لك بالحصول على رابط لكائن يحمل نفس الاسم. يتم استخدامه بالطبع بشكل أساسي في تنفيذ الطباعة.
  • الفقرات- يقوم بإرجاع رابط لمجموعة من الفقرات في هذه الوثيقة.
  • طريق- إرجاع المسار إلى المستند في نظام الملفات (بدون اسم). قد يكون من المفيد إنشاء ملف آخر على نفس المسار.
  • إذن- القدرة على الوصول إلى كائن الإذن، والذي يسمح لك بإدارة نظام الأذونات الداخلية لمستند Word (وليس أذونات نظام الملفات).
  • مراجعات الطباعة- ما إذا كان سيتم طباعة ملاحظات المحرر (التصحيحات) مع المستند أم لا. الافتراضي هو الطباعة.
  • نوع الحماية- التحقق من أمان هذه الوثيقة (كل شيء مسموح به، أو فقط التعليقات والقراءة والتغييرات في حقول النموذج وما إلى ذلك). يتم تثبيت الحماية نفسها باستخدام طريقة Protec()t.
  • يقرأ فقط- لا يوجد تفسير مطلوب هنا. هذه الخاصية للقراءة فقط (لأن السمة المقابلة يتم تعيينها على نظام الملفات).
  • إزالة التاريخ والوقتو إزالة المعلومات الشخصية- إزالة المعلومات المتعلقة بتاريخ ووقت التغييرات التي تم إجراؤها وجميع المعلومات المتعلقة بالمستخدم من المستند (بما في ذلك خصائص المستند). قد يكون مفيدًا عند إنشاء ملف عينة.
  • أنقذ- خاصية مهمة جدا. يتيح لك تحديد ما إذا كان قد تم تعديل المستند منذ آخر تعديل له.
  • SaveEncoding- يسمح لك بتحديد (أو الحصول على) الترميز الذي سيتم استخدامه عند حفظ المستند بشكل صريح.
  • حفظ التنسيق- يتيح لك الحصول على معلومات حول تنسيق المستند (DOC، RTF، TXT، HTML، وما إلى ذلك). يقرأ فقط.
  • الأقسام- إرجاع مجموعة من أقسام الوثيقة. جمل- نفس الشيء بالنسبة للمقترحات. خصائص تعمل بالمثل الأشكال , الأنماط, المستندات الثانوية, الجداول, شبابيكو كلمات .
  • يكتب- إرجاع نوع المستند (عادي أو قالب أو صفحة ويب ذات إطارات).
  • المتغيرات- خاصية أخرى مريحة للغاية. يمكنك استخدامه لحفظ بيانات الخدمة الخاصة بك مع المستند، مثل السمات المخصصة، ولكن على عكس سمات المستند المخصصة، فإن هذه الخصائص غير مرئية للمستخدمين.

الآن - عن أهم طرق كائن المستند:

  • تفعيل()- تتيح لك هذه الطريقة جعل المستند الذي تحدده نشطًا (على سبيل المثال، لإدخال النص).
  • إضافة إلى المفضلة ()- إضافة رابط للمستند إلى دليل "المفضلة". يمكن أن يكون مفيدًا إذا كان المستخدم يعمل معه باستمرار.
  • تأكد من التهجئة()و تدقيق نحوي ()- تشغيل التدقيق الإملائي والتدقيق النحوي وفقًا لذلك.
  • يغلق()- أغلق الوثيقة. يمكنك الإغلاق بالحفظ (افتراضيًا)، أو يمكنك الإغلاق بدون (إذا قمت بتحديد المعلمة المناسبة).
  • يقارن()- مقارنة مستند بآخر وإنشاء ملاحظات تحريرية في الأماكن التي توجد بها اختلافات.
  • نموذج البيانات ()- القدرة على تحرير نماذج البيانات - أي البيانات التي يتم فصلها في المستند بواسطة فواصل الحقول والأسطر. بشكل عام، يوصى باستخدام نماذج البيانات في Word فقط عند الضرورة القصوى - يعد Excel وAccess أكثر ملاءمة للعمل مع البيانات المنظمة.
  • اكتشاف اللغة()- تحديد لغة النص. ويتم التدقيق بناءً على الجمل، بناءً على فحص الكلمات الموجودة فيها باستخدام القواميس المدمجة. يحدث هذا الفحص تلقائيًا عند إدخال نص أو فتح مستند جديد. لإعادة التحقق من اللغات، يجب تعيين الخاصية LanguageDetected إلى False.
  • فيتوباجيس ()- طريقة مثيرة جدا للاهتمام. يتغير حجم الخط تلقائيًا بحيث يشغل النص صفحة أقل. يمكن استخدامه للتخلص من "الصفحات المعلقة" ومشاكل التخطيط الأخرى.
  • اتبع الارتباط التشعبي ()- افتح المستند الذي حددته في التطبيق المناسب (إذا كان HTML، ثم في Internet Explorer).
  • اذهب إلى()- توجد طريقة قوية جدًا لكائنات المستند والنطاق والتحديد. في الحالتين الأوليين تقوم بإرجاع كائن نطاق، وفي الحالة الثالثة تقوم ببساطة بنقل مؤشر إدخال النص إلى الموقع المطلوب. يمكن الانتقال إلى أعلى الصفحة أو السطر أو الإشارة المرجعية أو التعليق أو الجدول أو القسم أو الحقل أو الرابط أو الصيغة وما إلى ذلك. ربما لعدد محدد من هذا الكائن، الأول، الأخير، التالي، وما إلى ذلك. إنه مناسب جدًا للاستخدام لوضع المؤشر في المكان المناسب لإدخال النص تلقائيًا.
  • دمج()- القدرة على دمج وثيقتين. الطريقة معقدة للغاية وقوية، وتعتمد على استخدام الملاحظات التحريرية.
  • تقديمه ()- يفتح مستند Word هذا في PowerPoint.
  • اطبع()- طريقة معقدة للغاية تتيح لك طباعة المستند بأكمله أو جزء منه. يقبل عشرين معلمة (كلها اختيارية). يمكن استخدامه لكائنات التطبيق والمستندات والنافذة.
  • معاينة قبل الطباعة()- ضع المستند في وضع المعاينة.
  • يحمي()- القدرة على تقييد التغييرات على مستند باستخدام كلمة مرور أو IRM.
  • يتراوح()- طريقة مهمة جدا . تقوم بإرجاع كائن نطاق (تمت مناقشته أدناه)، مع أخذ عدد حرف البداية للنطاق ورقم حرف النهاية كمعلمات.
  • إعادة()- كرر الإجراء الأخير. يأخذ عدد الإجراءات الأخيرة كمعلمة، ويعيد True إذا كان التكرار ناجحًا.
  • إعادة الصفحة ()- إعادة تقسيم الوثيقة إلى صفحات. يتم استخدامه عادةً إذا تم تعطيل التخزين التلقائي مسبقًا.
  • يحفظ()- معنى هذه الطريقة واضح. إذا لم يتم حفظ المستند بعد، فسيتم فتح مربع حوار حفظ باسم.
  • حفظ باسم ()- طريقة قوية ومعقدة للغاية. يمكنك تحديد مسار المستند المحفوظ وتنسيقه وترميزه وكلمات المرور لفتح المستند وتغييره وإدراج الخطوط وغير ذلك الكثير. طريقة مفيدة جدًا، على سبيل المثال، لتحويل المستندات تلقائيًا.
  • يختار()- يسمح لك ببساطة بتحديد المستند بأكمله. توجد هذه الطريقة لعدد كبير جدًا من الكائنات، بما في ذلك التحديد والنطاق.
  • تحويل المستند ()هي طريقة قوية للغاية، ولكن فقط للمبرمجين الذين هم على دراية جيدة بـ XML وXSLT. يسمح لك بتطبيق تحويل لغة أوراق الأنماط الموسعة (XSLT) على مستند، والذي يمكنك من خلاله تغيير أي شيء تريده.
  • الغاء التحميل()- التراجع عن عدد معين من الإجراءات الأخيرة. من حيث بناء الجملة ومبادئ التشغيل - التناظرية كاملة إعادة().
  • التراجع عن الإلغاء ()- قم بمسح المخزن المؤقت للتراجع حتى لا يتمكن المستخدم من التراجع عن الإجراءات المتخذة.
  • إلغاء الحماية ()- إزالة الحماية من الوثيقة (تحددها الطريقة يحمي()أو على الواجهة الرسومية). يمكن أن يكون مفيدًا جدًا قبل إجراء تغييرات برمجيًا على مستند محمي.

يحتوي كائن المستند على ثلاثة أحداث متكررة الاستخدام فقط - New() (يمكن تعريفها فقط لقالب، ويتم تشغيلها عند إنشاء مستند جديد بناءً على هذا القالب)، وOpen() وClose(). كل هذه الخصائص واضحة ومتاحة في البداية في نافذة Visual Basic Code Editor.

9.3. محرر فيجوال بيسك

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

Arial_10_bold()

"Arial_10_bold ماكرو

" اريال 10 بولد

مع التحديد.الخط

تسطير = wdUnderlineNone

UnderlineColor = wdColorAutomatic

StrikeThrough = خطأ

DoubleStrikeThrough = خطأ

المخطط التفصيلي = خطأ

SmallCaps = خطأ

AllCaps = خطأ

اللون = wdColorAutomatic

نقش = خطأ

مرتفع = خطأ

منخفض = خطأ

الرسوم المتحركة = wdAnimationNone

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

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

يمكن تحرير وحدات الماكرو باستخدام أداة مساعدة خاصة مضمنة في Microsoft Office - محرر Visual Basic (الشكل 9.10).

أرز. 9.10.نافذة محرر فيجوال بيسك

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

يمكنك فتح نافذة محرر Visual Basic بعدة طرق، على سبيل المثال، عن طريق النقر فوق الزر Visual Basic الموجود في لوحة المطور.

من كتاب البرمجة مؤلف كوزلوفا إيرينا سيرجيفنا

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

من كتاب سجل ويندوز مؤلف كليموف الكسندر

Visual Basic تسجيل ملفات dll وocx ستكون هذه الملاحظة مفيدة للمطورين. إذا كان عليك في كثير من الأحيان العمل مع ملفات ocx (بالإضافة إلى ملفات dll) التي تتطلب التسجيل في السجل باستخدام REGSVR.EXE، فسيكون إجراء الإدخال المقابل في السجل أكثر ملاءمة من

من كتاب لغة البرمجة C# 2005 ومنصة .NET 2.0. بواسطة ترويلسن أندرو

نهج Visual Basic 6.0 مع الرغبة الحقيقية في الاستمتاع بحياة أبسط، انتقل العديد من المبرمجين بعيدًا عن "عالم إطار العمل" للتطبيقات المستندة إلى C(++) إلى لغات أكثر سهولة في الاستخدام مثل Visual Basic 6.0 (VB6) ). أصبحت لغة VB6 شائعة بسبب ما تقدمه

من كتاب سجل ويندوز المؤلف كليموف أ

من كتاب BPwin وإروين. أدوات CASE لتطوير نظم المعلومات مؤلف ماكلاكوف سيرجي فلاديميروفيتش

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

من كتاب VBA للدمى بواسطة ستيف كامينغز

2.4.2. إنشاء التعليمات البرمجية في Visual Basic ERwin يدعم إنشاء التعليمات البرمجية لإصدارات MS Visual Basic 4.0 و5.0. يعمل نموذج ERwin كمصدر للمعلومات عند إنشاء النماذج. يتيح لك استخدام ERwin وصف كل من جزء العميل (الكائنات التي تعرض البيانات على الشاشة) في وقت واحد،

من كتاب برمجة أجهزة كمبيوتر الجيب مؤلف فولكوف فلاديمير بوريسوفيتش

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

من كتاب مكتبة دلفي الافتراضية للمؤلف

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

من كتاب المؤلف

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

من كتاب المؤلف

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

من كتاب المؤلف

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

من كتاب المؤلف

الفصل الخامس: محرر Visual Basic في خدمتك. في هذا الفصل...~ البحث عن الأوامر في نظام قائمة محرر Visual Basic~ عرض أشرطة الأدوات ونقلها وتخصيصها~ فهم أشرطة أدوات Dock وWindows واستخدامها~ محاربة حشود Windows لمحرر Visual Basic~

من كتاب المؤلف

واجهة مستخدم محرر Visual Basic محرر Visual Basic هو برنامج Microsoft القياسي - فالقوائم وأشرطة الأدوات واختصارات لوحة المفاتيح تبدو وتعمل بشكل مشابه جدًا لـ Microsoft Office. ستشعر وكأنك في بيتك إذا كنت تستخدم VBA مع تطبيقات Office.

من كتاب المؤلف

بيئة تطوير Visual Basic 3.0 المضمنة للإيجاز، سيتم استخدام الاختصار eVB في هذا الفصل للإشارة إلى بيئة Visual Basic 3.0 المضمنة. يمكنك تشغيل eVB إما باستخدام أمر القائمة "ابدأ" (ابدأ؟ البرامج؟ أدوات Microsoft المرئية المضمنة؟ المرئيات المضمنة). Basic 3.0)، أو ابحث عنه في مجلد التثبيت

من كتاب المؤلف

الاختلافات بين eVB وVisual Basic لـ. NET بشكل أساسي، ترتبط الاختلافات بين VB.NET وeVB بتكامل لغة VB مع Compact Framework ويتم تحديدها بدقة من خلال البنية الداخلية لـ CF نفسها. أنواع البيانات في eVB كان هناك نوع بيانات واحد لجميع المناسبات، المتغير الذي ورثه eVB من VB Script. مرئي

من كتاب المؤلف

دلفي وفيجوال بيسك 1. هل يوجد دلفي مكافئ لمصفوفة تحكم فيجوال بيسك؟ لا. لا تحتوي مكونات دلفي على خاصية فهرس مثل VB. ومع ذلك، هناك ثلاثة أسباب رئيسية وراء رغبتك في استخدامها في لغة VB، ويوجد حل لكل منها في دلفي. السبب 1. تريد

الفصل 15. برمجة VBA في Word.

في هذا الفصل...

~ نموذج كائن الكلمة

~ كائنات الكلمات الرئيسية: Windows، التحديد، النطاقات، وكائن البحث

~ النطاقات أو التحديدات: ما يجب استخدامه عند العمل مع النص

~ طرق وخصائص معالجة النص

~ البحث عن النص واستبداله باستخدام VBA في Word

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

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

تقديم كائن التطبيق

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

Application.ListCommands (صحيح)

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

من كتاب البرمجة المكتبية مؤلف فريسين إيرينا غريغوريفنا

الجزء الثاني البرمجة في VBA في Word

من كتاب العمل المكتبي الفعال مؤلف بتاشينسكي فلاديمير سيرجيفيتش

الفصل 12 Word: كل ما تريد قوله يعد Word من أوائل البرامج التطبيقية التي طورتها Microsoft بعد برامج النظام. ظهرت الإصدارات الأولى منذ أكثر من 10 سنوات، وكل هذا الوقت تم تحسينها. كانت الإصدارات الأولى من البرنامج تسمى بالفعل نصًا

من كتاب Word 2007. برنامج تعليمي شعبي المؤلف كرينسكي آي

الفصل الأول أساسيات مايكروسوفت وورد

من كتاب أساسيات علوم الكمبيوتر: كتاب مدرسي للجامعات مؤلف مالينينا لاريسا الكسندروفنا

الفصل الخامس محرر النصوص Microsoft Word 5.1. تشغيل المحرر وإنشاء المستندات وفتحها وحفظها تم تصميم محرر النصوص Microsoft Word لإنشاء ومعالجة أي مستندات نصية بدءًا من ملاحظة بسيطة وحتى التخطيط الأصلي لمنشور معقد. العمل مع النص

من كتاب تقنيات البرمجة المؤلف كامايف ف

الفصل التاسع البرمجة المرئية 9.1. المفهوم العام للبرمجة المرئية البرمجة المرئية موجودة في الوقت الحاضر. مرة واحدة من نماذج البرمجة الأكثر شعبية. تتكون البرمجة المرئية من التطوير الآلي

من كتاب البرمجة بالروبي [أيديولوجية اللغة ونظرية وممارسة التطبيق] بواسطة فولتون هال

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

من كتاب VBA للدمى بواسطة ستيف كامينغز

الفصل 16. برمجة VBA في Excel. في هذا الفصل...~ فهم نموذج كائن Excel ~ معالجة الخلايا باستخدام كائنات النطاق ~ إنشاء وظائف خاصة بك لاستخدامها في صيغ ورقة العمل ~ استخدام وظائف Excel المضمنة في VBA ~ العمل مع

من كتاب برمجة أجهزة المساعد الرقمي الشخصي والهواتف الذكية على .NET Compact Framework مؤلف كليموف ألكسندر ب.

الفصل 17. برمجة قواعد البيانات. في هذا الفصل...~ فهم المصطلحات~ كتابة التعليمات البرمجية لقاعدة البيانات باستخدام كائنات بيانات ActiveX~ البرمجة باستخدام DAOs~ التسريع باستخدام SQLعلى الرغم من أن Access هو تطبيق قاعدة البيانات الرسمي،

من كتاب مع جهاز كمبيوتر عليك. أساسيات المؤلف إيجوروف أ.

الفصل التاسع برمجة الهواتف الذكية مميزات برمجة الهواتف الذكية سنتعلم في هذا الفصل كيفية إنشاء تطبيقات للهواتف الذكية التي تعمل بنظام Windows Mobile 5.0. لقد حدث أنه في روسيا لم يتم استلام الهواتف الذكية التي تعمل بنظام الهاتف الذكي 2003 في البداية

من كتاب لينكس: الدليل الكامل مؤلف كوليسنيتشينكو دينيس نيكولاييفيتش

الفصل الرابع مايكروسوفت وورد 4.1. ميزات Microsoft Word يعد Microsoft Word واحدًا من أفضل وأقوى برامج تحرير النصوص اليوم. لا يتم تضمين Word، على عكس Notepad وWordPad، في Windows، ولكن يتم توزيعه كجزء من حزمة برامج Microsoft Office. البرنامج لديه ضخمة

من كتاب الكمبيوتر للمحاسب مؤلف فيلاتوفا فيوليتا

الفصل 28 برمجة النواة في الفصل السابع، تعلمت أن برامج تشغيل الأجهزة في Linux يتم تنفيذها كوحدات kernel، وقد تعرفت على حزمة Module-init-tools (المعروفة أيضًا باسم modutils for 2.4 kernels)، والتي تحتوي على أدوات مساعدة لتنفيذ العمليات الأساسية على النواة. وحدات النواة. في هذا الفصل سأبين كيف

من كتاب دليل مطور قاعدة بيانات Firebird بواسطة بوري هيلين

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

من كتاب الوصول 2002: البرنامج التعليمي مؤلف دوبنوف بافيل يوريفيتش

الفصل 27. البرمجة مع المعاملات. المعاملة هي نقطة البداية لجميع التفاعلات بين تطبيق العميل والخادم. في هذا الفصل، سننظر في بدء المعاملات وإدارتها وإكمالها من منظور واجهات العميل المختلفة والعديد من اللغات

من كتاب الكمبيوتر المكتبي للنساء مؤلف باسترناك يفغينيا

الفصل 11 البرمجة في لغة SQL كما ذكرنا في الفصل 9، "التخصص" الرئيسي للغة SQL هو بناء استعلامات المستخدم إلى قاعدة البيانات. لذلك، البرمجة في لغة SQL هي في الأساس تشكيل مثل هذا

من كتاب الكمبيوتر سهل! المؤلف علييف فاليري

الفصل الأول محرر نصوص مايكروسوفت وورد

من كتاب المؤلف

الفصل الثالث Microsoft Word، أو كيفية الطباعة على الكمبيوتر لماذا تحتاج إلى معالج النصوص؟ الشروع في العمل أشرطة أدوات إعدادات Microsoft Word إنشاء مستند تنسيق مستند تمييز تحرير مستند جداول وحدود WordArt.

كائن Word.Application

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

مفتاح نموذج كائن Word هو كائن التطبيق لأنه يحتوي على كافة كائنات Word الأخرى. يبلغ عدد عناصرها على مستويات مختلفة من التسلسل الهرمي حوالي 180 عنصرًا. يحتوي كائن التطبيق الجذر نفسه على أكثر من مائة عنصر: الخصائص والأساليب والأحداث.

خصائص كائن Word.Application

تنقسم خصائص أي كائن إلى مجموعتين: خصائص المشاركين (الكائنات) والخصائص الطرفية (متغيرات VBA العادية).

يتم توفير نظام موحد لتنظيم أشرطة القوائم وأزرار الأدوات من خلال كائن CommandBars، والمساعدة من خلال المساعد، والبحث من خلال FileSearch.

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

دعونا نلقي نظرة على الكائنات الخلفية.

شيء التصحيح التلقائييدعم التصحيح التلقائي للنصوص المكتوبة. قدراتها تعادل الأمر التصحيح التلقائيقائمة طعام خدمة.

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

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

ثلاثة أشياء تتعلق بالنحو والتدقيق الإملائي: اللغات والقواميس والاقتراحات الإملائية، - يسمح لك بتعيين اللغة المطلوبة، وتحديد قاموس، بما في ذلك القواميس المخصصة، وكذلك العمل مع قائمة الكلمات المقترحة للتصحيح عند اكتشاف خطأ إملائي. توفر أوامر التدقيق الإملائي واللغة في قائمة "الأدوات" وظائف مماثلة عند التعامل مع مستند يدويًا.

باستخدام كائن Options، يمكنك تعيين خيارات متنوعة للتطبيقات والمستندات برمجيًا، تمامًا كما تفعل إذا قمت بتحديد أمر Options في القائمة Tools.

العمل مع المستندات وفئة المستند

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

تقوم خاصية الحوارات العمومية بإرجاع مجموعة من مربعات الحوار. يحدد الثابت wdDialogFileOpen مربع حوار معين - كائن من فئة الحوار.


الفئات التي تحدد هيكلة نص الوثيقة

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

تتيح لك فئات الأحرف والكلمات والبيانات والفقرات والأقسام العمل مع تسلسلات (مجموعات) من الأحرف والكلمات والجمل والفقرات والأقسام. أكبر وحدة بعد الفقرة هي القسم. أحد عناصر مجموعات الأحرف والكلمات والبيانات هو كائن من فئة النطاق. يتيح لك كائن النطاق العمل مع عنصر واحد أو تسلسل عشوائي من العناصر. المستندات والمستندات الثانوية والفقرات والأقسام - تحتوي جميعها على أسلوب أو خاصية Range التي تُرجع النطاق المرتبط بالكائن. لذلك، يتم العمل مع النص بطريقة أو بأخرى من خلال أساليب وخصائص كائن النطاق.


أحداث كائن المستند

يمكن لكائن المستند الاستجابة لثلاثة أحداث تحدث نتيجة لإجراءات المستخدم.


الجدول 16

أحداث كائن المستند الوثيقة وأجزائها

دعونا نلقي نظرة على الفئات الرئيسية التي تحدد بنية الوثيقة.

1. المستندات الثانوية (المستند الثانوي)– المجموعة والوثيقة الثانوية نفسها. هناك حد معقول لحجم مستند واحد. إذا كان المستند يحتوي على أكثر من 10-20 صفحة، يصبح من غير المناسب العمل به. وفي هذه الحالة، فهو يحتوي على مستند رئيسي ومستندات ثانوية. تحتوي الوثيقة الرئيسية في هذه الحالة على مجموعة من المستندات الثانوية، كل واحدة منها هي في الواقع وثيقة يمكن العمل بها بشكل مستقل.

يقوم الأسلوب AddFromRange الخاص بالفئة SubDocuments بإنشاء مستند ثانوي عن طريق تحديد المنطقة المحددة بواسطة معلمة Range من المستند الرئيسي.

2. الجداول (جدول)، فئات جداول التفويضات (T.O.A.C)، جداول جداول الصلاحيات (جدول الصلاحيات)، جداول محتويات الأذونات (جداول المحتوى)، جداول أعداد الأذونات (جداول البيانات في الشكل). تحدد فئة الجدول الجداول "العادية" بعدد عشوائي من الصفوف والأعمدة وملء الحقول بشكل عشوائي. تحدد الفئات المتبقية جداول من نوع خاص.

3. الأشكال(الشكل)، الأشكال المضمنة(الشكل المضمن)- هاتان المجموعتان مع عناصرهما تسمح لك بإضافة رسومات إلى الوثيقة، ولكن ليس فقط لهم. تعد كائنات ActiveX وOLE أيضًا عناصر من هذه المجموعات. تختلف عناصر هاتين المجموعتين في كيفية ربطها بالوثيقة: الأولى يمكن نقلها بحرية، والثانية مرتبطة بشكل صارم بمنطقة معينة من الوثيقة.

4. القوائم (قائمة)، ListParagraphs (ListParagraph)، listTemplates (ListTemplate)- القوائم ملائمة للدخول في مستند عند التعامل مع التعداد. ويمكن تصميم القوائم وفقا للقالب. هناك مجموعتان من القوالب: القوائم المرقمة وقوائم النشرات. تحتوي مجموعة ListTemplates على قوالب تصميم القائمة، وتصف فئة ListTemplate قالبًا محددًا. يتم تطبيق القالب على قائمة الفقرات ويمنحها البنية المحددة بواسطة القالب. تحتوي مجموعة القوائم على قوائم المستندات (قوائم الفقرات) التي تم تنسيقها كقوائم مرقمة أو قوائم نشرات. تمثل مجموعة ListParagraphs قائمة فقرات من كافة القوائم الموجودة في المستند. الخاصية ListParagraphs، التي تُرجع كائنًا من الفئة المقابلة، لا تمتلكها الوثيقة فحسب، بل أيضًا كائنات القائمة والنطاق. لذلك، نظرا لقائمة - كائن قائمة، يمكنك تحديد قائمة الفقرات. في كثير من الأحيان، يتعين عليك إجراء العملية المعاكسة - قم بتطبيق أحد القوالب المحتملة على قائمة الفقرات، مما يمنحها بنية قائمة "حقيقية". ثم استخدم كائن ListFormat.

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

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

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

هناك طريقة أخرى للتعليق وهي الحواشي السفلية. يمكن أن تكون من نوعين: صفحة فرعية (في أسفل الصفحة) ونهاية (في نهاية المستند). يتم جمع الأول في مجموعة الحواشي، والثاني - الحواشي الختامية.

6. مجالات(حقل) – تتيح لك هذه المجموعة العمل مع حقول المستندات. إحدى ميزات الحقول هي أن قيمها يتم تحديثها تلقائيًا اعتمادًا على الظروف أو السياق الخارجي المتغير.

7. نطاقات القصة(المدى) – تمثل هذه المجموعة مجموعة من أجزاء الوثيقة تسمى الأجزاء (القصة). تم إصلاح عدد أجزاء المستند المختلفة. لا يمكنك إضافة عناصر إلى هذه المجموعة بالطريقة العادية باستخدام طريقة الإضافة. تظهر الأجزاء في المجموعة عند إنشاء الجزء المقابل من المستند.

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

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

كائنات النطاق والتحديد

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

معظم أجزاء المستند الموضحة مسبقًا هي أيضًا أجزاء (خصائص) من كائنات النطاق والتحديد.

كائن النطاق يشبه دمية التعشيش: تحتوي كل منطقة على مساحة أصغر. فيما يلي مثال على الإعداد الصحيح (وإن لم يكن الأكثر كفاءة) لكائن النطاق:

ActiveDocument.Range.Sections(1).Range.Paragraphs(l).Range.Sentences(1). الكلمات(1).الشخصيات(1)

العمل مع النص

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

اختيار

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

النقل هو الأسلوب الأساسي لتحريك نقطة الإدراج. باقي الأساليب في هذه المجموعة عبارة عن تعديلات بدرجة أو بأخرى. تعمل طريقة Move(Unit, Count) على تقليص المنطقة إلى نقطة ما، وسحبها إلى البداية أو النهاية، ثم تحريك نقطة الإدراج. تحدد معلمة الوحدة وحدات الحركة، والعدد – عدد هذه الوحدات (الافتراضي 1). تحدد علامة المتغير Count اتجاه الانكماش والحركة. تحدد القيم الإيجابية لهذه المعلمة الانكماش حتى النهاية والتحرك للأمام، والقيم السلبية - الانكماش حتى البداية والحركة للخلف. يتم تحديد الانكماش النقي دون تحريك نقطة الإدراج كحركة لوحدة واحدة. تقوم الطريقة بإرجاع عدد الوحدات التي حدثت بها الحركة بالفعل، أو 0 إذا لم يتم تنفيذها. تقبل معلمة الوحدة القيم wdCharacter (افتراضي)، وwdWord، وwdSentence، وwdParagraph، وwdSection، وwdStory، وwdCell، وwdColumn، وwdRow، وwdTable.

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

ActiveDocument.Paragraphs(l).Range.Move

ليس له أي تأثير لأن منطقة الفقرة الأولى غير قابلة للتغيير. تعمل طريقة النقل على تقليص المنطقة إلى نقطة يتم نقلها، وبالتالي تختفي المنطقة بعد تنفيذها، وتبقى نقطة الإدراج فقط. تعمل أساليب MoveStart وMoveEnd على نقل نقطة البداية أو النهاية لمنطقة ما، مما يؤدي عادةً إلى توسيع المنطقة.

حذف النص

طريقة يمسحيسمح لك بحذف النص. عند استدعائه بدون معلمات، فإنه يحذف كائن النطاق أو التحديد الذي استدعاه. إذا تم تطبيقه في النموذج حذف (الوحدة، العدد)، يزيل جزءًا من النص في المنطقة المحددة. تحدد معلمة الوحدة الوحدات، ولكن عند الحذف، هناك قيمتان فقط ممكنتان: wdWord وwdCharacter. تحدد المعلمة Count عدد الوحدات المراد إزالتها. إذا تم تقليص المنطقة إلى نقطة ما، تتم إزالة الأحرف قبل أو بعد نقطة الإدراج، اعتمادًا على إشارة معلمة Count.

إدراج النص

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

تسمح لك الخاصية Text باستبدال النص في المنطقة المحددة، لذلك ليست هناك حاجة لاستدعاء الأسلوب Insert(Text). تعد الطريقتان InsertBefore وInsertAfter آمنتين لأنه تتم إضافة النص دون تغيير محتويات المنطقة. الأمر المختلف تمامًا هو طرق الإدراج، وهي بعيدة كل البعد عن كونها آمنة. عند الإدراج في منطقة ما، مثل استخدام أسلوب InsertSymbol أو InsertParagraph، يتم استبدال محتويات المنطقة.

العمل مع المخزن المؤقت

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

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

تسمح لك طريقة اللصق بوضع ("لصق") محتويات المخزن المؤقت في المنطقة المحددة بواسطة كائنات النطاق والتحديد. تعتبر هذه العملية خطيرة لأنها تستبدل النص ولا تضيفه. لذلك، عادةً ما يتم تطبيق أسلوب اللصق على كائنات النطاق والتحديد التي تم طيها مسبقًا إلى نقطة الإدراج. يطبق الأسلوب PasteFormat التنسيق المخزن في المخزن المؤقت على كائن التحديد.

على سبيل المثال، لنقم بإنشاء ماكرو يقوم بإدراج القائمة "تم اجتياز الدرس، الامتحان!"، ونسخها ووضعها مرة أخرى على الورقة.

ماكرو فرعي 1()

مع Selection.ParagraphFormat

Selection.TypeText Text:="التعامل مع النص:"

Selection.TypeParagraph

ListGalleries(wdBulletGallery).ListTemplates(1)._ListLevels(1)

ListGalleries(wdBulletGallery).ListTemplates(1).الاسم = ""

Selection.Range.ListFormat.ApplyListTemplate

ListTemplate:=ListGalleries(wdBulletGallery).ListTemplates(1)، continuePreviousList:=False، ApplyTo:= _wdListApplyToWholeList، DefaultListBehavior:=wdWord10ListBehavior

Selection.TypeText Text:="الدرس"

Selection.TypeParagraph

Selection.TypeText نص: = "الامتحان"

Selection.TypeParagraph

Selection.TypeText نص: = "مرر"

Selection.TypeParagraph

Selection.Range.ListFormat.RemoveNumbers

NumberType:=wdNumberParagraph

Selection.TypeParagraph

Selection.TypeText Text:="اكتملت المهمة!"

Selection.WholeStory

Selection.PasteAndFormat(wdPasteDefault)

5.2. تنسيق مستند

العمل مع النص(استمرار)

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

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

ActiveDocument.Paragraphs(1).Range.Text = "Oxo-xo!!"

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

Selection.Text = "يعد تعلم كيفية التعامل مع النص في مستند Word جزءًا مهمًا من تعلم البرمجة في VBA، " + TextBox1.Text + "، ويلبي احتياجات جميع المبرمجين!"

ونتيجة لتنفيذ كود البرنامج هذا، سيتم عرض السطر التالي في مستند Word:

يعد تعلم العمل مع النص في مستند Word جزءًا مهمًا من القدرة على البرمجة باستخدام VBA وSvetlana، ويلبي احتياجات جميع المبرمجين!

هنا يتم قراءة اسم سفيتلانا، على سبيل المثال، من حقل نصي من نوع ما يحتوي على حقل إدخال واحد فقط للاسم وزر "نص الإخراج" (الشكل 64).


أرز. 64.استمارة إدخال البيانات


عند العمل مع النص في ورقة عمل Word، تحتاج إلى معرفة الرموز التالية:

تعريف اللون

wdColorRed - أحمر

wdColorDarkRed – بورجوندي

wdColorDarkTeal - الفيروز

wdColorBlue - أزرق

wdColorGreen - أخضر

wdColorBlack – أسود

wdColorOrange - برتقالي


تحديد محتوى الدهون

wdToggle – الجرأة


تعريف الاسلوب

wdToggle - مائل


تعريف المحاذاة

Selection.ParagraphFormat.Alignment=

wdAlignParagraphRight – المحاذاة اليمنى

wdAlignParagraphCenter – محاذاة المركز

wdAlignParagraphJustify - المحاذاة إلى اليسار


-إدراج جملة محددة في النص

Selection.TypeText Text:="مثال للعمل مع النص"

إدخال سطر فارغ جديد

Selection.TypeParagraph

تحديد حجم الرسالة

التحديد.حجم الخط = 14

ملحوظة.لتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح، استخدم القدرة على إنشاء برنامج لكتابة الماكرو.

أحد عناصر تصميم مربعات الحوار هو عنصر التحكم صورة(رسم). خصائصه الرئيسية:

الحجم التلقائي – تغيير حجم الصورة في النموذج (تلقائيًا أم لا)؛

الصورة - تعرض ملف رسومي معروض في النموذج؛

PictureSizeMode - يضبط حجم الصورة (وليس الصورة بأكملها، سطح الكائن بالكامل، بالكامل داخل الكائن)؛

PictureAligment - يضبط موضع الصورة داخل الكائن (يسار، يمين، أعلى، أسفل)؛

PictureTilling - يغطي كائنًا بفسيفساء من الصورة.

يتم تعيين هذه الخصائص إما في نافذة خصائص الكائن أو يتم تحديدها في القائمة.


مثال 30. أنشئ برنامجًا يحسب كمية الحرارة المنطلقة في الموصل عندما يتدفق التيار من خلاله. تُعرف صيغة حساب كمية الحرارة بقانون جول-لينز:

أين س- كمية الحرارة بالجول؛

ش- الجهد بالفولت.

ر- الوقت بالثواني؛

س- مساحة المقطع العرضي للموصل بالمليمتر المربع؛

ل- طول الموصل بالأمتار؛

ر- المقاومة النوعية للمادة الموصلة بالأوم؟ مم 2 / م .


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

تكنولوجيا التنفيذ

قم بإنشاء نموذج حسب الشكل الموضح. 65.



أرز. 65.النموذج المطور للمثال 30 في حالة صالحة للعمل وإخراج المعلومات الناتجة في مستند Word


عند إنشاء نموذج، قم بتعيين خصائص العنصر الضرورية. قم بتعيين الخاصية Locked الخاصة بـ TextBox6 إلى True لمنع المستخدم من كتابة نص فيها عن طريق الخطأ.

وصف الإجراءات

إذا Documents.Count = 0 ثم Documents.Add

Selection.Text = "عندما يمر تيار بجهد " + TextBox1.Text + " فولت عبر موصل بطول " + TextBox4.Text + " متر، فإن المقطع العرضي " + TextBox3.Text + " مربع. مم ومقاومة " + TextBox5.Text + " Ohm*mm2/m لـ " + TextBox2.Text + " ثانية مميزة " + TextBox6.Text + " جول من الحرارة "

Selection.Collapse Directions:=wdCollapseEnd

TextBox1_Change () فرعي خاص

TextBox2_Change () فرعي خاص

مربع نص فرعي خاص3_Change()

TextBox4_Change () فرعي خاص

مربع نص فرعي خاص5_Change()

سكيت فرعي خاص ()

إذا كان IsNumeric(TextBox1.Text) = صحيح و

IsNumeric(TextBox2.Text) = صحيح و

IsNumeric(TextBox3.Text) = صحيح و

IsNumeric(TextBox4.Text) = صحيح و

IsNumeric(TextBox5.Text) = صحيح وليس Val(TextBox4.Text)

0 وليس Val(TextBox5.Text) = 0 إذن

ريز = ((فال(TextBox1.Text) ^ 2) * فال(TextBox2.Text) *

فال(TextBox3.Text)) / (فال(TextBox4.Text) *

فال (TextBox5.Text))

TextBox6.Text = Str$(rez)

CommandButton1.Enabled = صحيح

TextBox6.Text = ""

ملحوظة.عند تشغيل هذا التطبيق، يجب أن تكون جميع قيم حقول الإدخال رقمية. يحتوي VBA على وظيفة خاصة للتحقق مما إذا كانت السلسلة المدخلة عبارة عن سجل رقمي أم لا - IsNumeric. للتحقق مما إذا كانت القيم في حقلي الإدخال الأخيرين غير صفرية، استخدم الدالة Val، التي تحول تعبير السلسلة إلى تعبير رقمي إذا كان تعبير السلسلة هذا يحتوي على أرقام في البداية (أو كل شيء يتكون منها).

تقوم الدالة Str بعكس ما تفعله Val، فهي تقوم بتحويل القيمة الرقمية للتعبير إلى قيمة سلسلة، مما يسمح بمعاملة القيمة كسلسلة.

وبالتالي، تقوم الدالتان Val وStr بتحويل أنواع بيانات المتغيرات التي تعالجها، من سلسلة إلى رقمية ومن رقمية إلى سلسلة، على التوالي (انظر الفصل 3).

قم بإنشاء زر أو لوحة في Word

لا يمكنك تعيين زر أو عنصر قائمة لنموذج لاستدعاء تطبيق من Word مباشرة - يمكن القيام بذلك فقط للوحدات النمطية. ولذلك، تحتاج إلى استخدام الطريقة التالية. قم بإنشاء ماكرو (قائمة + إدراج + وحدة نمطية) في مشروع مفتوح:

أعد تسمية هذا الماكرو كما تريد، مثل Teplo. واتبع هذه الخطوات.

1. انقر بزر الماوس الأيمن في أي مكان على شريط الأدوات.

2. من هذه القائمة، حدد الأمر إعدادات(أو الخدمة + الإعدادات).

3. في مربع الحوار إعداداتانقر على اختصار علامة التبويب فرق.

4. قم بتمرير القائمة فئاتلأسفل وابحث عن العنصر وحدات الماكرو. حدد هذا العنصر. في قائمة "حفظ في"، حدد اسم المستند الذي تم إنشاء الماكرو فيه (الشكل 66).


أرز. 66.البحث عن ماكرو لإنشاء زر


5. في النافذة اليمنى، ابحث عن الماكرو المطلوب (أو برنامج VBA).

6. اسحب اسم هذا الماكرو أو البرنامج إلى شريط الأدوات.

7. قم بإنشاء تسمية زر مقابلة، وإذا لزم الأمر، صورة (باستخدام زر الفأرة الأيمن).

8. أغلق مربع الحوار جلسة،لإكمال المهمة.

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

مثال 31. قم بإنشاء برنامج يسمح لك بملء الطلبات القياسية من طلاب مؤسسة تعليمية، إذا تم ملء جميع البيانات اللازمة في الحقول النصية المقابلة للنموذج، وتم تحديد سبب الغياب عن الفصول الدراسية من القائمة المنسدلة ( الشكل 67، 68).



أرز. 67.النموذج المطور للمثال 31 في حالة العمل


مثال 32. قم بإنشاء برنامج يسمح لك بحساب مقدار الأموال التي تنفق على البنزين عند السفر إلى الدولة.

يرجى مراعاة ما يلي: يمكن أن تكون شروط السفر: ذهاب فقط، ذهابًا وإيابًا، يمكنك ركوب سيارة شخص آخر (تؤخذ هذه الشروط في الاعتبار في القائمة المنسدلة "شروط السفر" في النموذج الذي تم إنشاؤه).

إلى معلم الصف

مجموعات AS-42

سيدوروف أو.

من طالب

بيترينكو أوليغ إيفانوفيتش

إفادة

(بيترينكو أوليغ إيفانوفيتش)(18.05.2007 )

أرز. 68.


يتم حساب النتيجة التي تم الحصول عليها باستخدام الصيغة:

النتيجة = المسافة * (استهلاك البنزين لكل 100 كيلومتر) / 100*سعر البنزين للتر.

يرجى ملاحظة أنه إذا اخترت السفر "في سيارة شخص آخر"، فإن سعر البنزين هو 0 روبل.


أرز. 69.النموذج المطور للمثال 32 في حالة العمل


ضع في اعتبارك أيضًا أنه إذا تجاوزت نتيجة الحساب 400 روبل، فسيتم عرض الرسالة "هل يجب أن نذهب إلى السوق؟"

عند إنشاء النموذج، اتبع الشكل. 69، عند إخراج النص إلى مستند Word - الشكل. 70.

عند السفر إلى داشا، الواقعة على بعد 55 كم، مع سعر البنزين للتر الواحد 18.50 روبل، سيكون استهلاك البنزين 101.75 روبل.

أرز. 70.


مثال 33. تطوير البرنامج الذي ينتج تقرير دخل المستثمرفي الوقت الحاضر. يرجى ملاحظة أنه في واجهة النموذج يتم تحديد سعر الفائدة من القائمة المنسدلة (قدم نوعين من الفائدة).


أرز. 71.النموذج المطور للمثال 33 في حالة العمل


عند الحساب، اتبع الصيغ التالية:

إذا كان مخطط الحساب بسيطا، ثم

الدخل = المبلغ المودع + المبلغ المودع * سعر الفائدة/100*المدة/360؛

إذا كان مخطط الحساب معقدا، ثم

الدخل = المبلغ المودع + المبلغ المودع * سعر الفائدة/100*أجل/360 +0.01*(المبلغ المودع * سعر الفائدة/100*أجل/360).

عند تطوير واجهة النموذج، اعتمد على الشكل الموضح. 71، وعند إخراج العمليات الحسابية إلى مستند Word - الشكل 71. 72.

تقرير الدخل

في الوقت الحالي، لدى المواطنة أولغا كونستانتينوفنا إيفسيفا فائدة بسيطة على حسابها بمبلغ استثمار أولي قدره 1000 روبل. لمدة 150 يومًا بمعدل 2٪ 1008.33 روبل.

أرز. 72.التنسيق التقريبي لإخراج العمليات الحسابية إلى مستند Word


يتم عرض نتيجة الحسابات مع التوضيحات المناسبة في مستند Word، ويتم تقديم النتيجة الرقمية للعمليات الحسابية في حقل النموذج.

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

عند العمل اتبع التين التالي. 73 و 74.

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


أرز. 73.النموذج المطور للمثال 34 في حالة العمل



أرز. 74.التنسيق التقريبي لإخراج بيان في مستند Word

الفصل 6

أتمتة الوثائق القياسية

6.1. صناديق الحوار المضمنة

مربعات الحوار

في VBA، هناك خياران لإنشاء مربعات الحوار التي تسمح لك بإجراء محادثات تفاعلية مع المستخدمين.

تعرض نافذة رسالة MsgBox رسائل بسيطة للمستخدم، وتوفر نافذة الإدخال InputBox إدخال المعلومات.

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

بناء الجملة:

InputBox(message [,header] [,default] [,xpos] [,ypos])

الحجج:


رسالة– تعبير سلسلة يتم عرضه كرسالة في مربع حوار. قد تحتوي على خطوط متعددة. لفصل الأسطر، يمكنك استخدام حرف إرجاع (chr(13)) أو تغذية سطر (chr(10)) أو مزيج من هذه المفاتيح (chr(13) & chr(10));

عنوان

تقصير- تعبير سلسلة يتم عرضه في حقل الإدخال كتعبير افتراضي إذا لم يُدخل المستخدم سلسلة أخرى. إذا تم حذف هذه الوسيطة، فسيظهر حقل الإدخال فارغًا؛

اكسبوس- تعبير رقمي يحدد المسافة الأفقية بين الحد الأيسر لمربع الحوار والحافة اليسرى للشاشة؛

Ypos– تعبير رقمي يحدد المسافة الرأسية بين الحد العلوي لمربع الحوار والحافة العلوية للشاشة.

لتمرير هذه المعلومات (القيمة المدخلة في حقل الإدخال) إلى البرنامج، قم بتعيين القيمة التي يتم إرجاعها بواسطة وظيفة InputBox إلى متغير سلسلة (الشكل 75)، على سبيل المثال:

strA=InputBox("ما هي المقاعد التي تفضلها؟""، "السكك الحديدية الروسية"، "بجانب النافذة")

أرز. 75.نتيجة الدالة InputBox


يعرض الإجراء MsgBox مربع حوار يحتوي على رسالة، وينتظر حتى يضغط المستخدم على زر، ثم يُرجع عددًا صحيحًا يشير إلى الزر الذي تم الضغط عليه.

بناء الجملة:

MsgBox(الرسالة [، الأزرار] [، العنوان] [، ملف_المساعدة، القسم])

الحجج:

رسالة- تعبير سلسلة معروض كرسالة في مربع الحوار؛

أزرار -تعبير رقمي يمثل مجموع القيم التي تشير إلى عدد ونوع الأزرار المعروضة ونوع الأيقونة المستخدمة والزر الأساسي وطريقة مربع الرسالة. القيمة الافتراضية هي 0. انظر الجدول لجميع قيم هذه الوسيطة. 17، 18؛

عنوان- تعبير سلسلة معروض في شريط عنوان مربع الحوار. إذا تم حذف هذه الوسيطة، يتم وضع اسم التطبيق على السلسلة؛

ملف المساعدة– تعبير سلسلة يحدد اسم ملف التعليمات الذي يحتوي على معلومات المساعدة حول مربع الحوار هذا. إذا تم تحديد هذه الوسيطة، فيجب أن تكون وسيطة السياق موجودة أيضًا؛

الفصل -تعبير رقمي يحدد رقم القسم المقابل لنظام المساعدة.


الجدول 17


ملحوظة.الأزرار الأولى نشطة بشكل افتراضي.


الجدول 18

قيم وسيطة زر إجراء MsgBox

إذا كان هناك زرين فقط في مربع الرسالة، فستكون عبارة If...then مفيدة لمعرفة الزر الذي تم النقر عليه. على سبيل المثال:

إذا كان MsgBox("Start؟", vbYesNo)= vbYes إذن

عوامل تشغيل هذا الزر

عوامل تشغيل زر آخر

مثال 35 . قم بإنشاء برنامج بطريقة أنه عند تشغيل النموذج، أدخل اسمًا في حقل النص وانقر فوق الزر "Output Text"، وسيظهر مربع حوار يطلب الإذن بإخراج النص (الشكل 76).



أرز. 76.مثال 35 النموذج في طريقة عرض التصميم


سرد عمل النموذج

أمر فرعي خاص1_Click()

إذا كان MsgBox("نص الإخراج؟"، vbYesNo) = vbYes إذن

إذا Documents.Count = 0 ثم Documents.Add Selection.Text = "يعد تعلم كيفية العمل مع النص في مستند Word جزءًا مهمًا من تعلم البرمجة في VBA، "+ TextBox1.Text + "، ويلبي احتياجات الجميع المبرمجين!

Selection.Font.Color = wdColorBlue

Selection.Font.Bold = wdToggle

Selection.Font.Italic = wdToggle

نتيجة لتشغيل التطبيق (الشكل 77)، ستظهر الجملة التالية في مستند Word:

يعد تعلم العمل مع النص في مستند Word جزءًا مهمًا من القدرة على البرمجة في VBA وSveta، ويلبي احتياجات جميع المبرمجين!

أرز. 77.مثال 35 النموذج في وضع العمل

مهام لتوحيد المواد

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

تكنولوجيا التنفيذ

1. قم بإنشاء نموذج لتنفيذ هذه اللعبة.

2. وصف الإجراءات.

زر إرم العملة

أمر فرعي خاص1_Click()

العملة = كثافة العمليات (2 * Rnd)

إذا كان OptionButton1.Value = True إذن

إذا كانت العملة = 0، فإن MsgBox "لم يحالفه الحظ. من الأفضل البدء في تعلم VBA"

إذا كانت العملة = 1 ثم MsgBox “محظوظ. مبروك عليك الفوز"

إذا كان OptionButton2.Value = True إذن


أرز. 78.النموذج المطور للمثال 36 في حالة صالحة للعمل ومربع حوار يتفاعل مع نتيجة اللعبة

إذا كانت العملة = 1، فإن MsgBox “لم يحالفه الحظ. من الأفضل البدء في تعلم VBA"

إذا كانت العملة = 0 ثم MsgBox “محظوظ. مبروك عليك الفوز"

زر الخروج من اللعبة

أمر فرعي خاص Button2_Click()

خافت ima كسلسلة

intA = MsgBox("اضغط على الزر!", vbYesNoCancel +

vbExclamation + vbDefaultButton3، "VBA للدمى!")

إذا كان MsgBox("start؟", vbYesNoCancel) = vbYes إذن

ima = InputBox("أدخل اسمك"، "مثال لمربع الإدخال")

إذا كنت<>""ثم

MsgBox "Hello،" & ima، vbInformation، "مثال لمربع الرسائل"

MsgBox "جاهل، نسيت إدخال اسمك" & ima، vbExclamation، "مثال آخر لمربع الرسالة" End If

إذا كان MsgBox ("هل تعتقد أنك متأكد؟"، vbYesNoCancel) = vbNo إذن

MsgBox("هاهاها")

آخر: MsgBox "حسنًا، أخيرًا!"

مثال 37 . ينص تطبيق الألعاب المطور على إنشاء نافذة "البنك"، حيث سيتم عرض نتيجة نقاط اللاعب عند توقف اللعبة. قواعد اللعبة: عندما يفوز اللاعب، يتم إضافة مبلغ واحد إلى المبلغ الموجود في البنك؛ وعندما يخسر، يتم إضافته إلى الكمبيوتر (يتم طرحه من المبلغ الموجود في البنك).

توفير كافة مربعات الحوار اللازمة.

مثال 38. محاكاة لعبة كاملة من الرؤوس والذيول. يقوم اللاعب بإيداع مبلغ معين من المال في البنك. لا يمكنك إضافة أموال إلى البنك أثناء اللعبة. تتكون اللعبة من سلسلة من الخطوات المحددة مسبقًا. في الخطوة التالية، يفكر اللاعب إما في الرؤوس أو الذيول. الكمبيوتر "يقلب" العملة المعدنية. إذا "سقطت العملة على نفس الجانب" الذي حدده اللاعب، فإن البنك يزيد بمقدار واحد، وإلا فإنه ينقص بواحد. تنتهي اللعبة إما بناءً على طلب اللاعب، أو عندما تصبح قيمة البنك صفراً أو أكثر من 10000 روبل. (قدر معين). يأخذ اللاعب محتويات البنك لنفسه. يمكنك توفير الحد الأقصى والحد الأدنى للمبالغ التي كانت موجودة في البنك طوال اللعبة.

ملحوظة. يمكنك محاكاة رمي حجر النرد باستخدام الدالة Int(6* Rnd)+1. تتغير القواعد: الشخص الذي ألقى أكبر عدد من الانتصارات.

تكنولوجيا التنفيذ

دعونا نفكر في أحد الخيارات لحل هذه المشكلة. دعونا نعقد هذه المهمة من خلال حقيقة أن كل نافذة لاحقة يتم استدعاؤها من خلال الإجراء المقابل.

1. دع مربع الحوار الأول يظهر عند بدء تشغيل التطبيق (الشكل 79). عند الضغط على زر "بدء اللعبة"، تظهر مربعات حوار تطلب اسم اللاعب وتأكيده لبدء اللعبة (انظر الشكل 80). وبعد ذلك يظهر نموذج دخول الرهان (انظر الشكل 81).

أمر فرعي خاص1_Click()

imya = InputBox("أدخل اسمك"، "التسجيل"، "؟؟؟؟")

إذا كان MsgBox("ابدأ؟"، vbYesNo، "هل غيرت رأيك؟") =

يقوم هذا النموذج باختيار الرهان الأولي وإطلاق النموذج الرئيسي للمثال 38.


أرز. 79.المثال 38: حوار إطلاق اللعبة


أرز. 80.بدء تشغيل مربعات حوار اللعبة


أرز. 81.مربع حوار تحديد العطاء


زر يرمييحاكي لاعبًا يرمي عملة معدنية، ويحسب انتصارات وخسائر اللاعب، ويعرض القيم المقابلة في النوافذ النصية مع رسالة حول نتيجة اللعبة (الشكل 82).


أرز. 82.الشكل الرئيسي للمثال 38، يحاكي لعبة الرؤوس والذيول


زر الرمي

أمر فرعي خاص1_Click()

TextBox1.Value = TextBox1.Value + 1

إذا كان b = Fix(Rnd * 2 + 1) إذن

TextBox4.Value = TextBox4.Value + 1

TextBox5.Value = TextBox5.Value + 1

TextBox4.Value = TextBox4.Value – 1

TextBox6.Value = TextBox6.Value + 1

إذا كان TextBox4.Value< 1 Then

MsgBox ("أنت تخسر !!!")

إذا فال (TextBox2.Text)< Val(TextBox4.Text) Then

TextBox2.Value = فال (TextBox4.Text)

إذا كان Val(TextBox3.Text) > Val(TextBox4.Text) ثم

TextBox3.Value = Val(TextBox4.Text)

OptionButton1.Value = خطأ

OptionButton2.Value = خطأ

CommandButton1.Enabled = خطأ

زر مخرجينهي اللعبة ويصدر الرسائل النهائية (انظر الشكل 83).

أمر فرعي خاص Button2_Click()

MsgBox("Batch" + TextBox1.Value + (Chr(13)) + "في الجرة" + TextBox4.Value + (Chr(13)) + "الحد الأقصى" + TextBox2.Value + (Chr(13)) + "الحد الأدنى الخاص بك" + TextBox3.Value + (Chr(13)) + "النتيجة" + TextBox5.Value +": " + TextBox6.Value)

تهيئة نموذج المستخدم الفرعي الخاص ()

إلغاء تحميل UserForm2

OptionButton1.Value = صحيح

TextBox4.Value = أ

Label6.Caption = الاسم

TextBox2.Value = TextBox4.Value

TextBox3.Value = TextBox4.Value

أرز. 83.الحسابات النهائية للعبة المثال 38


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



أرز. 84.الإعلان عن المتغيرات العامة وإنشاء وحدة إطلاق لنموذج اللعبة الرئيسي في المثال 38

6.2. إنشاء وتعبئة نماذج المستندات القياسية تلقائيًا

إنشاء برامج VBA

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

تكنولوجيا التنفيذ

واجهة القالب والتطبيق

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


أرز. 85.مثال 39 نموذج في حالة عمل


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

قم بتشغيل اللوحة نماذج(عرض + أشرطة الأدوات + النماذج). لمزيد من العمل سوف تحتاج إلى عنصر واحد فقط من هذه اللوحة - حقل النص

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



أرز. 87.قوالب مربعات الحوار


قم بإنشاء قالب مستند باتباع الشكل. 88.


أرز. 88.قالب مستند Word يتم فيه إدخال البيانات للطباعة


في بعض الحقول (الحقول المميزة باللون الرمادي) يمكنك إدخال القيم الافتراضية. يتم تعيين القيمة الافتراضية باستخدام مربع الحوار ملكيات، والتي يمكن عرضها على النحو التالي:

انقر بزر الماوس الأيمن على حقل النص المطلوب؛

حدد من قائمة السياق التي تظهر ملكيات ;

حدد القيمة الافتراضية (الشكل 89).

تسمح لك القيم الافتراضية بتغيير البيانات التي يجب أن تتغير بشكل غير متكرر فقط. على سبيل المثال، الرسوم الدراسية هي نفسها في الأساس - 1500 روبل، وبالتالي فإن قيمة هذا المجال لن تتغير كثيرًا.



أرز. 89.تعيين المعلمات لحقل النص "opt_amount".


دعونا نلقي نظرة على العناصر الضرورية الأخرى في نافذة العمل "خيارات حقل النص". في الميدان يكتبيشير إلى نوع القيمة التي يمكن وضعها في الحقل. يمكنك ملء الحقل الحد الأقصى لطول، على الرغم من أن رمز VBA الأكثر أهمية للاستخدام لاحقًا هو الحقل إشارة مرجعية. ستكون قيمة هذا الحقل بمثابة تسمية حيث يجب وضع المؤشر قبل وضع الجزء التالي من المعلومات في المستند. لذلك، بمجرد تحديد كافة الحقول المطلوبة، ستحتاج إلى توفير تسميات ذات معنى لكل منها. بالنسبة لنموذج مستند Word الموضح في الشكل. 86 وضعنا (بالتتابع) التسميات التالية:

الاسم الأخير – الاسم الأخير للطالب؛

الاسم – اسم الطالب؛

Patonymic - الاسم العائلي للطالب؛

المجموعة - اسم المجموعة؛

Month_Payment – ​​اسم الشهر الذي يتم الدفع له؛

Payment_amount - المبلغ المودع؛

الاسم الكامل_المحاسب – لقب المحاسب المقبول؛

تاريخ_الدفع – تاريخ الدفع.

بعد الانتهاء من تطوير نموذج الوثيقة سنقوم بحفظه تحت الاسم الدفع للدراساتفي الكتالوج قوالب. في التين. 88 يعرض قالبًا للمستند الذي تم إنشاؤه مع الحقول المتغيرة.

إنشاء وحدة طباعة لقالب مستند

تحتوي القائمة على رمز الإجراء الخاص بطباعة نموذج إيصال الدفع والإجراءات ذات الصلة وتصحيح الأخطاء.


قائمة(أدخل في وحدة 1 مشروع الدفع للدراسات)

"متغيرات نموذج الطلب

fam1 العامة كسلسلة

الاسم العام 1 كسلسلة

الاسم الأوسط العام 1 كسلسلة

المجموعات العامة 1 كسلسلة

الشهر العام كسلسلة

المبلغ العام كسلسلة

بو العام كسلسلة

التاريخ العام كسلسلة

"متغيرات نموذج قالب الوثيقة

الاسم الأخير العام كسلسلة

الاسم العام كسلسلة

الاسم الأوسط العام كسلسلة

المجموعة العامة كسلسلة

Month_opl العام كسلسلة

مبلغ الدفع العام كسلسلة

name_account العام كسلسلة

date_opl العام كسلسلة

كتاب خافت (8) كسلسلة

ديم dataMas(8) كسلسلة

خافت ط كعدد صحيح

الطباعة الفرعية () "إجراء طباعة النموذج

"نحن نقوم بإدخال المعلومات في bookmarmas، صفائف datamas

book(1) = "اسم العائلة": dataMas(1) = اسم العائلة

book(2) = "name": dataMas(2) = name

book(3) = "الاسم الأوسط": dataMas(3) = الاسم الأوسط

book(4) = "group": dataMas(4) = group

كتاب (5) = "دفعة_الشهر": dataMas(5) = دفع_الشهر

كتاب (6) = "مبلغ الدفع": dataMas (6) = مبلغ الدفع

كتاب (7) = "اسم_الحساب الكامل": dataMas(7) = اسم_الحساب الكامل

كتاب(8) = "opt_date": dataMas(8) = التاريخ

"ملء حقول الإيصال:

ActiveDocument.FormFields(ActiveDocument.Bookmarks(book(i)).Name).النتيجة = dataMas(i)

ActiveDocument.PrintPreview يقوم بإجراء معاينة الطباعة.

"من أجل طباعة مستند فعليًا، استخدم أسلوب الطباعة لكائن التطبيق (راجع التعليمات)

نظرًا للاختلاف بين المتغيرات المستلمة والمرسلة للطباعة، سنعلن عن نوعين من المتغيرات على أنها عامة: تلك التي يتلقاها جزء الواجهة من التطبيق وتلك المطبوعة في شكل قالب.

يرجى ملاحظة أن جميع البيانات هنا من النوع String. تسمح لك هذه البيانات من نفس النوع بكتابتها في حقول النموذج في حلقة تحتوي على عبارتين فقط (انظر وصف القائمة).

إنشاء وحدات لأزرار نموذج الطلب

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

أمر فرعي خاص1_Click()

الاسم الأخير = الاسم الأخير1

الاسم = الاسم1

اسم العائلة = الاسم الأوسط1

المجموعة = المجموعة 1

Month_Payment = شهر

Payment_amount = المبلغ

name_book = book

تاريخ_الدفع = تاريخ

اتصل بالطباعة

إجراءات تعيين متغيرات نموذج الطلب القيم المدخلة في حقول نص النموذج.

textBox1_change () فرعي خاص

fam1 = TextBox1.Value

textBox2_change () فرعي خاص

name1 = TextBox2.Value

textBox3_change () فرعي خاص

الاسم الأوسط 1 = TextBox3.Value

textBox4_change () فرعي خاص

group1 = TextBox4.Value

textBox5_change () فرعي خاص

الشهر = TextBox5.Value

textBox6_change () فرعي خاص

المبلغ = TextBox6.Value

textBox7_change () فرعي خاص

بو = TextBox7.Value

textBox8_change () فرعي خاص

التاريخ = TextBox8.Value

تجميع البرنامج وتشغيله للاختبار.

مهمة توحيد المواد

مثال 40. تطوير نموذج تحويل بريدي لتسهيل عمل الموظفين المرتبطين بمعالجة الحوالات المالية بشكل متكرر.

يظهر قالب المستند النهائي وشكله في الشكل. 90 و 91.


أرز. 90.مثال لنموذج طلب بريدي مبسط مع حقول نصية متغيرة (قالب مستند)