كيف تتحقّق من وجود مجلد، وإذا لم يكن موجودًا، فكيف تُنشئه؟
في العديد من سير العمل المكتبية، قد تحتاج إلى التحقق مما إذا كان مجلدٌ معيّن موجودًا قبل حفظ الملفات أو تنظيم البيانات عبر Excel. فالقيام بذلك يدويًّا قد يستغرق وقتًا طويلاً، خاصةً عند إدارة عدد كبير من المجلدات أو إعداد عمليات آلية. أما القدرة على التحقق من وجود المجلد وإنشائه تلقائيًّا عند الحاجة، فهي لا تبسّط إدارة الملفات فحسب، بل تساعد أيضًا في تجنّب الأخطاء غير المتوقعة أثناء تصدير البيانات أو المعالجة الدفعية.
سيأخذك هذا البرنامج التعليمي خلال طرق عملية ل:
التحقق من وجود مجلد في مسار الملف معيّن باستخدام كود VBA
إنشاء المجلد إذا لم يكن موجودًا في مسار الملف معيّن باستخدام كود VBA
التحقق من وجود مجلد في مسار الملف معيّن باستخدام كود VBA
من المتطلبات الشائعة التحقق من وجود مجلدٍ ما في دليل معيّن، خاصةً قبل تصدير التقرير أو حفظ المرفقات أو إعداد أدلة للمعالجة الدفعية. وعلى الرغم من أن Excel لا يوفّر ميزة مضمنة للتحقق مباشرةً من وجود مجلد من ورقة العمل، يمكنك باستخدام ماكرو VBA اكتشاف وجود المجلد في أي موقع محدد بسرعةٍ وسهولة.
هذه الطريقة مثالية بشكل خاص عندما تريد التحقق من وجود المجلد دون إجراء أي تغييرات على نظام الملفات. ويوفّر كود VBA وسيلة مباشرة لهذا التحقق مع نتائج فورية.
خطوات التنفيذ:
1. اضغط مع الاستمرار على مفتاحَيALT+F11 لفتح نافذةمايكروسوفت فيجوال بيسيك للتطبيقات.
2. انقر فوقإدراج > وحدة نمطية، ثم الصق الكود التالي في نافذةالوحدة النمطية:
كود VBA: التحقق من وجود مجلد في مسار الملف معيّن:
Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
Dim sFolderPath As String
sFolderPath = "C:\Users\DT168\Desktop\Test folder"
If Right(sFolderPath, 1) <> "\" Then
sFolderPath = sFolderPath & "\"
End If
If Dir(sFolderPath, vbDirectory) <> vbNullString Then
MsgBox "Folder exist", vbInformation, "Kutools for Excel"
Else
MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
End If
End Sub
ملاحظة:في الكود أعلاه، عليك تعديل مسار الملف والاسمC:\Users\DT168\Desktop\Test folder ليتطابق مع الدليل الذي تريد التحقق منه. تأكد من إدخال المسار بشكل صحيح وأنه يحتوي على عنوان المجلد الكامل.
3. بعد إدخال الكود، اضغط علىF5 لتشغيل الماكرو. ستظهر النتيجة في مربع تنبيه يُشير إلى ما إذا كان المجلد المحدد موجودًا أم لا. على سبيل المثال:

