تقييم الموضوع :
  • 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 ك ب / التحميلات : 979)
الرد }}}
تم الشكر بواسطة: سعود الشامان , سعود الشامان , baha
#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 ك ب / التحميلات : 595)
الرد }}}
#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
يعطيك ربي العافيه
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم .. ما هي الطريقة لنقل بيانات الصورة ؟؟ ... مع التقدير
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كود عرص ملف الوورد داخل أدات WebBrowser alsaab120 1 1,081 26-03-23, 02:57 PM
آخر رد: sanyor77
  تنفيذ كود vb.net من خلال مربع نص @@أبورائد@@ 20 14,605 06-10-21, 05:05 PM
آخر رد: الماجيك مسعد
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 2 4,190 01-07-21, 11:42 AM
آخر رد: kebboud
  شرح تحزيم البرامج في الفيجوال نت عمل ملف تنفيذي ملهمـ 0 2,685 08-04-21, 01:09 AM
آخر رد: ملهمـ
  [مشروع] مكتبة برمجية بلغة الفيجوال بيسك aljzazy 4 3,769 23-05-20, 02:12 PM
آخر رد: asemshahen5
  [VB.NET] استيراد وتصدير MySetting إلى ملف خارجي بطريقة صحيحة وبدون مشاكل alfaiz678 0 1,683 03-04-20, 01:40 PM
آخر رد: alfaiz678
  [مقال] الفيجوال والSQLSERVER اسامه الهرماوي 4 2,979 28-05-19, 09:30 PM
آخر رد: اسامه الهرماوي
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 4 64,939 15-03-19, 07:50 PM
آخر رد: العتيق
  التــعامل مع cmd من خلال الدوت نت مبتدئ في الاحتراف 3 3,778 02-06-18, 12:36 AM
آخر رد: YousefOkasha
  [مقال] التخاطب مع الاكسل من خلال مكاتب OpenXml و Closed Xml ابو ليلى 3 2,720 28-03-18, 08:30 AM
آخر رد: الوايلي

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


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