説明
機能
ファイルを開いて入出力を可能にします。
構文
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
指定項目 | 日本語名 | 必須 | 説明 |
pathname | ファイルパス | ○ | オープンしたいファイルのフルパスを指定 ドライブ、ディレクトリ(フォルダ)を含めてよい |
mode | ファイルモード | どのようなファイルとしてオープンするか 入力:Input、出力:Output、追加:Append、ランダム:Random、バイナリ:Binary(省略時はRandomモード)*1 |
|
access | アクセスモード | 読み書き操作の宣言(宣言することで誤操作を防ぐことが出来る) Read:読み込み専用、Write:書き込み専用、Read Write:読み書き両方 |
|
lock | 排他指定 | 他のプロセスからの操作の制限 Shared:制限なし、Lock Read:読み込み禁止、Lock Write:書き込み禁止、および Lock Read Write:アクセス禁止 |
|
filenumber | ファイル番号 | ○ | ファイル毎に振る番号、1~511の整数値。FreeFile関数で取得可 |
reclength | レコード長 | △ | 32,767 (バイト) 以下の数値。 ランダムオープン時にレコード長を指定する。 シーケンシャルファイルでは、読み込んだ文字数になる。 |
*1 ファイルモードについて
ファイルモードを適切に指定しないとファイルの読み書きが出来ません。
最悪の場合、ファイルを破損してしまいますので、十分理解した上で、注意して記述しましょう。
入力:Input
テキストファイルを入力したい場合に使います。
出力:Output
テキストファイルを出力したい場合に使います。
同じ名前のファイル名が存在した場合、上書きされます。
追加:Append
テキストファイルを出力したい場合に使います。
同じ名前のファイル名が存在した場合、既存ファイルに追記されます。
ランダム:Random
固定長データファイルを入出力したい場合に使います。
バイナリ:Binary
バイナリファイルを入出力したい場合に使います。
補足
Openステートメントはパラメータの数や列挙可能な値が多めなので、初心者の方には難しく感じるかもしれませんが、テキストファイルを読んだり書いたりするだけなら、記述はほぼ決まっています。使用例に挙げたパターン(EX01~03)を理解すれば、ほとんどの場合、困ることはないと思います。
使用例
>テキストファイルの読み込み
>テキストファイルの書き込み
>テキストファイルの書き込み(追記)
>ランダムファイルのアクセス
補足情報
ワンポイントアドバイス
同一ファイルに対する異なったOpenステートメントの使用
Binary、Input、および Randomモードでは、ファイルを閉じなくても別のファイル番号を使用してファイルを開くことができます。Append および Outputモードでは、別のファイル番号を使用してファイルを開く前にファイルを閉じる必要があります。
類似機能
ADODB.Streamオブジェクトによるファイル入出力
FileSystemObjectオブジェクトによるファイル入出力
参考サイト
Office VBA 言語リファレンス
https://msdn.microsoft.com/ja-jp/library/office/gg264383.aspx