أتمتة وورد 2007 باستخدام فيجول بايزيك دوت نيت - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : أتمتة وورد 2007 باستخدام فيجول بايزيك دوت نيت (/showthread.php?tid=4758) |
أتمتة وورد 2007 باستخدام فيجول بايزيك دوت نيت - RaggiTech - 01-10-12 كاتب الموضوع : samerselo
سأغطي في هذه العجالة بعض المفاهيم التي ستساعدك على القيام بالعملية ولك أن تتعمق بعد ذلك في الموضوع كما تريد حتى نستطيع العمل نحتاج لبعض الخطوات الابتدائية 1 - من خصائص المشروع ومن صفحة References اضغط الزر ADD ثم انتقل لصفحة Com وأضف مرجع للمكتبة Microsoft Word 12.0 Object Library 2 - من أسفل الصفحة ومن القائمة أسفل Imported References انتقل إلى Microsoft.Office.Interop وضع اشارة اختيار بجانبها حتى تكون متوفرة للمشروع بأكمله وإلا ستضطر لاستخدام Imports التالية في بداية كل ملف ستستخدم أتمتة وورد فيه كودImports Microsoft.Office.Interop 3 - إن كنت ستستخدم أشياء Object لوثائق أو التطبيق الخاصة بوورد في عدة اجرائيات يفضل تعريفها كعناصر في النموذج الحاوي لتلك الإجرائيات - متغيرات عامة على مستوى النموذج - حتى لاتفقد اتصالك مع وورد بدء وإنهاء وورد عرف متغير عام على مستوى النموذج كما يلي كود : Private axWord As Word.Application كود : axWord = New Word.Application كود : axWord.Quit() لإنشاء وثيقة جديدة ابدأ وورد أولا ثم استخدم الأمر Application.Documents.Add كود : Dim axDoc As Word.Document كود : Dim axDoc As Word.Document كود : axDoc.SaveAs("C:\MyDocument.docx") عندما تقوم بأتمتتة وورد ستجد العديد من الطرائق التي تقوم بنفس الوظيفة وعملية قراءة وإدراج النصوص مثال جيد على ذلك حيث يمكنك عمل ذلك باستخدام العديد من الأشياء Objects ولكن أكثرها استخداما هو Paragraph و Selection أولا - paragraph object تتكون وثيقة وورد من مجموعة من الفقرات وهي مرتبة بالتسلسل بدءا من 1 وهي تتضمن كامل النص حتى محارف الارجاع ويمكن الحصول على نص الفقرة الأولى كود : Dim strText As String كود : axDoc.Paragraphs(1).Range.Text = "Hello from Visual Basic 2005" وهو الطريقة الأكثر مرونة لإدراج النصوص وهو شبيه باستخدامك لوورد عند كتابتك لوثيقة فتستخدم أولا Selection object لنقل نقطة الإدراج للمكان المطلوب ضمن الوثيقة ثم تقوم بإدراج النص المطلوب والكود التالي يقوم بإدراج نص في آخر الوثيقة وفي بدايتها ثم يبحث عن كلمة ويدخل نص مباشرة بعدها كود : 'Activate the document first الكود التالي يبين طريقة إدارج جدول بقياس 5 × 5 و إضافة تنسيق للجدول ثم ضبط نص في خلية محددة في ذلك الجدول كود : Dim axTable As Word.Table لطباعة لوثيقة نستخدم الطريقة PrintOut كود : axDoc.PrintOut() بما أن المستخدم يمكنه إغلاق الوثيقة أو الوورد في أي وقت رغم أن برنامجك مازال مرتبطا به يمكنك استخدام الطريقة التالية للتأكد من ان الوثيقة مازالت مفتوحة كود : Dim strName As String يمكنك استخدام الطريقة التالية لإدارج بيانات من جدول في قاعدة بيانات في جدول في وثيقة وورد كود : Function AddDataTable(ByVal tbl As DataTable) As Boolean يقدم وورد 2007 آلية جديدة لإدراج البيانات في الوثائق تدعى تحكمات المحتويات Content Controls وهي عبارة عن حقول يمكن تحريرها يدويا أو ملؤها برمجيا أو نشرها من وثيقة XML وهي تتضمن عدة تحكمات مثل صندوق النصوص أو الصور أو القائمة المركبة ... الخ ويمكن الوصول إليها من خلال ContentControls collection في Document objects كما في المثال كود : Dim ccCollection As Word.ContentControls لتحقيق العملية 1- افتح الوثيقة المصدر 2 - اضبط الخاصية Mail Merge DataSource 3 - يتم إنشاء وثيقة جديدة وفيما يلي مثال عن كيفية عمل ذلك دون تدخل من المستخدم كود : axDoc.Activate() |