注意: 如果 Microsoft Jet 表达式服务在沙盒模式下运行,则禁用本主题中所述的函数、方法、对象或属性,这会阻止计算潜在的不安全表达式。 有关沙盒模式的详细信息,请在“帮助”中搜索“沙盒模式”。
返回一个 Long 类型的值,指定使用 Open 语句打开的文件中的当前读/写位置。
语法
查找 ( filenumber )
所需的 filenumber参数 是包含有效 文件编号 的整数。
备注
Seek 返回一个值 1 到 2,147,483,647 (等效于 2^31 – 1) (含)。
下面介绍了每个文件访问模式的返回值。
Mode |
返回值 |
随机 |
读取或写入的下一条记录的数目 |
Binary,Output,Append,Input |
发生下一个操作的字节位置。 文件中的第一个字节位于位置 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
对于在随机模式下打开的文件, 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.