تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الطباعة على الوورد من خلال الفيجوال بطريقة مبسطة
#1
بسم الله الرحمن الرحيم

في البداية الشكر موصول للجميع وبالاخص الاستاذ / عبدالله الدوسري , لانه هو صاحب الموضوع في الاساس .
وانصح بزيارة قناة الاخ عبدالله الدوسري باليوتيوب فهناك شرح مطول ومفصل عن الطباعة بالوورد
http://www.youtube.com/user/AbdullaAlDosari


اليوم حبيت اختصر الموضوع بطريقة قد تكون مبسطة , حتى يكون لدى المتلقي عدة مراجع عربية


اولا كما هو معروف تصميم قالب بالوورد

الصورة الأول في الوورد تصميم قالب واعطائه اشاراة مرجعية ( يجدر بالذكر الاشارة المرجعية هي عبارة عن مكان يكون لك مرجع داخل الملف ويضع مؤشر الكتابة امامه ليقول لك اكتب )

[ATTACH=CONFIG]225[/ATTACH]


ثانيا حفظ الملف كقالب ( تمبلت )

[ATTACH=CONFIG]227[/ATTACH]
--------------------------------

الان ناتي للفيجوال
اولا فتح مشروع ومن حفظ ملف القالب الوورد داخل مجلد bin ونسمية Word

ثانيا نستدعي مكتبة التعامل مع الوورد
[ATTACH=CONFIG]226[/ATTACH]

ثالثا
Microsoft.Office.Interop.Word
على حسب اصدار الاوفس الموجود في جهاز وقد تجد اكثر من اصدار .
كما هو في الصورة
[ATTACH=CONFIG]228[/ATTACH]

رابعا / ضبط الفورم على حسب ماتريد انا جعلته بسيط عبارة عن 2 تكست .
[ATTACH=CONFIG]229[/ATTACH]

خمسا في حدث اطبع نظع الكود التالي :

كود :
Dim aplication As New Microsoft.Office.Interop.Word.Application 'لتعامل مع ملف الوورد
        Dim appDoc As New Microsoft.Office.Interop.Word.Document 'لفتح ملف الوورد
        appDoc = aplication.Documents.Add(Template:=(Application.StartupPath & "\word\نموذج.dot")) ' هذا الامر لفتح ملف نموذج كقالب تمبلت وهذا مهم
        '========
        'لو كان الامر فتح ملف وورد فالوضع مختلف :رايح يكون الامر كتالي ولكن بدون تفعيل الامر
        'appDoc = app.Documents.Open(Application.StartupPath & "\word\نموذج.doc")
        '=======
        'للتعامل مع الملف الوورد
        aplication.ActiveDocument.Bookmarks("s1").Select() ' ابحث لي عن الاشارة المرجعية وضع المؤشر امامها
        aplication.Selection.Text = TextBox1.Text

        aplication.ActiveDocument.Bookmarks("s2").Select() ' ابحث لي عن الاشارة الاخر المرجعية وضع المؤشر امامها
        aplication.Selection.Text = TextBox2.Text
        'الاشارة المرجعية بالانجليزي بوك ماركس كما هو في الاعلى
        '=====================
        'الان بقي اظهار الملف لانه حتى الان يعمل بالخفى وتسطيع اظهاره بعد فتح الملف
        aplication.Visible = True
        aplication.Activate()

الصورة التالية توضح الكود

[ATTACH=CONFIG]230[/ATTACH]

سادساً / شغل البرنامج واطبع
[ATTACH=CONFIG]231[/ATTACH]


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

Smile ثامناً / انتهت الشرح

(الشرح بفيجوال 2010 واوفس 2010 )

المرفق فيجوال 2010
-----------------------------
اتمنى ان قد وفقت بالشرح

والسلام عليكم


الملفات المرفقة صورة/صور
                           

.zip   المشروع.zip (الحجم : 43.04 ك ب / التحميلات : 450)
الرد }}}}
تم الشكر بواسطة:
#2
نكمل الموضوع واليوم نتحدث عن التعامل مع الجدول داخل الوورد

