Open 语句

启用对文件的输入/输出 (I/O)。

语法

OpenpathnameFormode [ Accessaccess ] [ lock ] As [ # ] filenumber [ Len = reclength ]

Open 语句的语法包含以下部分:

Part 说明
pathname 必填。 指定文件名的字符串表达式,可包括目录或文件夹和驱动器。
mode 必填。 指定文件模式的关键字AppendBinaryInputOutputRandom。 如果未指定,则以 Random 访问模式打开文件。
访问 可选。 指定可对打开的文件执行的操作的关键字:ReadWriteRead Write
可选。 关键字指定由其他进程对打开的文件限制的操作: 共享锁定读取锁定写入锁定读写
filenumber 必填。 一个有效文件号,范围为 1 到 511(含 1 和 511)。 使用 FreeFile 函数获取下一个可用文件编号。
reclength 可选。 小于或等于 32,767(字节)的数。 对于以随机访问模式打开的文件,此值为记录长度。 对于序列文件,此值为缓冲的字符数。

备注

只有打开文件后才能对其执行任何 I/O 操作。 Open 分配一个缓冲区以对文件执行 I/O 操作,同时确定用于此缓冲区的访问模式。

如果 pathname 指定的文件不存在,那么在以 AppendBinaryOutputRandom 模式打开文件时,即会创建它。

如果文件已由另一个进程打开,并且不允许指定的访问类型, 则 Open 操作将失败并发生错误。

如果 modeBinary,则忽略 Len 子句。

重要

二进制输入随机 模式下,可以使用其他文件编号打开文件,而无需先关闭文件。 在 AppendOutput 模式中,必须先关闭该文件,然后才能用不同文件号打开它。

示例

此示例说明各种使用 Open 语句启用对文件的输入和输出的情况。

以下代码在顺序输入模式下打开文件。

Open "TESTFILE" For Input As #1 
' Close before reopening in another mode. 
Close #1 

此示例在二进制 (Binary) 模式下打开文件,仅供写操作。

Open "TESTFILE" For Binary Access Write As #1 
' Close before reopening in another mode. 
Close #1 

下面的示例在随机 (Random) 模式下打开文件。 文件包含用户定义类型的记录。

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) 
' Close before reopening in another mode. 
Close #1 

此代码示例打开文件进行顺序输出;任何进程都可以读取或写入文件。

Open "TESTFILE" For Output Shared As #1 
' Close before reopening in another mode. 
Close #1 

此代码示例在二进制模式下打开文件以供读取;其他进程无法读取该文件。

Open "TESTFILE" For Binary Access Read Lock Read As #1 

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。