Visual Basic Online Course - Excel 2003 Part 2
بسم الله الرحمن الرحيم
فى الموضوع السابق تناولنا دراسة انشاء ملف اكسل جديد و حفظه
موضوع اليوم ان شاء الله تعالى يتناول فتح و تعديل و حفظ ملف اكسل
الجـــــــــزء الثانى - فتح و تعديل و حفظ ملف اكسل
باذن الله تعالى سنستخدام مشروع المثال السابق و الذى سيتم رفعه فى نهاية الأجزاء ان شاء الله تعالى , حيث سنقوم بالضغط على New لانشاء ملف Excel جديد حيث سيفتح ملف الـ Excel على الشاشة ثم نقوم بحفظه فارغ بدون تعديل عليه باسم ExcelFile من مفتاح Save As الموجود على الفورم ثم نغلق الـ Excel الذى نلاحظ أنه بالفعل تغير اسمه فى شريد عنوان الـ Excel و نغلق البرنامج و نتأكد من وجوده فى المجلد الموجود به المشروع أو اذا كنت تقوم بنفس مثالى ستجده فى المجلد Excel كما بالصورة التاليه :
شكل المجلد |
المفروض أننا نقوم الأن بالتعديل على ملف الـ Excel باستخدام الكود من داخل الـ Visual Basic و هنا نفرق بين أمرين :
1) التعديل على ملف الـ Excel الموجود به بيانات مسبقا و حفظ التغييرات .
الان نقوم بفتح الاكسل ExcelFile عن طريق البرنامج كالتالى :2) بداية الكتابه فى ملف الـ Excel .
لا يوجد فرق برمجى بين النقتطين و لكن أريد أن أوضح نقطه معينه و هى أنه يمكنك استخدام الفيجوال بيزك لعمل مشروع Excel من البدايه الى النهايه و ايضا يمكنك التعديل على ملف اكسيل به عمل مسبقا و جعله جزأ من برنامجك و حتى لا نطيل فى الشرح ... نكمل بناء على الافتراض الأول ..
سنقوم بادراج مفتاح Command جديد على الفورم بعنوان Open Excel باسم CmdOpen و الذى سنقوم عن طريقه بفتح ExcelFile ... فى الحدث CmdOpen_Click نكتب الكود التالى :
و لكن ماذا اذا أردنا فتح ملف Excel اخر ؟!!
نعم , سنستخدم أداة CommonDialog الموجود مسبقا على الفورم باسم Cdl1 حيث سنقوم بادراج مفتاح Command جديد على الفورم بعنوان Open Excel As باسم CmdOpenAs .... حيث فى الحدث CmdOpenAs نكتب الكود التالى :
قم بتجربة البرنامج و لاحظ ظهور ملف الـ Excel مفتوح على الشاشة و الان ابدأ عمل الاتى كما فى الصورة التاليه :
شكل مثال الاكسل |
و هو عباره عن مشروع حساب قيمة فاتورة صغير جدا بدون تفاصيل كثيره حيث ضريبة المبيعات (10%) و الاستقطاعات تكون أى رقم ...
بعد الانتهاء من تصميم الاكسل حاول حفظ ملف الاكسل ExcelFile و البرنامج مفتوح Ctrl+S او من File ثم Save ستجد أن ملف الـ Excel الذى انشأناه لا يتمكن حفظة لأنه ReadOnly أى مفتوح للقراءه فقط ,
اظهر البرنامج أمامك و اضغط على Save As و قم بحفظه بنفس الاسم ExcelFile أو بأى اسم اخر ستجد أن البرنامج يعطيك رسالة خطأ "Can not Create Object" .... اذا ما العمل ؟
لا حظ ان فى الدرس السابق قمنا بحفظ ملف الـ Excel بدون أى اعتراضات من البرنامج أو من MS-Excel 2003 و لكن لأن ملف الـ Excel هذه المره تم انشاءه مسبقا و محفوط بالفعل فهذا معناه اننا لن نتعامل مع oXl لأنه بالفعل حاضر معنا .... للتوضيح أكثر :
خارج بيئة الفيجوال بيزك - فى بيئة الويندوز العاديه عندما تضغط Right-Click و تختار New Excel File هل هذا يقوم الويندوز بانشاء برنامج Excel أو يقوم فقط بانشاء Workbook جديد ؟! طبعا يقوم بانشاء Workbook جديد .... و هذا ما نفعله فة بيئة الفيجوال بيزك حيث : نأخذ نسخه من برنامج Excel مره واحده فقط فى البدايه و نعمل عليها و نحفظها و لكن عندما نستدعيها لحفظها فاننا نستدعى Workbook و نحفظ Workbook..... وصلت الفكره ؟!
لان نريد تعديل كود الحفظ حيث نريد ان نحفظ Workbook موجود بالفعل مفتوح أمامنا فمنا بتعديله "بالكتابه فيه" و نريد حفظ هذه التعديلات .... فى الحدث CmdSaveAs_Click نستبدل هذا الكود :
WB.SaveAs FileNm
بهذا الكود :
oXL.ActiveWorkbook.Close True, FileNm
و نقوم بتجربة البرنامج نجد أنه قام بحفظ التغييرات بنجاح و لكن تظهر رسالة تأكيد حفظ التغييرات على ملف Excel موجود مسبقا "هل تريد حفظ التغيرات؟" و نضغط "Yes" و لكن ماذا اذا لم نرد أن نظهر هذه الرسالة و نؤكد الحفظ تماما ... نقوم بزيادة هذا السطر لكود الحفظ قبل اخر سطر ليصبح كود الحدث CmdSaveAs_Click كالتالى :
حيث الكود بالسطر قبل الاخير "قبل كود الحفظ" يمنع الـ Excel من اظهار رسائل نهائيا فقط يقوم بتنفيذ الأمر البرمجى المنطقى "بمعنى اخر الـ Excel افترض اننا سنقوم بالضغط على Yes" .
الأن قم بتجربة البرنامج و قم بأى تعديل و احفظ الـ Excel من مفتاح Save As ستجد أنه تم حفظة بالاسم الذى اعطيته أو بالاسم الموجود فعلا ExcelFile بدون مشاكل أو رسائل تحذيريه .
الحمد لله و الى هنا نكون قد وصلنا لنهاية هذا الجزء (فتح و تعديل و حفظ الـ Excel من خلال الفيجوال بيزك) بعد أن تعرضنا لمجموعه من الأخطاء و قمنا بحلها .
باذن الله تعالى الدرس القادم
♥ Visual Basic 6.0 Course Online :
- Automate MS-Access Database in Visual Basic 6.0 though a network
- Visual Basic 6.0 Analog Clock
- Visual Basic 6.0 Temperature Convertor
- Visual Basic 6.0, MS-Access 2003 and Crystal Reports - Phone book
- Visual Basic 6.0, MS-Access 2003 Database and DataGridView
- Visual Basic 6.0 FTP full application source code
- Visual Basic 6.0 Color Picker tool source code
- Visual Basic 6.0 Tree-View Control lesson (Part1 - Part 2 - Part3 - Part4 - Part5) Arabic.
- Visual Basic 6.0 - Introduction to Graphics (Part1 - Part2 - Part3)
- Visual Basic 6.0 and MS-Excel 2003 tutorials (Part1 - Part2 - Part3 - Part4 - Part5 - Part6)
It's in fact very complicated in this busy life to listen news
ReplyDeleteon Television, therefore I simply use world wide
web for that purpose, and get the newest news.
Feel free to visit my website :: CristopherBPadovani
Write more, thats all I have to say. Literally, it seems as though you relied
ReplyDeleteon the video to make your point. You definitely know what youre talking about, why throw away your intelligence on just posting videos to your weblog when you could be
giving us something enlightening to read?
My web page; AlfonsoZWoodly
Hi, just wanted to mention, I liked this post. It was practical.
ReplyDeleteKeep on posting!
Feel free to surf to my web-site; ArnettaSHerling
Hiya! Quick question that's completely off topic.
ReplyDeleteDo you know how to make your site mobile friendly?
My weblog looks weird when browsing from
my iphone. I'm trying to find a theme or plugin that might be able to resolve this issue.
If you have any recommendations, please share. Many thanks!
Here is my weblog ... AmparoASyring
Pretty section of content. I just stumbled upon your blog
ReplyDeleteand in accession capital to assert that I acquire actually enjoyed account
your blog posts. Any way I will be subscribing to your feeds and even I achievement you access consistently rapidly.
Review my page - DeannCLaverette
Very good blog you have here but I was wanting to know if you
ReplyDeleteknew of any message boards that cover the same topics
talked about in this article? I'd really love to be a part of online community where I can get opinions from other experienced individuals that share the same interest.
If you have any suggestions, please let me know. Thanks a lot!
Feel free to visit my webpage - AbdulFAhrendes
It's perfect time to make some plans for the future and it's time
ReplyDeleteto be happy. I've read this post and if I could I wish to suggest you some interesting things or suggestions.
Perhaps you could write next articles referring to
this article. I desire to read even more things about it!
Take a look at my homepage: TarshaEMattingley