‏إظهار الرسائل ذات التسميات الفيجوال بيسك دوت نت 2012. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات الفيجوال بيسك دوت نت 2012. إظهار كافة الرسائل

لعبة بسيطة مصممة بالفيجوال دوت نت اعداد ياسر العربي VB.NET

بسم الله الرحمن الرحيم

اقدم لكم اليوم لعبة بسيطة مصممة بالفيجوال دوت نت 2012

طريقة اللعب : كل ما عليك هو ان تقوم بعبور الطريق بالطفل دون ان يلمس اي جزء من الاجزاء المتحركة والتى هي بمثابة 

سيارات  تسير بسرعة على طريق

وفي وسط الطرق تجد مفتاح  اذهب وخذه واكمل عبور الطريق لتصل الى الباب ليتم فتح الباب وعبور هذه المرحلة بأمان

طبعا هذه اللعبة تعتبر كمثال بسيط لألعاب مرت امامنا فهي توضح طريقة عمل اللعبة

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

ستصل الى الشكل المرغوب به وتصبح كمعظم الالعاب الموجودة هنا وهناك 

واذا قمنا ببعض التعديلات البسيطة وبدون اتقان سنصل بها الى هذا الشكل على الاقل

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


اعداد / ياسر العربي
المصفوفات Arrays

المصفوفات Arrays

73772.png
 
اليوم باذن الله سنقوم بشرح المصفوفات
(المصفوفات)Arrays
Arrays (المصفوفات) : يتم التخزين في المصفوفة باحجام ثابتة و متتابعة و تكون العناصر من نفس النوع يعني مثل (string , integer ) يتم استخدام Arrays (المصفوفة) في تخزين البيانات و سهولة الترتيب الاكواد و اختصارها و يستخدمها المبرمجين في المشاريع الكبيرة .
وتعريف أبسط : هي عبارة عن مجموعة من المتغيرات من نفس النوع مخزنه في مصفوفة
نروح لمثال لتطبيق عدد من المتغيرات String
كالاتي

        Dim aa As String
        Dim bb As String
        Dim cc As String
        Dim dd As String
        Dim ee As String
        Dim ff As String
        Dim gg As String

        aa = "ياسر"
        bb = "محمد"
        cc = "اسيل"
        dd = "ابو البراء"
        ee = "ابو يوسف"
        ff = "الفلاحجي"
        gg = "عبد العزيز"
الكود السابق هو الاعلان عن متغيرات متعددة من نوع استرنج وتم تعريفهم باسفلهم
طيب اللي فات متغيرات واحنا أخدناها من قبل طيب ايه نظام المصفوفات دي
نشوف الكود التالي

        Dim aa(6) As String

        aa(0) = "ياسر"
        aa(1) = "محمد"
        aa(2) = "اسيل"
        aa(3) = "ابو البراء"
        aa(4) = "ابو يوسف"
        aa(5) = "الفلاحجي"
        aa(6) = "عبد العزيز"
الكود اللي فات دا بيعبر عن مصفوفه بسيطة تتكون من سبع عناصر مع العلم اننا قمنا بتحديد العدد 6 في الاعلان ؟؟؟؟
لانه المصفوفة بتبدأ من الصفر كما ظهر في التعريف اسفل الاعلان
وممكن نكتبها بطريقة اخرى ايضا مثل الكود التالي
 Dim aa() As String = {"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}
انا هنا لم احدد عدد العناصر داخل المصفوفة وسيبنا الاقواس مقفوله بدون رقم ولكن قمنا بتعريفها بجانب الاعلان
وهي بنفس الاعداد بترتيبهم من جانب علامة يساوي يعني الطريقة دي هي نفس اللي فوقها
نستطيع اختبار النتيجة  عن طريق عمل تكست بوكس واحد  وزر للاختبار ونضع الكود 
التالي داخل الزر لاظهار النتيجة في التكست بوكس

TextBox1.Text = aa(0)
ايه اللي هيظهر لما نطبق الكود دا هيظهر لينا ياسر في كلتا الحالتين السابقتين من كتابة المصفوفة
طيب المصفوفه اللي اخدناها دي تعتبر مصفوفة ذات البعد الواحد
مصفوفة الone dimensional (البعد الواحد) 
ودي صورة توضيحية  لكيفية عملها

zzzzzzzzzzz.PNG

وتستطيع تغيير الارقام في الكود التالي كما هي موضحه بالصور واشوف النتيجة
'اكتب واحد من الاسطر الاتية كل مره وشوف النتيجة
TextBox1.Text = aa(0)
TextBox1.Text = aa(1)
TextBox1.Text = aa(2)
TextBox1.Text = aa(3)
TextBox1.Text = aa(4)
TextBox1.Text = aa(5)
TextBox1.Text = aa(6)
طيب دي مصفوفة مكونة من صف واحد فقط ازاي نقدر نحدد صفوف اكتر ودا في القسم الثاني من شرحنا

المصفوفة ذات البعدين
Two dimensional (البعدين)
وهذه المصفوفة تتميز بتخزين  اعمدة وصفوف  متعددة طبعا اخواتنا عارفين في الاكسيل ان موجود صفوف واعمدة ولما نحدد خلية عن طريق كود برمجي بنحددها كدا
Cells(1, 2).Select
rrrrrrrrttttt.PNG
يبقي الخلية كما بالصورة هي المحددة بالكود هتفهموا الصورة دي  يبقي كدا عرفنا المصفوفة ذات البعدين
طيب نشوف كود المصفوفة دي بيتكتب ازاي
        Dim aa(2, 3) As String

        aa(0, 0) = "ياسر"
        aa(0, 1) = "محمد"
        aa(0, 2) = "اسيل"
        aa(0, 3) = "ابو البراء"
        '--------------------
        aa(1, 0) = "ابو يوسف"
        aa(1, 1) = "الفلاحجي"
        aa(1, 2) = "عبد العزيز"
        aa(1, 3) = "ياسر1"
        '---------------------
        aa(2, 0) = "ياسر2"
        aa(2, 1) = "ياسر3"
        aa(2, 2) = "ياسر4"
        aa(2, 3) = "ياسر5"

        TextBox1.Text = aa(2, 1)
ركزو معايا المفروض دي عبارة عن ثلاثة صفوف واربعة اعمدة وبنعلن عنها كدا (2,3) لان الصفر عندنا يعتبر عمود وصف
طيب الكود السابق دا  التكست بوكس1 الناتج هيكون ايه ؟؟؟؟؟؟؟ هيطلع ياسر3
طيب صور توضيحية عشان نتأكد
xxxxxxxx.PNG
الجدول السابق بيبين لينا تقاطع الصفوف مع الاعمدة والارقا موضحه بالجدول العلوي والاسفل منه يوضح البيانات الموجودة بداخل الجدول مثلا
طيب نشوف الصورة دي
asdasdasd.PNG
ياريت تكون الصورة وضحت اكتر بالنسبة للمصفوفات من نوع المتعددة الابعاد
Arrays Multi dimension
وممكن نكتبها بالطريقة الاخرى هكذا
        Dim aa(,) As String = {{"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}, {"1", "2", "3", "4", "5", "6", "7"}, {"8", "9", "10", "11", "12", "13", "14"}}

        TextBox1.Text = aa(0, 2)
نيجي نشوف نتيجة الكود دا ايه هي الاول لازم نعرف ان كل اقواس مغلقة تعتبر صف يبقي عندنا كام صف ثلاثة وست اعمدة لان لدينا ست قيم في كل صف
طيب التكست بوكس اللي في الكود هتساوي ايه
اولها  الصف وهو صفر يعني الصف الاول والثاني العمود ورقمة 3 يعني القيمة الرابعة  لان الصفر يعتبر واحد وهي "أسيل" طبعا الكود معكوس هنا لما تنسخ وتحط داخل البرنامج هتوضح معاك
ارجو أن أكون قد وفقت في الشرح .
 رابط الموضوع في منتديات اوفيسنا

رابط سلسلة الدروس
 

 في امان الله .
تقبلو تحياتي
ياسر العربي
يتبع
كتب الكترونية لدروس الفيجوال بيسك دوت نت 2012

كتب الكترونية لدروس الفيجوال بيسك دوت نت 2012

السلام عليكم ورحمة الله وبركاته


الدروس السابقة تم تحويلها  على هيئة كتب الكترونية لمراجعتها اوف لاين

نتيجة بحث الصور عن كتب

باذن الله يتم تحويل كل درس لكتاب الكتروني لسهولة الوصول له خارج الانترنت













تقبلوا فائق احترامي

:fff::fff::fff:
:fff:

ياسر العربي

يتبع
 استكمالا لحلقات التكرار looping

استكمالا لحلقات التكرار looping

بسم الله الرحمن الرحيم
 
استكمالا لحلقات التكرار
اليوم سنتحدث عن  looping

ونسترجع ان اللوبنج من الحلقات التكرارية الشرطية
وسنتطرق الى الجمل الاتية في الحلقات التكرارية الشرطية
Do.........Loop
While
Do...........While
Do...........Until

اولهم
Do.........Loop
وطريقة كتابة الاكواد هتبقى ازاي نشوف المثال التالي
        Do
            MsgBox("Yasser")
        Loop
الكود السابق بدايته DO  ثم  الاكواد الخاصة بنا داخل الجملة التكرارية ثم Loop لاعادة تنفيذ الكود مرة اخرى
طيب لما نطبق الكود دا ايه اللي هيحصل
اللي هيحصل ان البرنامج هيطلع لينا رسالة باسم ياسر
بس كدا لا دا هيفضل يطلعها على طول كل ما تطلع من واحده تيجي تانيه الى مالا نهاية ايه السبب
هي جملة شرطية طيب فين الشرط احنا مش حطينا شرط يبقي البرنامج هيفضل شغال رسايل على طول
وطبعا دا لو كود غير  الرسالة مع التكرار الى مالا نهاية سيتعرض دائما برنامجنا الى التهنيج من كثرة التكرار
طيب عايزين نحل المشكلة ونحط شرط للموضوع دا
نشوف المثال التالي ونركز فيه شوية
        Dim x As Byte = 1
        Do
            MsgBox(x)
            x = x + 1
            If x = 10 Then
                Exit Do
            End If
        Loop
اول الكود مجرد اعلنا عن متغير من نوع بايت وعرفناه برقم1
وبعدين بدأنا الجملة ب Do
ثم رسالة بها قيمة المتغير
والسطر اللي بعده رفعنا قيمة المتغير +1 لكل حلقة تكرارية
وبعدين عشان نضع الشرط للجمله نستخدم IF
ونقول لو المتغير X يساوي 10 ايه اللي يحصل اخرج من الجملة التكرارية دي
يبقي الكود السابق هيحصل فيه ايه
بداية الكود المتغير x  هيساوي1 وبعدين هنخش الجملة وتظهر رسالة برقم المتغير اللي هو 1 وهننزل على السطر اللي بعده
هنلاقي انه المتغير زاد رقم بقي 2 يروح على الجملة الشرطية وهي ان المتغير يبقي عشرة والمتغير لسه 2 يبقي هيتجاهل الشرط ويكمل ينزل يلاقي لووووب هوب يرجع تاني وهكذا
لحد اول ما الرقم يوصل 10 يروح للشرط يلاقي انه 10 يقوله عندك اخرج بقي من الدوخة دي واللفه دي
وبكدا عرفنا الجملة Do.........Loop

ندخل على الجملة الثانية وهي While
        Dim x As Byte = 1
        While x < 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        End While
ايه الكود دا نفس المتغير x
وندخل على الجملة While  ودي جد على طول بتقولك الشرط ايه عشان اعرف اشتغل عليه من الاول بنقلها لو قيمة الاكس اصغر من 10
يطبع الحمد لله ورقم المتغير جمبها
والسطر اللي بعده طبعا عارفينه وهو زيادة المتغير +1
ويرجع تاني لحد ما يتحقق الشرط عند الرقم 10 تتوقف الجمله الموضوع سهل ومفيهوش اي صعوبة
وطبعا دا مثال مبسط للجمله نستطيع تركيب كود بطريقة احترافيه وطرق مختلفه كتييرررر
وندخل على الجملة الثالثة وهي Do...........While
        Dim x As Byte = 1
        Do While x < 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        Loop
باختصار الجملة دي تجمع Do & While مع بعض لان Do لوحدها كنا بنستخدم فيها If
اما الان الشرط موجود معها فلا داعي الى IF

ندخل على الجملة Do...........Until
والجملةدي عكس ال Do...........While
بمعني ان Do...........Until  بتقول افعل الى ان يتحقق الشرط
Do...........While  افعل عندما يتحقق الشرط
        Dim x As Byte = 1
        Do Until x > 10
            MsgBox("الحمد لله" & x)
            x = x + 1
        Loop
هنا هيفضل يكرر الجملة الى ان تصل قيمة المتغير x  الى اكبر من 10
وبكدا نكون شبه انتهينا من الجمل التكرارية المحددة والشرطية

تقبلو تحياتي
ياسر العربي
:fff::fff::fff::fff:
 الحلقات التكرارية iterations & looping

الحلقات التكرارية iterations & looping

بسم الله الرحمن الرحيم
 
درس اليوم بعنوان

الحلقات التكرارية iterations & looping

يعني ايه iterations & looping  ويعني ايه حلقات تكرارية من الاصل
الحلقات التكرارية في الاصل هي تكرار امر معين عدد من المرات كثيرا ما نحتاج في برامجنا تكرار بعض الاوامر عدد من المرات المحددة او الغير محددة
يعني مثلا اقول لحبيبي ابو البراء قول     ارنبنا فى منور انور وأرنب أنور فى منورنا  عشر مرات مثلا
كدا انا حددت عدد التكرار هنا عشر مرات دا ان عرف يعني يقولهم او حتى اخي احمد الفلاحجي :wink2:
هنا بقي نقول ان دي جمله تكرارية محددة او معروفة وتندرج تحت الاسم  iterations

طيب لو قلت لابو البراء قول بسيطه وماتستبسطهاش وصعبه وماتصتصعبهاش لحد ما يبان لك صاحب ههههههه
كدا اول واحد هيظهر ويتعاطف مع الموقف حبيبي ابو يوسف ويقولي حرام عليك واخي الغالي عبد العزيز هيقول اشيل عنه شوية والفلاحجي هيستخبى :wavetowel:
طيب من المثال اللي فات فهمنا ايه انه لازم يفضل يعيد الجملة لحد ما يبان له صاحب
يعني هنا حطينا شرط لايقاف الحلقة
يبقي كدا اسمها جملة تكرارية شرطية  وتندرج تحت الاسم  looping

ومن الامثلة السابقة نقدر نقسم الحلقات التكرارية المحددة والشرطية كما بالاسفل

iterations
For.........Next
For.........Each
looping
Do.........Loop
Do...........While
Do...........Until
While
ناخد مثال على الجز الاول وهو   iterations
For.........Next
وتكتب هكذا
      
        For i = 1 To 10

            MsgBox(i)

        Next
نوضح الجمله اولا بدأنا الجملة بكلمة محجوزة For وبعدها حرف i وهو هنا يسمي بالمتغير وبالاصح العداد المتغير
وبعدها = تساوي ايه بقي تساوي القيمة الابتدائية للمتغير  to  القيمة النهائية للمتغير والتي اذا وصل لها توقف عن العمل ونختتم الكود ب Next  للتكرار حتى نهاية القيمة
يبقي المثال اللي فات ايه اللي هيحصل فيه لما نشغله
هيظهر لينا رسائل متتاليه من 1 الى 10 وبعدها تتوقف لانتهاء عمل الكود
طيب لو احنا محتاجين زيادة بمقدار مختلف يعني مثلا يزيد كل مره رقمين مش واحد زي ما موجود
يعني بدل ما يبقي 1 2 3 4 5 6 7 8 9 10
يبقي كدا مثلا 1 3 5 7 9  وطبعا مش هيجيب ال10 لان مسافتها من بعد ال9 رقم واحد يبقي هيتوقف عند ال9 فقط
ازاي نعمل الكود دا نشوف
 For i = 1 To 10 Step 2

            MsgBox(i)

        Next
زودنا هنا كلمة step 2  وهنا يعني مقدار الخطوة 2 للمتغير
طيب ينفع بدل ما ازود انقص مثلا اه تمام ينفع نعكس العمليه
        For i = 10 To 1 Step -1

            MsgBox(i)

        Next
يعني ايه الكود السابق يعني المتغير يفضل يقل من 10 لحد 1 بمقدار -1
طيب احنا هنقضيها مقدار ارقام لا ممكن  نعلن عن متغيرات تحمل الارقام دي ازاي بقي
        Dim x As Byte = 1
        Dim y As Byte = 10

        For i = x To y

            MsgBox(i)

        Next
اظن كدا واضحة لينا احنا اعلنا عن متغيرين من نوع بايت واحد قيمته1 والتاني 10
ونستطيع ان نربط المتغير بتكست بوكس مثلا اذا كانت القيمة هنحددها من على الفورم واحنا شغالين


ندخل بعد كدا على الFor Each
بنستخدم امتى الفور ايتش دي
بنستخدمها مع الكولكشن زي المصفوفات كدا مثلا
هناخد المصفوفات دي بس بعدين المهم هنعرف ازاي نعلن عنها ونعرفها في الجملة فور ايتش في المثال التالي
        Dim myarr() As String = {"الفلاحجي", "ابو البراء", "ابو يوسف", "البسكري", "ياسر العربي"}


        For Each i In myarr

            MsgBox(i)

        Next
هنا اعلنا عن مصفوفه من نوع استرنج نصي يعني وعرفناها  بما هو مكتوب بين الاقواس
وبعدها جينا لجملة التكرار For Each
ووضعنا متغير i  بيساوي المصفوفة myarr
الكود السابق عند تطبيقه سيعرض لنا الاسماء  الموجودة بالمصفوفة على التوالي داخل رسالة وعند الانتهاء من كل محتويات المصفوفة يتوقف عمل الكود
زي ما بنعملها في الاكسيل كدا مثلا
Dim rng As Range
For Each rng In Sheet1.Range("a1:a100")
rng = "الله اكبر"
Next rng
هنا بنعلن عن متغير rng وحددنا له مساحة يشتغل داخلها من الخلية a1 :a100  ونقدر نطبق على هذا النطاق ما نريده
مثلا نحدد المتغير ونقول انه  المتغير هيكون قيمته
الله اكبر
ونطاق الحلقة التكرارية هو 100 خليه  يبقي كلهم هيتكتب فيهم
الله اكبر
 
ولحد هنا نتوقف ونكمل باذن الله باقي الدرس قريبا

تقبلو تحياتي
ياسر العربي
يتبع
:fff::fff::fff::fff:
شرح كيفية ربط الفيجوال دوت نت بالاكسيل والتعامل معه

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

بسم الله الرحمن الرحيم

احبتي في الله
اليوم باذن الله سنقوم بشرح كيفية ربط الفيجوال بيسك دوت نت مع الاكسيل
نقوم بفتح برنامج الفيجوال بيسك دوت نت
ثم نقوم بعمل مشروع جديد
ونقوم باضافة عدد
واحد تكست بوكس textbox
وخمسة زر button
ووضعهم كما بالصورة
excel.PNG
وطبعا نقوم من تبويب الخصائص الخاص بالادوات بالتعديل على اي اداة من حيث تغيير الاسم ولون الاداة
وشكلها وحجمها وحجم الخط بداخلها وغيرها وغيرها من خواص
هناك طرق عدة لربط برامج كثيرة بالفيجوال ومنها الاكسيل
وسوف نشرح الطريقة التى احبها واعرفها ايضا وهي ما قمت بشرحها بسلسلة الفيجوال6
وان شاء الله الاختلاف بسيط ولكن الاساس واحد
وهنعتمد على المراجع وهنختار المكتبة الخاصة بالاكسيل داخل المراجع بالفيجوال كما شرحناها سابقا ومن يريد معلومة اضافية
يدخل على سلسلة الفيجوال6 يراجع نفس الدرس المذكور اعلاه وهو ربط الفيجوال بالاكسيل
وهذا هو الرابط
الان نقوم بالذهاب الى قائمة البرنامج الرئيسية ونختار منها بروجيكت ثم Add Reference
1.png
ثم نقوم باختيار com
ومنها نختار المكتبة الخاصة بالاكسيل كما موضح بالصورة
2.png
الان قمنا بتصميم مشروعنا  وقمنا بتجهيز المكتبات اللازمة لعمل البرنامج
ينقص الان كود عمل البرنامج
نضع هذا السطر في اول الكود في ال General في التصريحات العامة
يعني نفتح محرر الاكواد ونيجي على اول سطر بالظبط ونضع هذا الكود به
السطر دا بيربط بين المرجع وبين البرنامج
Imports Excel = Microsoft.Office.Interop.Excel
ثم نقوم بالاعلان عن متغيرات لسهولة التعامل مع الاكسيل من داخل برنامجنا
كما بالكود التالي ولقد قمنا بشرح مثله في سلسلة الفيجوال6
Public Class Form1
'نضع  المتغيرات في بداية تصريحات الفورم 1
'المتغير الاول يشير الى برنامج الاكسيل
        Dim xlApp As Excel.Application
'المتغير الثاني يشير الى ملف مصنف الاكسيل 
        Dim xlWorkBook As Excel.Workbook
'المتغير الثالث يشير الى ورقة العمل 
        Dim xlWorkSheet As Excel.Worksheet







End Class
ثم نضع في حدث تحميل الفورم الكود التالي
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        xlApp = New Excel.ApplicationClass 'فتح برنامج الاكسيل جديد
        xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx") 'فتح ملف اكسيل 
        xlWorkSheet = xlWorkBook.Worksheets("sheet1")'تم الاشارة للمتغير هنا بالورقة 1
        xlApp.Visible = False'اخفاء البرنامج
    End Sub
ثم نأتي للزر الاول وهو زر الادخال وهو ادخال القيمة الموجودة في تكست بوكس1 الى ملف الاكسيل في العمود A وكلما ادخلنا قيمة يضعها تحت الاخرى
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim last As Long'نقوم بانشاء متغير من نوع long
'قمنا بتعريف  المتغير هنا على اساسا حساب عدد الصفوف بالعمود الاول التى يوجد بها بيانات بالاضافة +1
        last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1
'هنا نحدد الخلية a& last
وهي اخر خليه بها بيانات بالاضافة 1 للكتابة في السطر التالي الفارغ قيمة ما بداخل التكست بوكس1
        xlWorkSheet.Range("a" & last).Value = TextBox1.Text
    End Sub
الكود التالي زر اظهار برنامج الاكسيل
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'كود سهل وهو اظهار برنامج الاكسيل
        xlApp.Visible = True
    End Sub
الكود التالي زر اخفاء برنامج الاكسيل
   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        xlApp.Visible = False
    End Sub
الكود التالي زر حفظ التغييرات بملف الاكسيل
  Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        xlWorkBook.Save()
    End Sub
الكود التالي اغلاق برنامج الاكسيل والغاء تعريف المتغيرات
 Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        xlWorkBook.Save()
        xlWorkBook.Close()
        xlApp.Quit()
        xlApp = Nothing
        xlWorkBook = Nothing
        xlWorkSheet = Nothing
        MsgBox("تم اغلاق ملف الاكسيل")
    End Sub
وبكدا نكون انتهينا من شرح الكود وربط الاكسيل بالفيجوال
وهذا هو  الكود كامل
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx")
        xlWorkSheet = xlWorkBook.Worksheets("sheet1")
        xlApp.Visible = False
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        xlApp.Visible = True
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim last As Long
        last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1
        xlWorkSheet.Range("a" & last).Value = TextBox1.Text
    End Sub
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        xlWorkBook.Save()
        xlWorkBook.Close()
        xlApp.Quit()
        xlApp = Nothing
        xlWorkBook = Nothing
        xlWorkSheet = Nothing
        MsgBox("تم اغلاق ملف الاكسيل")
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        xlWorkBook.Save()
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        xlApp.Visible = False
    End Sub
End Class
انا قمت بوضع مثال لتكست بوكس فقط للتوضيح انا عايز منكم فهم الشرح وتطبيقه على نطاق اوسع شوية من المثال الموجود
يعني عاوز برامج بجد شغل يعتمد عليه مش مجرد مثال
يلا  عايز اشوف شغل مش كلام :Rules:
:wink2:
ومش هحط مرفق نهائي الان لحد لما نشوف التفاعل والشغل

تقبلو تحياتي
ياسر العربي
يتبع
:fff::fff::fff::fff:

مقالات

أخبار