كيفية سرد جميع المجلدات والجزئيات في Excel؟
عند العمل على مهام إدارة الدلائل أو الملفات، قد تواجه الحاجة إلى الحصول بسرعة على قائمة شاملة لجميع المجلدات والجزئيات داخل دليل معين وعرض تلك المعلومات مباشرة في Excel. ومع ذلك، لا يوفر Excel وظيفة مضمنة أو معالج بسيط لاسترداد أسماء جميع المجلدات أو الجزئيات من مسار مجلد محدد تلقائيًا. يقدم هذا المقال رمز VBA - مما يتيح لك سرد جميع المجلدات والجزئيات من أي دليل مختار مباشرة إلى ورقة العمل الخاصة بك. وهذا يقلل من خطر الخطأ البشري ويقضي على العمل الممل، مما يساعدك على تتبع وإدارة تنظيم بياناتك بسرعة.
استخدام رمز VBA لسرد جميع المجلدات والجزئيات
استخدام رمز VBA لسرد جميع المجلدات والجزئيات
إذا كنت ترغب في استخراج وعرض جميع أسماء المجلدات والجزئيات من دليل محدد إلى Excel، فإن استخدام VBA (Visual Basic for Applications) يمثل حلاً فعالاً. توفر هذه الطريقة مرونة وتحكمًا، مما يسمح لك ليس فقط بالحصول على أسماء المجلدات ولكن أيضًا معلومات إضافية مثل مسارات المجلدات، تواريخ الإنشاء وتواريخ التعديل الأخيرة. هذه الطريقة مناسبة بشكل خاص للمستخدمين المريحين باستخدام ميزات المطور في Excel وأولئك الذين يتعاملون مع أنظمة ملفات ديناميكية أو متغيرة باستمرار.
1. اضغط على ALT + F11 لفتح محرر "Microsoft Visual Basic for Applications". تتيح لك هذه الأداة إضافة وتحرير ماكروهات داخل مصنفك.
2. في محرر VBA، انقر على إدراج > وحدة. سيؤدي ذلك إلى إنشاء نافذة وحدة جديدة. انسخ والصق الكود التالي في الوحدة:
رمز VBA: سرد جميع أسماء المجلدات والجزئيات
Sub FolderNames()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Choose the folder"
.Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
getSubFolder subfld
Next subfld
End Sub
3. بعد إدخال الكود، اضغط على F5 أو انقر على زر التشغيل في محرر VBA لتنفيذ الماكرو. ستظهر نافذة حوار اختيار المجلد، مما يطلب منك تحديد الدليل المستهدف الذي ترغب في فحصه للبحث عن المجلدات والجزئيات.
4. حدد الدليل المطلوب وانقر على موافق. سيقوم الماكرو بمعالجة الدليل وإنشاء مصنف جديد يسرد جميع المجلدات والجزئيات مع مساراتها الكاملة، الدليل الأب المباشر، الأسماء، تواريخ الإنشاء وتواريخ التعديل الأخيرة كما هو موضح أدناه:
بعض النصائح العملية والملاحظات لاستخدام هذا الكود:
- إذا كانت هيكلية الدليل الخاص بك كبيرة جدًا، فقد يستغرق الماكرو بعض الوقت لمعالجة جميع المجلدات. يرجى الانتظار بصبر أثناء التنفيذ وتجنب مقاطعة العملية.
- يتطلب أسلوب VBA تمكين إعدادات الماكرو؛ وإلا لن يعمل الكود بشكل صحيح. إذا واجهت تحذيرات أمان، تحقق من إعدادات مركز الثقة تحت خيارات Excel.
- إذا قمت عن طريق الخطأ باختيار المجلد الخطأ، ببساطة أعد تشغيل الماكرو واختر الدليل الصحيح.
- هذا الأسلوب يقوم بسرد معلومات المجلدات والجزئيات فقط؛ إذا كنت بحاجة إلى سرد الملفات أيضًا، راجع المقالة ذات الصلة أدناه لمزيد من الخيارات.
- إذا كان العديد من المستخدمين يشاركون في المصنف، ذكرهم بأن الماكرو يجب أن يتم تمكينه على أجهزتهم الخاصة لاستخدام هذه الوظيفة الديناميكية.
- إذا كان المصنف الناتج فارغًا أو غير مكتمل، تأكد من أن الدليل المحدد ليس فارغًا وأن لديك أذونات قراءة كافية. بالنسبة للأشجار المجلدية العميقة أو المعقدة بشكل خاص، راجع حدود موارد نظامك وفكر في المعالجة على دفعات أو في الدلائل الفرعية عند الضرورة.
هذا الحل باستخدام VBA مرن، ولا يتطلب إضافات أو برامج خارجية إضافية، ويقوم بإنشاء مصنف إخراج تلقائيًا لراحتك. ومع ذلك، فهو الأنسب للمستخدمين المألوفين بعمليات الماكرو الأساسية، وقد يتطلب تعديلات إضافية للتخصيصات المحددة.
المقالة ذات الصلة:
كيفية سرد الملفات في دليل إلى ورقة عمل في Excel؟
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!