참고: 이 항목에 설명된 함수, 메서드, 개체 또는 속성은 Microsoft Jet Expression Service가 샌드박스 모드에서 실행 중이면 사용할 수 없으므로 안전하지 않은 식이 평가되지 않습니다. 샌드박스 모드에 대한 자세한 내용은 도움말에서 "샌드박스 모드"를 검색하세요.
Open 문을 사용하여 연 파일 내에서 현재 읽기/쓰기 위치를 지정하는 Long을 반환합니다.
구문
Seek( filenumber )
필요한 filenumber인수 유효한 파일 번호 포함하는 정수입니다.
주의
Seek 는 1에서 2,147,483,647(2^31 – 1에 해당) 사이의 값을 반환합니다.
다음은 각 파일 액세스 모드의 반환 값에 대해 설명합니다.
MODE |
반환 값 |
임의의 |
읽거나 쓴 다음 레코드의 수 |
Binary,Output,Append,Input |
다음 작업이 수행되는 바이트 위치입니다. 파일의 첫 번째 바이트는 위치 1, 두 번째 바이트는 위치 2 등에 있습니다. |
예제
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 Seek 함수를 사용하여 현재 파일 위치를 반환합니다. 이 예제에서는 TESTFILERecord사용자 정의 형식의 레코드를 포함하는 파일이라고 가정합니다.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
임의 모드로 열린 파일의 경우 Seek 는 다음 레코드의 수를 반환합니다.
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.
임의 모드가 아닌 모드로 열린 파일의 경우 Seek 는 다음 작업이 수행되는 바이트 위치를 반환합니다. 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.