يُعد هذا الأسلوب مثاليًا للتحقق الأولي قبل تشغيل عمليات الملفات أو تصدير البيانات. ومع ذلك، فهو لا ينشئ مجلدات، لذا استخدمه عندما تحتاج فقط إلى خطوة كشف دون إحداث أي تغييرات على الملفات أو المجلدات.
إذا كنت بحاجةٍ متكررةٍ للتحقق من مسارات ملفات مختلفة، ففكّر في تعديل الكود أو مطالبة المستخدمين بإدخال مسار الملف ديناميكيًّا لمرونةٍ أكبر. تأكد دائمًا من كتابة مسار الملف بشكلٍ صحيح، وتأكد من امتلاكك الأذونات المناسبة للوصول إلى الدليل لتجنب أخطاء التشغيل.

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
إنشاء المجلد إذا لم يكن موجودًا في مسار الملف معيّن باستخدام كود VBA
قد ترغب أحيانًا في أن يتحقق Excel ليس فقط من وجود المجلد، بل أن ينشئه تلقائيًّا إذا لم يكن موجودًا، لتقليل الحاجة إلى التدخل اليدوي. وهذا مثالي عند إعداد مجلدات لإخراج ملفات بشكل آلي، حيث يضمن استمرارية سير العمل دون انقطاع ويقلل الأخطاء الناتجة عن غياب المجلدات المطلوبة.
يُعد هذا الحل مثاليًا عندما ترغب في تشغيل ماكرواتك أو مهام تصدير البيانات بسلاسة، بغض النظر عن الحالة الأولية لهيكل المجلدات، إذ يضمن توفر جميع المجلدات المطلوبة قبل البدء بأي عمليات لاحقة.
خطوات التنفيذ:
1. اضغط مع الاستمرار على مفتاحَيALT+F11لفتح نافذةمايكروسوفت فيجوال بيسيك للتطبيقات.
2. انقر فوقإدراج>وحدة نمطية، والصق الكود التالي في نافذةالوحدة النمطية:
كود VBA: إنشاء مجلد إذا لم يكن موجودًا في مسار الملف:
Sub MakeMyFolder()
'Updateby Extendoffice
Dim fdObj As Object
Application.ScreenUpdating = False
Set fdObj = CreateObject("Scripting.FileSystemObject")
If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
MsgBox "Found it.", vbInformation, "Kutools for Excel"
Else
fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
MsgBox "It has been created.", vbInformation, "Kutools for Excel"
End If
Application.ScreenUpdating = True
End Sub
ملاحظة:يجب تحديث مسار الملف والاسمC:\Users\DT168\Desktop\Test folder،في الكود ليتوافق مع الدليل الفعلي الذي تريد إنشاءه. تحقّق مرتين من دقة سلسلة المسار من حيث الطباعة، واختر مسارًا تمتلك فيه صلاحية الكتابة لتجنّب أخطاء النظام.
3. بعد لصق الكود، اضغط علىF5 لتشغيله:
(1.) إذا كان المجلد موجودًا بالفعل، فسيُظهر مربع تنبيه إشعارًا كما في الشكل أدناه:

(2.) إذا لم يكن المجلد موجودًا، سيقوم الماكرو تلقائيًّا بإنشاء مجلد جديد في المسار المحدد، وسيؤكّد مربع تنبيه منفصل إنشاءه، كما هو موضح هنا:

يُوصى بهذه العملية المبسَّطة للمهام المتكررة مثل التصدير أو النسخ الاحتياطي، إذ قد تؤدي المجلدات المفقودة إلى أخطاء أو تعطيل سير العمل.
يرجى الانتباه: قد يُبلغ VBA عن أخطاء إذا حاولت إنشاء مجلد في دليل محمي أو غير موجود. في حال واجهت مثل هذه الأخطاء، تحقّق مجددًا من صحة المسار وأذونات المستخدم الخاصة بك.
نصائح احترازية واستكشاف الأخطاء الشائعة:
- تحقق دائمًا مرتين من تنسيق مسار الملف في نصوص VBA. يجب أن تكون المسارات صحيحة وكاملة، مع استخدام الشرطات المائلة للخلف ()
\) لفصل مستويات الدليل. - تأكد من أن لديك الأذونات الضرورية للدليل، إذ قد يؤدي فقدان صلاحية الكتابة إلى فشل كود VBA عند إنشاء المجلدات.
- إذا كنت تُشغّل الكود عبر أجهزة حاسوب مختلفة، تذكّر أن مسار دليل المستخدم (مثل: «C:\Users\DT168») سيختلف من جهاز إلى آخر، لذا لا تنسَ تحديث هذه المسارات وفقًا لذلك.
- بالنسبة لـ VBA، يُفضَّل إضافة مربعات إدخال تسمح للمستخدم بإدخال المسارات، ما يجعل ماكروك أكثر مرونة وسهولة في الاستخدام.
- إذا واجهت أخطاءً مثل «المسار غير موجود» أو «تم رفض الإذن»، فتأكد من وجود الدليل الأصلي وقابليته للوصول.
- من الأفضل عادةً عمل نسخة احتياطية لبياناتك المهمة واختبار روتين VBA على مجلدات تجريبية قبل تطبيقه على مجلدات الإنتاج.
من خلال دمج هذه الأساليب بما يتناسب مع احتياجاتك الخاصة وبيئة Excel، يمكنك إدارة عمليات التحقق من المجلدات وإنشائها بكفاءة—سواءً باستخدام ماكروات بسيطة أو طرق بديلة للتعامل مع الملفات—ما يُسهم في أتمتة المهام المتكررة، وتجنب فشل عمليات التصدير، وضمان سير العمليات اليومية في Excel بسلاسة أكبر.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل