הערה
הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינם זמינים אם Microsoft Jet Expression Service פועל במצב ארגז חול (Sandbox), דבר שמונע הערכה של ביטויים שעלולים להיות לא בטוחים. לקבלת מידע נוסף על מצב ארגז חול, חפש "מצב ארגז חול" בעזרה.
החזרת Long המציין את מיקום הקריאה/כתיבה הנוכחי בתוך קובץ שנפתח באמצעות המשפט Open .
תחביר
Seek(filenumber)
ארגומנט מספר הקובץהנדרש הוא מספר שלם המכיל מספר קובץ חוקי.
הערות
Seek מחזירה ערך בין 1 ל- 2,147,483,647 (שווה ערך ל- 2^31 – 1), כולל.
להלן ערכי ההחזרה עבור כל מצב גישה לקבצים.
| הערך השכיח | ערך החזרה |
|---|---|
| אקראי | מספר הרשומה הבאה שנקראה או נכתבה |
|
בינארי, פלט, צירוף, קלט |
מיקום בית בו מתבצעת הפעולה הבאה. הבית הראשון בקובץ נמצא במיקום 1, הבית השני נמצא במיקום 2 וכן הלאה. |
דוגמה
הערה
הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.
דוגמה זו משתמשת בפונקציה Seek כדי להחזיר את המיקום הנוכחי של הקובץ. הדוגמה מניחה TESTFILE שמדובר בקובץ המכיל רשומות מהסוג Recordהמוגדר על-ידי המשתמש.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
עבור קבצים שנפתחים במצב אקראי, החיפוש מחזיר את המספר של הרשומה הבאה.
Dim MyRecord As Record ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1) ' Loop until end of file.
Get #1, , MyRecord ' Read next record.
' Print record number to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.
עבור קבצים שנפתחים במצבים שאינם מצב אקראי, החיפוש מחזיר את מיקום הבית שבו מתבצעת הפעולה הבאה. נניח TESTFILE שהוא קובץ המכיל כמה שורות טקסט.
Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading.
Do While Not EOF(1) ' Loop until end of file.
MyChar = Input(1, #1) ' Read next character of data.
' Print byte position to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.