وظيفة VBA DIR | كيفية استخدام وظيفة Excel VBA DIR؟
وظيفة Excel VBA DIR
تُعرف وظيفة VBA DIR أيضًا باسم دالة الدليل ، وهي وظيفة مضمنة في VBA تُستخدم لتعطينا اسم الملف لملف أو مجلد معين ولكننا نحتاج إلى توفير مسار الملف ، الناتج الذي تم إرجاعه بواسطة هذا الوظيفة عبارة عن سلسلة حيث تقوم بإرجاع اسم الملف ، وهناك وسيطان لهذه الوظيفة وهما اسم المسار والسمات.
ترجع الدالة DIR اسم الملف الأول في مسار المجلد المحدد. على سبيل المثال ، في D Drive إذا كان لديك اسم مجلد يسمى 2019 وفي هذا المجلد ، إذا كان لديك ملف Excel باسم "2019 Sales" ، فيمكنك الوصول إلى هذا الملف باستخدام وظيفة DIR.
وظيفة "VBA DIR" مفيدة جدًا في الحصول على اسم الملف باستخدام مجلد المسار الخاص به.
بناء الجملة
هذه الوظيفة لها وسيطان اختياريان.
- [اسم المسار]: كاسم يقول ما هو مسار الوصول إلى الملف. قد يكون هذا هو اسم الملف أو اسم المجلد أو الدليل أيضًا. إذا لم يتم تعيين أي مسار ، فسأعيد قيمة سلسلة فارغة مثل ""
- [السمات]: هذه أيضًا وسيطة اختيارية ولا يجوز لك استخدامها كثيرًا في الترميز. يمكنك تحديد سمة الملف في [اسم المسار] وتبحث الدالة DIR عن هذه الملفات فقط.
على سبيل المثال: إذا كنت ترغب في الوصول إلى الملفات المخفية فقط ، وإذا كنت تريد الوصول إلى ملفات للقراءة فقط وما إلى ذلك ... يمكننا التحديد في هذه الوسيطة. فيما يلي السمات التي يمكننا استخدامها.
أمثلة لاستخدام وظيفة VBA DIR
يمكنك تنزيل نموذج VBA Dir Excel هذا هنا - قالب VBA Dir Excelالمثال 1 - الوصول إلى اسم الملف باستخدام دالة DIR
سأشرح لك المثال البسيط للوصول إلى اسم الملف باستخدام وظيفة DIR. اتبع الخطوات أدناه.
الخطوة 1: قم بإنشاء اسم ماكرو.
الخطوة 2: حدد المتغير على أنه String .
رمز:
Dir_Example1 فرعي () تعتيم ملف MyFile على هيئة سلسلة نهاية فرعية
الخطوة 3: الآن بالنسبة لهذا المتغير ، سنقوم بتعيين قيمة باستخدام دالة DIR .
رمز:
Dir_Example1 فرعي () خافت MyFile كسلسلة MyFile = Dir (End Sub
الخطوة 4: الآن انسخ والصق مسار مجلد الملف على جهاز الكمبيوتر الخاص بك. اذكر اسم المسار في علامتي اقتباس.
رمز:
Dir_Example1 فرعي () Dim MyFile As String MyFile = Dir ("E: \ VBA Template End Sub
الخطوة 5: لقد ذكرت طريقي إلى المجلد ، والآن نحتاج إلى ذكر اسم الملف وامتداده أيضًا. للقيام بهذا أول شيء علينا القيام به هو أننا بحاجة إلى وضع شرطة مائلة للخلف بعد المسار (\)
بعد إدخال الشرطة المائلة للخلف ، نحتاج إلى إدخال اسم الملف الكامل .
رمز:
Dir_Example1 فرعي () Dim MyFile As String MyFile = Dir ("E: \ VBA Template \ VBA Dir Excel Template.xlsm") End Sub
الخطوة 6: إظهار قيمة المتغير في مربع الرسالة.
رمز:
Dir_Example1 فرعي () Dim MyFile As String MyFile = Dir ("E: \ VBA Template \ VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub
الآن قم بتشغيل الكود وشاهد نتيجة مربع الرسالة.
لذلك قامت دالة DIR بإرجاع اسم الملف بامتداد الملف.
مثال # 2 - فتح ملف باستخدام دالة DIR
الآن كيف نفتح الملف؟ يمكن لهذه الوظيفة إرجاع اسم الملف ولكن فتح هذا الملف عملية مختلفة قليلاً. اتبع الخطوات أدناه لفتح الملف.
الخطوة 1: إنشاء متغيرين كسلسلة .
رمز:
Dir_Example2 فرعي () خافت اسم المجلد كسلسلة خافتة اسم ملف كسلسلة نهاية فرعية
الخطوة 2: الآن بالنسبة لمتغير FolderName ، قم بتعيين مسار المجلد.
رمز:
Dir_Example2 فرعي () خافت اسم المجلد كسلسلة خافتة اسم ملف كسلسلة اسم مجلد = "E: \ قالب VBA \" End Sub
الخطوة 3: الآن بالنسبة لمتغير اسم الملف ، نحتاج إلى الحصول على اسم الملف باستخدام وظيفة DIR .
رمز:
Dir_Example2 فرعي () اسم المجلد الخافت كسلسلة اسم ملف خافت كسلسلة اسم المجلد = "E: \ قالب VBA \" FileName = Dir (End Sub
الخطوة 4: الآن بالنسبة لـ Path Name ، قمنا بالفعل بتعيين مسار إلى المتغير FolderPath ، حتى نتمكن من توفير المتغير مباشرة هنا.
رمز:
Dir_Example2 فرعي () خافت اسم المجلد كسلسلة خافتة اسم ملف كسلسلة اسم مجلد = "E: \ قالب VBA \" اسم الملف = Dir (FolderName End Sub
الخطوة 5: الآن نحتاج إلى توفير اسم الملف. باستخدام رمز العطف (&) قم بتعيين اسم الملف.
رمز:
Dir_Example2 فرعي () اسم المجلد الخافت كسلسلة اسم ملف خافت كسلسلة اسم المجلد = "E: \ قالب VBA \" FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") End Sub
الخطوة 6: الآن استخدم طريقة WORKBOOKS.OPEN .
رمز:
Dir_Example2 () خافت اسم المجلد كسلسلة خافتة اسم كمجلد سلسلة = "E: \ VBA Template \" FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub
الخطوة 7: اسم الملف هو مزيج من FolderPath & FileName . لذا اجمع بين هذين.
رمز:
Dir_Example2 () خافت اسم المجلد كسلسلة خافتة اسم ملف كمجلد سلسلة = "E: \ قالب VBA \" FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub
الآن قم بتشغيل هذا الرمز سوف يفتح اسم الملف المذكور.
مثال # 3 - افتح مصنفات متعددة باستخدام وظيفة DIR
في الواقع ، يمكننا الوصول إلى جميع المصنفات الموجودة في المجلد. من أجل الوصول إلى كل ملف ، لا يمكننا ذكر جميع أسماء الملفات مباشرة ، ولكن يمكننا استخدام حرف البدل للإشارة إلى الملف.
علامة النجمة (*) هي أحد أحرف البدل تلك. يحدد أي عدد من الأحرف. على سبيل المثال ، إذا كنت تريد الوصول إلى جميع ملفات الماكرو في المجلد ، فيمكنك استخدام العلامة النجمية كحرف بدل ، مثل "* .xlsm *"
هنا * سيطابق أي اسم ملف بامتداد الملف يساوي "xlsm".
رمز:
Dir_Example3 () خافت اسم المجلد كسلسلة خافتة اسم ملف كمجلد سلسلة = "E: \ VBA Template \" FileName = Dir (FolderName & "* .xlsm *") أثناء اسم الملف "" Workbooks.Open FolderName & FileName = Dir ( ) حلقة نهاية فرعية
الآن سيفتح الرمز أعلاه جميع الملفات الموجودة في مسار المجلد.
FileName = Dir () سبب استخدامي لهذا السطر لأنه من أجل الوصول إلى الملف التالي في المجلد ، يتعين علينا جعل اسم الملف الحالي لا شيء. في اللحظة التي نجعل فيها اسم الملف الحالي لا شيء عندما تعمل الحلقة للمرة الثانية ، ستأخذ الملف التالي في المجلد.
مثال # 4 - احصل على جميع أسماء الملفات في المجلد
لنفترض أنك إذا كنت تريد قائمة بجميع أسماء الملفات في المجلد ، فيمكننا أيضًا القيام بذلك باستخدام السمات.
رمز:
Dir_Example4 () اسم ملف خافت كسلسلة اسم ملف = Dir ("E: \ VBA Template \"، vbDirectory) أثناء اسم الملف "" Debug.Print FileName FileName = Dir () Loop End Sub
اجعل النافذة الفورية مرئية بالضغط على Ctrl + G.
الآن قم بتشغيل الكود وسوف نحصل على جميع أسماء الملفات في النافذة الفورية.