Vba: كيفية الحصول على قائمة بجميع المصنفات المفتوحة
يمكنك استخدام حلقة For Each في VBA للحصول على قائمة بجميع مصنفات Excel المفتوحة.
إليك طريقة شائعة للقيام بذلك عمليًا:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
سيقوم هذا الماكرو المحدد بإنشاء مربع رسالة يحتوي على قائمة بجميع مصنفات Excel المفتوحة.
يوضح المثال التالي كيفية استخدام هذا الماكرو عمليًا.
مثال: احصل على قائمة بجميع المصنفات المفتوحة باستخدام VBA
لنفترض أن مصنفات Excel الثلاثة التالية مفتوحة حاليًا:
- البيسبول_بيانات.xlsx
- Football_data.xlsx
- hockey_data.xlsx
لنفترض أننا نريد استخدام VBA لسرد أسماء جميع هذه المصنفات المفتوحة.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يعرض مربع الرسالة أسماء كل من المصنفات المفتوحة، مع إدراج كل مصنف فريد في الصف الخاص به.
لاحظ أننا استخدمنا الثابت vbCrLf في حلقة For Each لإدراج حرف إرجاع، مما ينقل المؤشر إلى السطر التالي.
سمح لنا ذلك بإدراج كل مصنف مفتوح في السطر الخاص به في مربع الرسالة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية إعادة تسمية ملف باستخدام VBA
كيفية إدراج الملفات في مجلد باستخدام VBA
كيفية فتح كافة الملفات في مجلد باستخدام VBA
كيفية التحقق من وجود الملف باستخدام VBA