في البداية نقوم بصناعة التمبلت بالوورد

ونضيف له الجدول بدون اشارة مرجعية للحقول لاننا راح نتعامع مع الحقول وارقامها

[ATTACH=CONFIG]837[/ATTACH]



ومن ثم نضيف داتا قريد بالفيجوال ونقوم بتعبئتها كما في الصورة

[ATTACH=CONFIG]836[/ATTACH]

الان نظيف الكود التالي وهو الكود السابق مضاف اليه كود التعامل مع الجدول

كود :
Dim aplication As New Microsoft.Office.Interop.Word.Application 'لتعامل مع ملف الوورد
        Dim appDoc As New Microsoft.Office.Interop.Word.Document 'لفتح ملف الوورد
        appDoc = aplication.Documents.Add(Template:=(Application.StartupPath & "\word\نموذج.dot")) ' هذا الامر لفتح ملف نموذج كقالب تمبلت وهذا مهم
        '========
        'لو كان الامر فتح ملف وورد فالوضع مختلف :رايح يكون الامر كتالي ولكن بدون تفعيل الامر
        'appDoc = app.Documents.Open(Application.StartupPath & "\word\نموذج.doc")
        '=======
        'للتعامل مع الملف الوورد
        aplication.ActiveDocument.Bookmarks("s1").Select() ' ابحث لي عن الاشارة المرجعية وضع المؤشر امامها
        aplication.Selection.Text = TextBox1.Text

        aplication.ActiveDocument.Bookmarks("s2").Select() ' ابحث لي عن الاشارة الاخر المرجعية وضع المؤشر امامها
        aplication.Selection.Text = TextBox2.Text
        'الاشارة المرجعية بالانجليزي بوك ماركس كما هو في الاعلى
        '================التعامل مع الجدول
        Dim nnsss As Integer = DataGridView1.RowCount ' هنا لعدد الصفوف في الداتا قريد
        For ta1 As Integer = 2 To nnsss  ' لاحظ اننا بدئنا بالرقم 2 لاننا راح نتعامل مع الصف الثاني بالجدول
            aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 2).Select() ' هنا اخبرنا البرنامج بالذهاب ألى الجدول الأول الصف الثاني فما بعد العمود الثاني الأسم
            aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(1).Value ' هنا اخذنا سالب 2 حتى نبدا من الصفر
            aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 3).Select() ' العود الثالث الدولة
            aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(1).Value
            aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 4).Select() ' العود الرابع
            aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(2).Value
            If ta1 <> nnsss Then ' هنا اذا كان الرقم لايساوي عدد الدتا قريد
                aplication.Application.ActiveDocument.Tables.Item(1).Rows.Add() ' اضف صف جديد
            End If

        Next

        '=====================
        'الان بقي اظهار الملف لانه حتى الان يعمل بالخفى وتسطيع اظهاره بعد فتح الملف
        aplication.Visible = True
        aplication.Activate()

راح تكون النتيجة

[ATTACH=CONFIG]838[/ATTACH]


-------------------------

وهذا رابط المشروع بالفيجوال 2010
[ATTACH]839[/ATTACH]

اتمنى للجميع التوفيق

اخوكم عبدالله الشمري


الملفات المرفقة صورة/صور
               

.rar   المشروع2.rar (الحجم : 85 ك ب / التحميلات : 212)
الرد }}}}
تم الشكر بواسطة:
#3
طيب ياعبدالله اذا كان عندي نموذج جاهز به جدول لنفرض على سبيل المثال ابلكيشن بيانات

هل استطيع استخدام اشارات مرجعية داخل الجداول
الرد }}}}
تم الشكر بواسطة:
#4
ايه تقدر تسوي كل شي .

الاشارة المرجعية هي انك تضع مؤشر الماوس عند النقطة هذي بعده تعطيه امر الكتابة

