הפונקציה Dir

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

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

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

תחביר

Dir [(שם הנתיב [תכונות] )]

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

ארגומנט

תיאור

שם הנתיב

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

תכונות

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


הגדרות

הגדרותארגומנטהתכונותהן:

קבוע

ערך

תיאור

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 .

עליך לציין שם הנתיב בפעם הראשונה קרא לפונקציה 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

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

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

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

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

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×