/ / الملفات في دليل في Excel VBA

الملفات في دليل في Excel VBA

أدناه سننظر في برنامج في Excel VBA أن حلقات من خلال جميع أوراق العمل وأوراق العمل مغلقة في دليل، ويعرض كل الأسماء.

تنزيل Book1.xls و Book2.xls و Book3.xls و Book4.xls و Book5.xls وإضافتها إلى "C: اختبار"

موقف:

الملفات في مثال دليل

أضف أسطر التعليمات البرمجية التالية إلى زر الأمر:

1. أولاً ، نعلن عن متغيرين من نوع String ، وكائن ورقة عمل ومتغيرين من النوع Integer.

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer

2. لتجنب وميض الشاشة ، قم بإيقاف تشغيل تحديث الشاشة.

Application.ScreenUpdating = False

3. تهيئة الدليل المتغير. نستخدم الدالة Dir للعثور على أول * .xl ؟؟ الملف المخزن في هذا الدليل.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

ملاحظة: تدعم الدالة Dir استخدام أحرف البدل المتعددة (*) والحروف الفردية (؟) للبحث عن كافة أنواع ملفات Excel المختلفة.

4. يحتفظ المتغير fileName الآن باسم أول ملف Excel موجود في الدليل. إضافة Do While حلقة.

Do While fileName <> ""

Loop

أضف الأسطر التعليمات البرمجية التالية (في 5 و 6 و 7 و 8 و 9) إلى الحلقة.

5. قم بتهيئة متغيرات النوع Integer وأضف اسم ملف Excel إلى العمود الأول من الصف i.

i = i + 1
j = 2
Cells(i, 1) = fileName

6. لا توجد طريقة بسيطة لاستخراج البيانات (أو أسماء الورقات) من ملفات Excel المغلقة. لذلك ، نفتح ملف Excel.

Workbooks.Open (directory & fileName)

7. قم بإضافة كل أسماء أوراق ملف Excel إلى الأعمدة الأخرى من الصف i.

For Each sheet In Workbooks(fileName).Worksheets
    Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, j).Value = sheet.Name
    j = j + 1
Next sheet

8. أغلق ملف Excel.

Workbooks(fileName).Close

9. وظيفة Dir هي وظيفة خاصة. للحصول على ملفات Excel الأخرى ، يمكنك استخدام الدالة Dir مرة أخرى بدون أية وسائط.

fileName = Dir()

ملاحظة: عند عدم تطابق أي أسماء ملفات أخرى ، تقوم الدالة Dir بإرجاع سلسلة ذات طول صفري (""). نتيجة لذلك ، سيترك Excel VBA في "حلقة While".

10. قم بتشغيل تحديث الشاشة مرة أخرى (خارج الحلقة).

Application.ScreenUpdating = True

11. اختبار البرنامج.

نتيجة:

الملفات في دليل في Excel VBA

اقرأ أيضًا: