سأقدم إن شاء الله سلسلة دروس تعليمية لكيفية التعامل مع الانترنت إكسبلورر من خلال الإكسيل والـ VBA ، وستكون دروس قصيرة سنركز فيها على نقاط بسيطة لتكون نقطة إنطلاق لمن يريد التعامل مع جلب البيانات من المواقع المختلفة ..
ستكون الدروس عبارة عن أكواد جاهزة ، وسنشرح أسطر الكود بحيث يمكنك تطويع الكود بما يتناسب معك
نبدأ على بركة الله
أولاً هذا هو الكود الذي سنقوم بشرحه
CODE
Sub Create_Internet_Explorer_Object_Navigate_To_Webpage()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Top = 0
.Left = 0
.Width = 800
.Height = 600
.Visible = True
.navigate ("http://www.google.com.eg/")
Do: DoEvents: Loop Until .readyState = 4
End With
MsgBox "Done...", 64
End Sub
في السطر الأول إعلان عن متغير من النوع Object حيث أن الـ Internet Explorer عبارة عن كائن أو كيان سيتم التعامل معه .. وسنشير له باسم المتغير ie (اختصار لكلمة Internt Explorer)
ويمكن الإعلان عن الكائن بشكل آخر (أفضل من جهة) بهذا الشكل
CODE
Dim ie As InternetExplorer<br />
لكن إذا قمت بالإعلان عن المتغير بهذا الشكل سيكون عليك أن تقوم بتقعيل مكتبة Microsoft Internet Controls من خلال قائمة Tools ثم References ، وتقوم بوضع علامة صح أمام هذه المكتبة ، كما بالصورة التالية
وفي هذه الحالة أيضاً ستقوم بتعيين قيمة للمتغير بهذا السطر
CODE
Set ie = New InternetExplorer<br />
<br />
أما في حالة الكود الأصلي الذي طرحته بأول الموضوع ستكون طريقة تعيين المتغير بهذا الشكل
CODE
Set ie = CreateObject("InternetExplorer.Application")
حيث يتم إنشاء كيان جديد للمتصفح ie ..
** ما الفرق بين الطريقتين :
الطريقة التي تستخدم فيها تفعيل المكتبة تسمى Early Binding أو الربط المبكر ، وهذا مفيد أثناء كتابة الكود ، حيث أن استخدام هذه الطريقة يظهر لك بشكل تلقائي الخصائص والأفعال المرتبطة بالكائن .. مثال ليتضح المقال
للتحكم في وضع نافذة المتصفح .. فالخاصية Top تعني بعد النافذة من أعلى الشاشة ، والخاصية Left تعني بعد النافذة من يسار الشاشة ، والخاصية Width تعني عرض النافذة ، والخاصية Height تعني ارتفاع النافذة
أما السطر التالي
CODE
.Visible = True<br />
يخص إظهار نافذة المتصفح وهنا القيمة True ، لأننا نريد أن يظهر المتصفح أثناء العمل على الكود ، ويمكن إخفاء النافذة بجعل القيمة False بدلاً من True
ننتقل إلى السطر الأهم وهو تصفح أو الذهاب لعنوان ويب معين
CODE
.navigate ("http://www.google.com.eg/")
حيث يتم كتابة عنوان الويب أو الصفحة المراد الذهاب إليها بين أقواس وأقواس تنصيص ، ونستخدم في هذه الحالة الفعل "navigate" (تصفح)
من المتعارف عليه أنه عند تصفح صفحة معينة فإن المتصفح قد يستغرق بعض الوقت لتحميل الصفحة ، ولضمان تحميل الصفحة بشكل كامل قبل استكمال عمل الكود نضع هذا السطر
CODE
Do: DoEvents: Loop Until .readyState = 4<br />
حيث يقوم بعمل حلقة تكرارية ولا نفعل شيء داخل الحلقات التكرارية ، فقط بمثابة عملية انتظار للتحميل إلى أن يتم تحميل الصفحة بشكل كامل
أرجو أن يكون الدرس مفيد وواضح ، وتكون سلسلة هذه الدروس انطلاقة لمجال جديد لم يتطرق إليه الكثيرون في الوطن العربي
وفقني الله وإياكم لكل خير
وأترككم مع الشرح في الفيديو
*** إذا أعجبكم الفيديو لا تنسوا الضغط على زر إعجاب Like وعمل اشتراك بالقناة Subscribe وتفعيل زر الجرس ليصلكم كل جديد
تم إضافة رابط فيديو لشرح الموضوع ..أرجو أن ينال إعجابكم
ويا ريت مننساش لايك للفيديو ، واشتراك في القناة Subscribe ، وفعل الجرس عشان يوصلكم كل جديد إن شاء الله
تقبلوا تحياتي