كيفية استخدام متغير thisworkbook vba في excel؟
في VBA، يمكنك استخدام خاصية ThisWorkbook للإشارة إلى المصنف الذي تكتب فيه التعليمات البرمجية. عند استخدامه، يمكنك الوصول إلى كافة خصائص وأساليب المصنف الحالي. ببساطة، يمكنك تشغيل كافة المهام في المصنف الحالي دون استخدام الاسم.
افترض أنك تريد حساب الأوراق في المصنف الحالي. سيكون الكود الذي تريد كتابته كما يلي.
Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
عند تشغيل هذا الرمز، يظهر مربع رسالة يتضمن عدد الأوراق الموجودة في المصنف الحالي.
كما قلت، عند استخدام ThisWorkbook، فإنه يتيح لك الوصول إلى خصائص وطريقة المصنف الحالي. يمكنك رؤية كل هذا عند إدخال النقطة (.) لرؤية القائمة الكاملة.
روابط مفيدة: تشغيل ماكرو – مسجل الماكرو – محرر Visual Basic – دليل وحدات الماكرو الشخصية
استخدام ThisWorkbook مع متغير
بعد ذلك، سأعرض لك مثالًا حقيقيًا للتعليمات البرمجية للإعلان عن متغير لاستخدام خاصية ThisWorkbook. افترض أنك تريد تنفيذ عدة أنشطة في المصنف الحالي.
Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub
في الجزء الأول من هذا الكود، لديك متغير، ثم أعطه خاصية “ThisWorkbook”. ثم في الجزء الثاني لديك البيان “WTH” لتنفيذ أنشطة متعددة باستخدام المتغير الحالي.
ActiveWorkBook مقابل هذا المصنف
اسمحوا لي أن أشرح لكم ذلك بتشبيه بسيط، لذا تحملوني في الدقيقتين التاليتين.
لديك مصنفين مفتوحين في نفس الوقت (Book1 وBook2). قمت بكتابة التعليمات البرمجية في book1 ولكن book2 نشط في هذه المرحلة. لذا، عند تشغيل هذا الكود الذي يشير إلى ActiveWorkbook، فإنه سيقوم بتنفيذ هذا النشاط في Book2 .
ولكن عند استخدام ThisWorkbook، يشير VBA دائمًا إلى المصنف الذي تمت كتابة التعليمات البرمجية فيه.
هذا هو الأمر: من الأفضل دائمًا استخدام ThisWorkbook لأنه يزيل احتمالية الخطأ.
تعرف على المزيد حول مصنفات VBA
- مصنف حفظ VBA
- مصنف إغلاق VBA
- VBA حذف المصنف
- مصنف إعادة تسمية VBA
- VBA تنشيط المصنف