Openステートメント EXCEL VBAリファレンス

VBAリファレンス

説明

機能

ファイルを開いて入出力を可能にします。

構文

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

タイトルとURLをコピーしました