كيفية استخدام متغير thisworkbook vba في excel؟

في VBA، يمكنك استخدام خاصية ThisWorkbook للإشارة إلى المصنف الذي تكتب فيه التعليمات البرمجية. عند استخدامه، يمكنك الوصول إلى كافة خصائص وأساليب المصنف الحالي. ببساطة، يمكنك تشغيل كافة المهام في المصنف الحالي دون استخدام الاسم.

افترض أنك تريد حساب الأوراق في المصنف الحالي. سيكون الكود الذي تريد كتابته كما يلي.

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
vba-هذا المصنف

عند تشغيل هذا الرمز، يظهر مربع رسالة يتضمن عدد الأوراق الموجودة في المصنف الحالي.

مربع الرسائل مع عدد الأوراق

كما قلت، عند استخدام 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

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *