Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ملاحظة: يتم تعطيل الدالة أو الأسلوب أو الكائن أو الخاصية الموضحة في هذا الموضوع إذا كانت خدمة تعبير Microsoft Jet قيد التشغيل في وضع بيئة الاختبار المعزولة، مما يمنع تقييم التعبيرات التي يحتمل أن تكون غير آمنة. لمزيد من المعلومات حول وضع بيئة الاختبار المعزولة، ابحث عن "وضع بيئة الاختبار المعزولة" في التعليمات.

إرجاع سلسلة تمثل اسم ملف أو دليل أو مجلد يطابق نمطا أو سمة ملف محددة، أو تسمية وحدة التخزين لمحرك أقراص.

بناء الجملة

Dir[(pathname [, attributes] )]

يحتوي بناء جملة الدالة Dir على هذه الوسيطات:

الوسيطة

الوصف

Pathname

اختيارية. تعبير سلسلة يحدد اسم ملف — قد يتضمن دليلا أو مجلدا ومحرك أقراص. يتم إرجاع سلسلة ذات طول صفري ("") إذا لم يتم العثور على اسم المسار .

سمات

اختيارية. ثابت أو تعبير رقمي ، الذي يحدد مجموعه سمات الملف. إذا تم حذفها، فترجع الملفات التي تطابق اسم المسار ولكن ليس لها سمات.

الإعدادات

السمات وسيطة الإعدادات هي:

ثابت

قيمة

الوصف

vbNormal

0

(افتراضي) يحدد الملفات بدون سمات.

vbReadOnly

1

يحدد ملفات للقراءة فقط بالإضافة إلى الملفات التي لا تتضمن سمات.

vbHidden

2

تحديد الملفات المخفية بالإضافة إلى الملفات بدون سمات.

نظام VbSystem

4

يحدد ملفات النظام بالإضافة إلى الملفات التي لا تتضمن سمات. غير متوفر على Macintosh.

vbVolume

8

يحدد تسمية وحدة التخزين؛ إذا تم تحديد أي إسناد آخر، يتم تجاهل vbVolume . غير متوفر على Macintosh.

vbDirectory

16

يحدد الدلائل أو المجلدات بالإضافة إلى الملفات التي لا تتضمن سمات.

vbAlias

64

اسم الملف المحدد هو اسم مستعار. متوفر فقط على Macintosh.

ملاحظة:  يتم تحديد هذه الثوابت بواسطة Visual Basic for Applications (VBA) ويمكن استخدامها في أي مكان في التعليمات البرمجية بدلا من القيم الفعلية.

ملاحظات

في Microsoft Windows، يدعم Dir استخدام أحرف بدل متعددة الأحرف (*) وأحرف بدل مفردة (؟) لتحديد ملفات متعددة. في Macintosh، يتم التعامل مع هذه الأحرف كأحرف اسم ملف صالحة ولا يمكن استخدامها كأحرف بدل لتحديد ملفات متعددة.

نظرا لأن Macintosh لا يدعم أحرف البدل، استخدم نوع الملف لتحديد مجموعات الملفات. يمكنك استخدام الدالة MacID لتحديد نوع الملف بدلا من استخدام أسماء الملفات. على سبيل المثال، ترجع العبارة التالية اسم ملف TEXT الأول في المجلد الحالي:

Dir("SomePath", MacID("TEXT"))

للتكرار عبر جميع الملفات في مجلد، حدد سلسلة فارغة:

Dir("")

إذا كنت تستخدم الدالة MacID مع Dir في Windows، يحدث خطأ.

تعتبر أي قيمة سمات أكبر من 256 قيمة MacID .

يجب تحديد اسم المسار في المرة الأولى التي تستدعي فيها الدالة Dir ، أو يحدث خطأ. إذا قمت أيضا بتحديد سمات الملف، يجب تضمين اسم المسار .

يقوم Dir بإرجاع اسم الملف الأول الذي يطابق اسم المسار. للحصول على أي أسماء ملفات إضافية تطابق اسم المسار، اتصل ب Dir مرة أخرى بدون وسيطات. عندما لا تتطابق أسماء ملفات أخرى، يقوم Dir بإرجاع سلسلة ذات طول صفري (""). بمجرد إرجاع سلسلة ذات طول صفري، يجب تحديد اسم المسار في الاستدعاءات اللاحقة أو حدوث خطأ. يمكنك التغيير إلى اسم مسار جديد دون استرداد كافة أسماء الملفات التي تطابق اسم المسار الحالي. ومع ذلك، لا يمكنك استدعاء دالة Dir بشكل متكرر. لا يؤدي استدعاء Dir باستخدام السمة vbDirectory إلى إرجاع الدلائل الفرعية باستمرار.

تلميح     نظرا لأن أسماء الملفات يتم استردادها بترتيب معين، فقد تحتاج إلى تخزين أسماء الملفات التي تم إرجاعها في صفيف ، ثم فرز الصفيف.

مثال

ملاحظة: توضح الأمثلة التالية استخدام هذه الدالة في وحدة Visual Basic for Applications (VBA). لمزيد من المعلومات حول العمل مع VBA، حدد مرجع المطور في القائمة المنسدلة بجوار البحث وأدخل مصطلحا واحدا أو أكثر في مربع البحث.

يستخدم هذا المثال الدالة Dir للتحقق مما إذا كانت بعض الملفات والدلائل موجودة. على Macintosh، "HD:" هو اسم محرك الأقراص الافتراضي ويتم فصل أجزاء من اسم المسار بواسطة نقطتين بدلا من خط مائل للخلف. أيضا، يتم التعامل مع أحرف البدل Windows كأحرف اسم ملف صالحة على Macintosh. ومع ذلك، يمكنك استخدام الدالة MacID لتحديد مجموعات الملفات.

Dim MyFile, MyPath, MyName' Returns "WIN.INI" (on Microsoft Windows) if it exists.MyFile = Dir("C:\WINDOWS\WIN.INI")    ' Returns filename with specified extension. If more than one *.ini' file exists, the first file found is returned.MyFile = Dir("C:\WINDOWS\*.INI")' Call Dir again without arguments to return the next *.INI file in the ' same directory.MyFile = Dir' Return first *.TXT file with a set hidden attribute.MyFile = Dir("*.TXT", vbHidden)' Display the names in C:\ that represent directories.MyPath = "c:\"    ' Set the path.MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.Do While MyName <> ""    ' Start the loop.    ' Ignore the current directory and the encompassing directory.    If MyName <> "." And MyName <> ".." Then        ' Use bitwise comparison to make sure MyName is a directory.        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then            Debug.Print MyName    ' Display entry only if it        End If    ' it represents a directory.    End If    MyName = Dir    ' Get next entry.Loop

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.