We couldn’t sign you in
Select the account you want to use.

הערה: הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינה זמינה אם שירות הביטויים של Microsoft Jet פועל במצב ארגז חול, דבר המונע הערכה של ביטויים לא בטוחים שעלולים להיות לא בטוחים. לקבלת מידע נוסף אודות מצב ארגז חול, חפש את ' מצב ארגז חול ' בעזרה.

החזרת מחרוזת המייצגת את שם הקובץ, הספריה או התיקיה התואמים לתבנית או לתכונת קובץ שצוינו, או לתווית עוצמת הקול של כונן.

תחביר

Dir[(pathname [, attributes]]

תחביר הפונקציה Dir מכיל את הארגומנטים הבאים:

ארגומנט

תיאור

נתיב

אופציונלי. ביטוי מחרוזת המציין שם קובץ — עשוי לכלול מדריך כתובות או תיקיה וכונן. מחרוזת באורך אפס ("") מוחזרת אם pathname לא נמצא.

תכונות

אופציונלי. קבוע או ביטוי מספרי, שהסכום שלהם מציין את תכונות הקובץ. אם הושמט, הפונקציה מחזירה קבצים התואמים ל- 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 כדי לציין את סוג הקובץ במקום להשתמש בשמות הקבצים. לדוגמה, המשפט הבא מחזיר את השם של קובץ הטקסט הראשון בתיקיה הנוכחית:

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

כדי לחזר מעל כל הקבצים בתיקיה, ציין מחרוזת ריקה:

Dir("")

אם אתה משתמש בפונקציה MacID עם Dir ב-Windows, מתרחשת שגיאה.

ערך התכונות הגדול מ-256 נחשב לערך MacID .

עליך לציין את pathname בפעם הראשונה שאתה מתקשר לפונקציה Dir , או שמתרחשת שגיאה. אם אתה מציין גם את תכונות הקובץ, יש לכלול את pathname .

הפונקציה Dir מחזירה את שם הקובץ הראשון התואם ל- pathname. כדי לקבל כל שמות קבצים נוספים התואמים ל- pathname, התקשר שוב אל Dir ללא ארגומנטים. כאשר לא מתאימים שמות קבצים נוספים, הפונקציה Dir מחזירה מחרוזת באורך אפס (""). לאחר החזרת מחרוזת באורך אפס, עליך לציין את pathname בשיחות עוקבות או מתרחשת שגיאה. באפשרותך לשנות את שם הנתיב החדש מבלי לאחזר את כל שמות הקבצים התואמים ל- pathnameהנוכחי. עם זאת, לא ניתן להתקשר לפונקציה 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

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft Office Insider

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלכם?

תודה על המשוב!

×