Open ステートメントOpen statement

ファイルへの入出力 (I/O) を有効にします。Enables input/output (I/O) to a file.


Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]

Open ステートメントの構文には、次の指定項目があります。The Open statement syntax has these parts:

パーツPart 説明Description
pathnamepathname 必須です。Required. ファイル名を指定する文字列式です。ディレクトリまたはフォルダーとドライブを含めることもできます。String expression that specifies a file name; may include directory or folder, and drive.
modemode 必須。Required. ファイル モードを指定するキーワード (AppendBinaryInputOutput、または Random) です。Keyword specifying the file mode: Append, Binary, Input, Output, or Random. 指定していない場合、ファイルは Random アクセス用に開かれます。If unspecified, the file is opened for Random access.
accessaccess 省略可能。Optional. 開いたファイルに対して許可される操作を指定するキーワード (ReadWrite、または Read Write) です。Keyword specifying the operations permitted on the open file: Read, Write, or Read Write.
locklock 省略可能。Optional. 開いたファイルに対する他のプロセスからの操作の制限を指定するキーワード (SharedLock ReadLock Write、および Lock Read Write) です。Keyword specifying the operations restricted on the open file by other processes: Shared, Lock Read, Lock Write, and Lock Read Write.
filenumberfilenumber 必須。Required. 範囲が 1 以上 511 以下の有効なファイル番号です。A valid file number in the range 1 to 511, inclusive. 次に使用可能なファイル番号を取得するには、FreeFile 関数を使用します。Use the FreeFile function to obtain the next available file number.
reclengthreclength 省略可能。Optional. 32,767 (バイト) 以下の数値です。Number less than or equal to 32,767 (bytes). ランダム アクセス用に開いたファイルの場合、この値がレコード長になります。For files opened for random access, this value is the record length. シーケンシャル ファイルの場合、この値はバッファーされる文字数になります。For sequential files, this value is the number of characters buffered.


ファイルに対する I/O 操作を実行する場合は、その前にファイルを開いておく必要があります。You must open a file before any I/O operation can be performed on it. Open により、ファイルへの I/O のためのバッファーが割り当てられて、そのバッファーで使用するアクセス モードが決まります。Open allocates a buffer for I/O to the file and determines the mode of access to use with the buffer.

pathname で指定したファイルが存在しない場合に、AppendBinaryOutput、または Random モードでファイルを開くと、そのファイルが作成されます。If the file specified by pathname doesn't exist, it is created when a file is opened for Append, Binary, Output, or Random modes.

ファイルが別のプロセスで開かれていて、指定した種類のアクセスが許可されていない場合は、Open 操作が失敗してエラーが発生します。If the file is already opened by another process, and the specified type of access is not allowed, the Open operation fails and an error occurs.

modeBinary の場合、Len 句は無視されます。The Len clause is ignored if mode is Binary.


BinaryInput、および Random モードでは、別のファイル番号を使用することで、先にファイルを閉じていなくてもファイルを開くことができます。In Binary, Input, and Random modes, you can open a file by using a different file number without first closing the file. Append および Output モードでは、別のファイル番号でファイルを開く前に、そのファイルを閉じておく必要があります。In Append and Output modes, you must close a file before opening it with a different file number.


この例では、ファイルへの入出力を有効にする Open ステートメントの使用方法を示します。This example illustrates various uses of the Open statement to enable input and output to a file.

次のコードでは、シーケンシャル入力モードでファイルを開きます。The following code opens the file in sequential-input mode.

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

この例では、書き込み操作のためにのみ Binary モードでファイルを開きます。This example opens the file in Binary mode for writing operations only.

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

次の例では、Random モードでファイルを開きます。The following example opens the file in Random mode. ファイルには、ユーザー定義型のレコードが格納されています。The file contains records of the user-defined type.

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 

このコード例では、シーケンシャル出力のためにファイルを開きます。どのプロセスからでもファイルの読み取りまたは書き込みを実行できます。This code example opens the file for sequential output; any process can read or write to the file.

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

このコード例では、読み取りのために Binary モードでファイルを開きます。このファイルは別のプロセスから読み取ることができなくなります。This code example opens the file in Binary mode for reading; other processes can't read the file.

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

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.