Visual Basic Online Course - Excel 2003 Part 1
بسم الله الرحمن الرحيم
الموضوع : التعامل مع الأكسل 2003 من خلال الفيجوال بيزك 6
الأجـــــــــــــــزاء :
- انشاء ملف اكسل جديد و حفظه .
و نبدأ بسم الله الجزأ الأول ....
الجـــــــــزء الأول - انشاء ملف اكسل جديد
قبل الشروع فى انشاء ملف Excel جديد و حفظه فى مجلد Folder باسم معين Save As يجب أن نتعرف على جزئين هما :
- نظره سريعه على مكونات Excel 2003 : انظر الصورة التاليه ...
Quick look at MS-Excel 2003 |
2. التعرف على مكتبة الـ Excel الموجوده داخل الـ Visual Basic 6.0 :
المكتبة اسمها Microsoft Excel 11.0 Object Liberary و هى المختصه بالتعامل مع نسخة الـ Excel 2003 و هناك مكتبات للتعامل مع نسخ الـ Excel المختلفه على حسب الاصدار مثل :
اذا كنت تريد التعامل مع نسخة Microsoft Office Excel 2007 تستدعى Microsoft Excel 12.0 Object Liberary
اذا كنت تريد التعامل مع نسخة Microsoft Office Excel 2003 تستدعى Microsoft Excel 11.0 Object Library
اذا كنت تريد التعامل مع نسخة Microsoft Office Excel 2002 تستدعى Microsoft Excel 10.0 Object Library
اذا كنت تريد التعامل مع نسخة Microsoft Office Excel 2000 تستدعى Microsoft Excel 9.0 Object Library
اذا كنت تريد التعامل مع نسخة Microsoft Office Excel 1997 تستدعى Microsoft Excel 8.0 Object Library
و لتحميل المكتبه الخاصه بالجزء الخاص بنا فى هذا الدرس Excel 2003 نتبع الخطوات كما بالصورة التاليه :
VB 6.0 & Excel 2003 - Lesson |
هذا اذا كنت لا تعرف المكتبه و هذا الدرس للمبتدئين فى الموضوع و ايضا لمن يريد التعرف أكثر على هذا الموضوع, بهذا الشكل نكون قد استدعينا مكتبة التعامل مع Excel 2003 من خلال الفيجوال بيزك و هى نفس طريقة استدعاء مكتبة ADO و DAO للتعامل مع Access .
و الأن قم بعمل مجلد Folder باسم (ExcelApp) مثلا و انشىء بداخله مشروع Visual Basic 6.0 جديد بنوع Application به Form1 كالعاده , و أضف موديول ثم ابدأ بحفظ مشروعك فى المجلد الخاص به بعد استدعاء مكتبة Excel 11.0 حيث فى مشروعى هذا فان اسم المشروع هو MyExcelApp و المجلد هو Excel و الفورم هى MainFrm و الموديوا باسم MyExcelMod و يمكنك اختيار الاسماء التى ترغب فيها كما تشاء و لكن لتعرف من أين أتت الأكواد الخاصه بى .
أغلق المشروع بعد حفظه تماما ثم افتحه مره أخرى ....
هذا المشروع سيكون لن يكون تطبيق كامل و لكن لندرس عليه و نحفظه كمرجع لنا فى التعامل مع الـ Excel و ان شاء الله نقوم بتغطية جميع النقاط الهامه فى الموضوع .
نضع أولا Command1 باسم CmdNew على الفورم لانشاء ملف اكسل فى المجلد الذى يحتوى على المشروع Excel و سيكون الكود فى الحدث CmdNew_Click , و لكن قبل هذا يجب استدعاء المكتبه و الخطوه السابقه غير كافيه للتعامل مع الـ Excel فكل ما قمنا به كان تعريف الفيجوال بيزك على المكتبه و لكن لاستدعائها نقتح الموديول و نكتب الأكواد التاليه :
Option ExplicitPublic oXl As New Excel.Application
الكود وظيفته حجز نسخة من Class الـ Excel.Application فى المتغير oXl للتعامل معها فى البرنامج .
Public oWb As New Excel.WorkBook
الكود وظيفته حجز نسخة من Class الـ Excel.WorkBook فى المتغير oWB للتعامل معها فى البرنامج .
Public oSheet As New Excel.WorkSheet
الكود وظيفته حجز نسخة من Class الـ Excel.WorkSheet فى المتغير oSheet للتعامل معها فى البرنامج .
Public oRng As Excel.Range
الكود وظيفته تخزين مدى الخلايا Excel.Range فى المتغير oRNG للتعامل معها فى البرنامج .
- ماذا تفعل عندما تريد فتح ملف Excel عادى للعمل عليه بدون الفيجوال بيزك ؟!
انت تقوم بعمل Right-Click فى مكان على الـ DeskTop مثلا ثم من القائمة التى تظهر تختار New ثم Microsoft Excel WorkSheet و هذا الفعل و بالمثل ما نفعله فى الـ Visual Basic 6.0 .
الان فى الحدث CmdNew_Click اكتب الكود التالى :
oXl.Visible = True
و شغل البرنامج و اضغط على مفتاح CmdNew تلاحظ ان ملف اكسل فتح و لكن خاوى ليس به شىء و هذا لأننا لم نقم الا بفتح برنامج Microsoft Excel 2003 Application ...... و لكن هذا بالفعل ما قمنا به عندما حجزنا النسخه Excel.Application فى الموديول و لكن ما زاد عليه اننا اخبرنا البرنامج ان يجعل خاصية Visible = True اى ان طبيعتها هى False . اذا اردنا فتح ملف Excel للعمل به اذا نحن نريد فتح WorkBook من Excel و ذلك عن طريق اخبار البرنامج أن هناك كائن جديد Object هو WorkBook و المخصص له المتغير oWB.
بعد الكود السابق اكتب الكود التالى :
Set oWB = oXl.WorkBooks.Add
قم بتجربة المفتاح هذه المره ستجد أن الـ Excel قد فتح و به WorkBook يمكنك العمل بها و ما حدث انه اخبرنا الفيجوال بيزك باضافة WorkBook جديد لبرنامج الأكسل المخزن نسخته فى المتغير oXl .
الان اغلق قم باضافة مفتاح باسم CmdExit بعنوان Exit و فى الحدث CmdExit_Click اكتب الكود :
End
و هذا لانهاء البرنامج .
الان قم باعادة التجربة ثم اضغط على Exit و لاحظ ان البرنامج قد اغلق و لكن الـ Excel لم ينتهى , و اذا اردنا الخروج من الـ Excel ايضا فان فى الحدث CmdExit_Click قبل الكود السابق نكتب الكود التالى و ايضا يمكننا اضفافة هذا الكود فى الحدث Form_UnLoad حيث اذا اردنا الخروج من عن الضغط على X :
oXl.Quit
الان قم باعادة التجربة ثم اضغط على Exit و لاحظ ان البرنامج قد اغلق و الـ Excel ايضا و اذا اردنا ان نحفظ هذا الاكسل قبل الخروج من البرنامج فيمكننا استخدام كود حفظ عادى للـ Excel لا أحبذ استخدامه حيث نضيف مفتاح باسم CmdSave على الفورم بعنوان Save و فى الحدث CmdSave_Click نكتب الكود التالى لحفظ ملف الـ Excel المنشأ :
oWB.Save
الان قم باعادة التجربة ثم اضغط على Save ثم اغلق البرنامج و انظر فى المجلد فانك لن تجد شيئا لأن ملف الـ Excel تم حفظه فى My Documents , اذا اردنا حفظ الـ Excel فى المجلد الذى Excel بالاسم الذى نريده فاننا نضيف مفتاح باسم CmdSaveAs على الفورم بعنوان Save As و فى الحدث CmdSaveAs_Click نكتب الكود التالى لحفظ ملف الـ Excel المنشأ فى مجلد Excel باسم MyExcel1 :
الان قم بتجربة البرنامج و لا تنسى فى كل مره تجرب البرنامج أن تبدأ بالضغط على مفتاح New ثم تظهر الفورم أمامك و هنا ستضغط على مفتاح Save As و افتح مجلد Excel أو ايا كان اسم المجلد الذى يحتوى على مشروعك ستجد أن ملف Excel باسم MyExcel1.Xls قد تم انشاءه بالفعل لديك , لكن ماذا اذا اردنا حفظ ملف الـ Excel فى مكان اخر أو فى أى مكان نريده فاننا نحتاج الى اداة CommonDialog على الفورم و ستكون باسم Cdl1 و سنقوم بالغاء الكود السابق عن طريق وضع علامة Comment أو تعليق و نكتب الكود التالى فى الحدث SaveAs_Click :
قم بتجربة البرنامج اضغط على New ثم Save As و حدد اسم الملف و ليكن Sheet1 و المكان الذى تريد حفظه به "اذا كنت تعمل على شبكه جرب حفظه على جهاز اخر" و اضغط Save من CommonDialog الظاهر امامك ثم اغلق البرنامج تلاحظ ان الـ Excel تم اغلاقه مع البرنامج و عند فتح المجلد الذى تم الحفظ فيه ستجد به ملف الـ Excel باسم Sheet1 .
الأن و قد تعلمنا انشاء ملف Excel جديد و حفظة بشتى الطريق .
الى اللقاء فى الدرس الثانى ان شاء الله بعنوان (فتح - حفظ - تعديل ملف 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)
I am curious to find out what blog platform you happen to be utilizing?
ReplyDeleteI'm having some minor security issues with my latest website and I'd like to find
something more safeguarded. Do you have any suggestions?
My web page ... Allnews-Info.com
Thank you
DeleteEnjoy
I visited many blogs except the audio quality for audio songs
ReplyDeletecurrent at this web site is genuinely marvelous.
Also visit my web site ... excel tutorial
Do you have any video of that? I'd want to find out some additional information.
ReplyDeleteMy web site: Beckie
My programmer is trying to convince me to move to .net from PHP.
ReplyDeleteI have always disliked the idea because of the expenses.
But he's tryiong none the less. I've been using Movable-type on a
number of websites for about a year and am worried about switching to another platform.
I have heard very good things about blogengine.net.
Is there a way I can transfer all my wordpress content into it?
Any kind of help would be greatly appreciated!
My web site: Anissa
Howdy! I'm at work surfing around your blog
ReplyDeletefrom my new apple iphone! Just wanted to say I love
reading your blog and look forward to all your posts!
Carry on the great work!
my webpage :: EstefanaYCrumedy
An impressive share! I have just forwarded this
ReplyDeleteonto a colleague who has been conducting a little homework on this.
And he actually bought me breakfast because
I discovered it for him... lol. So allow me to reword this....
Thanks for the meal!! But yeah, thanx for spending some time to discuss this issue here
on your website.
My web-site; ConcettaSAlcide
Oh my goodness! Amazing article dude! Thank you so much, However I
ReplyDeleteam encountering difficulties with your RSS. I don't understand the reason why I cannot join it.
Is there anybody else getting the same RSS issues?
Anybody who knows the answer will you kindly respond?
Thanx!!
Also visit my weblog - ToneyZHowson
When I originally left a comment I appear to have clicked on the -Notify me
ReplyDeletewhen new comments are added- checkbox and now whenever a comment is added I get 4
emails with the same comment. Perhaps there is a way you are
able to remove me from that service? Kudos!
Feel free to surf to my homepage ... ReyJBehlmer
I was suggested this website via my cousin. I am not
ReplyDeletesure whether or not this submit is written by way of him as nobody else recognize such specified about my difficulty.
You are amazing! Thank you!
Feel free to surf to my homepage; AlonsoDHintze
This is my first time go to see at here and i am in fact impressed to read all at one place.
ReplyDeleteFeel free to surf to my web blog - CarrolNLipschutz
Hello, i think that i saw you visited my site so i came to “return the favor”.I'm attempting to find things to enhance my site!I suppose
ReplyDeleteits ok to use some of your ideas!!
Visit my homepage ... MarianaYBrueggeman
Sweet blog! I found it while browsing on Yahoo News.
ReplyDeleteDo you have any suggestions on how to get listed in Yahoo
News? I've been trying for a while but I never seem to get there!
Many thanks
My homepage; CarieWPastorius
I'm extremely pleased to uncover this web site. I wanted to thank you for your
ReplyDeletetime due to this wonderful read!! I definitely really liked every part
of it and I have you saved as a favorite to see new things on your
web site.
My homepage ... MurrayJBenincase
I know this site gives quality dependent content
ReplyDeleteand other material, is there any other web page which provides these kinds of
stuff in quality?
Here is my page: quest bars
Heya i am for the primary time here. I came across this board and I find It truly useful
ReplyDelete& it helped me out much. I am hoping to offer one thing back and aid others like you aided me.
Also visit my web blog quest bars
http://www.basicedu.uodiyala.edu.iq/ArticleShow.aspx?ID=1650
ReplyDeleteالاول,الكلية الاولى,الاعلام الاول,الاساسية الاولى
http://sciences.uodiyala.edu.iq
ReplyDeleteuodiyala.edu.iq
Your style is so unique in comparison to other folks I've read stuff from.
ReplyDeleteThanks for posting when you've got the opportunity, Guess I'll just bookmark this blog.
I know this if off topicc but I'm looking into
ReplyDeletestarting my own weblog and was wondering what all is needed
to get setup? I'm assuming having a blog like
yours would cost a pretty penny? I'm not very web savvy so I'm not
100% certain. Any recommendations or advice would be
greatly appreciated. Cheers
Hola! I've been following your weblog for a while
ReplyDeletenow and finally got the courage to go ahead and give you a
shout out from Huffman Texas! Just wanted to say keep up the good
job!