كود :
aplication.ActiveDocument.Bookmarks("s1").Select() ' ابحث لي عن الاشارة المرجعية وضع المؤشر امامها
        aplication.Selection.Text = TextBox1.Text

شايف كيف الفكرة

اول سطر ابحث عن الاشارة المرجعية s1

بعده راح يحط لك الماوس عند الاشارة هذي ويكتب لك اللي داخل textbox1.text

انت تقدر تغير textbox1.text الى البيانات

--------------------------------------------

اذا كان سؤال عن نموذج جاهز وتبي تغير على النموذج هذا نعم تستطيع تضيف اشارة مرجعية

بس انت احفظه على شكل نموذج ولو جيت تفتح النموذج بزر الماوس الايمن فتح عشان تفتحه على شكل نموذج ( تمبلت )
الرد }}}}
تم الشكر بواسطة:
#5
شكرا ياعبدالله
الرد }}}}
تم الشكر بواسطة:
#6
السلام عليكم ورحمة الله وبركاته ،،

أخي عبد الله بارك الله فيك على الشرح البسيط ، ولدي فكرة كانت تطرق في بالي وهي خاصة بالوورد وهي :

كيف يمكننا بعد نقل البيانات للقالب أن احفظه ( لا اريد استعراضه ولا طباعته ) في مكان معين معد مسبقاً ...؟

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

الاومر هذي كلها تتعامل مع الوورد وتحاكيه اي شي بالوورد مثلا اغلاق فتح اظافة جديد باسوورد وو الخ


فانت لما تبدا مثلا

aplication.Application

اللي بعده كنترول كامل للورد

هذا امر الحفظ بأسم

وبعده امر الفتح لو تبي والا حط بداله كلوس اغلاق

كود :
aplication.Application.ActiveDocument.SaveAs(FileName:="C:\Test\abdullah.doc") ' امر الحفظ بأسم
        aplication.Visible = True ' اظهار الملف
الرد }}}}
تم الشكر بواسطة:
#8
بارك الله فيك

لكن لدي سؤال : كيف يمكن طباعة ما أرسلناه لبرنامج الوورد على الطابعة ؟
الرد }}}}
تم الشكر بواسطة:
#9
يعطيك ربي العافيه
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 20 1,985 20-08-16, 11:53 PM
آخر رد: الوادي
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 0 259 09-07-16, 08:30 PM
آخر رد: mohamed atef2018
  حصرياً على اليوتوب,,, إطبع على الوورد من خلال برنامجك ( شرح بالفيديو ) مبرمج أوتار 5 1,823 15-05-16, 05:06 PM
آخر رد: CLARO
  @@@ تنفيذ كود vb.net من خلال مربع نص @@@ @@أبورائد@@ 18 3,839 27-10-14, 01:07 AM
آخر رد: hamaonline
  حصرياً على اليوتوب,,, إطبع على الوورد من خلال برنامجك ( شرح بالفيديو ) m.sami.ak 2 1,422 26-09-14, 04:47 PM
آخر رد: Zakhoy
  @@@ معالجة العمليات الحسابية من خلال مربع نص وإظهار النتيجة @@@ @@أبورائد@@ 9 1,594 25-05-13, 01:07 PM
آخر رد: shaker.soft
  التــعامل مع cmd من خلال الدوت نت مبتدئ في الاحتراف 2 531 24-04-13, 07:58 PM
آخر رد: مبتدئ في الاحتراف
  مثال على Custom Serialization من خلال فئة اسم مستخدم وكلمة مرور RaggiTech 0 736 05-10-12, 01:42 AM
آخر رد: RaggiTech
  مقدمة إلى ربط الأجهزة على الشبكات من خلال Sockets - تم الانتهاء من سلسلة الدروس RaggiTech 0 951 04-10-12, 10:08 AM
آخر رد: RaggiTech
  عمل برنامج اختبار سرعة الطباعة من خلال .net RaggiTech 0 451 04-10-12, 09:58 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم