ファイルを開き、データの読み込みや書き込みを可能にします。
Open fileName
[ For { Random | Input | Output | Append | Binary } ]
[ Access { Read | Read Write | Write } ]
[{ Shared | Lock Read | Lock Read Write | Lock Write }]
As [#]fileNumber
[ Len = recLen ]
[Charset = MIMECharsetName]
このステートメントは 1 行にしなければなりません。アンダースコア (_) を使用すると行を継続できます。
fileName
開くファイルを示す文字列式です。fileName には完全パスを含めることができます。ドライブとディレクトリを指定しない場合は、LotusScript® によって既定のドライブ上の既定のディレクトリ内でファイルが検索されます。ドライブを指定してディレクトリを指定しない場合は、LotusScript によって、指定したドライブ上の既定のディレクトリ内でファイルが検索されます。ドライブ文字のないプラットフォームでは、既定のディレクトリが使用されます。存在しない fileName を指定すると、Input モードであれば LotusScript がエラーとなります。ほかのすべてのモードでは、LotusScript によりファイルが作成され開かれます。
For mode
オプション。ファイルのモードを指定します。既定は Random です。
既定のモード。ランダムアクセスモードを示します。ファイルはレコード番号でアクセスされます。Get ステートメントと Put ステートメントを使用して、ファイルの読み込みと書き込みを行います。Access 節を省略すると、LotusScript は最初に Read Write アクセスで、次に Write アクセスで、最後に Read アクセスでファイルを開こうとします。すべてのアクセスに失敗するとエラーとなります。
シーケンシャル入力モードを示します。Input と Input # ステートメントを使用してファイルを読み込みます。このモードが Access タイプと矛盾していると、LotusScript はエラーとなります。例えば、Input モードで Write アクセスを使用してファイルを開くことはできません。
シーケンシャル出力モードを示します。Write # と Print # ステートメントを使用してファイルに書き込みます。このモードが Access タイプと矛盾していると、LotusScript はエラーとなります。例えば、Output モードで Read アクセスを使用してファイルを開くことはできません。
カレントファイルの終端から始まるシーケンシャル出力モードを示します。このモードが Access タイプと矛盾していると、LotusScript はエラーとなります。例えば、Append モードで Read アクセスを使用してファイルを開くことはできません。Seek ステートメントを使用して終端以外のファイル位置に移動しなければ、Print # ステートメントと Write # ステートメントはテキストをファイルの終端に追加していきます。
バイナリファイルモードを示します。Get ステートメントと Put ステートメントを使用して、ファイルの読み込みと書き込みを行います。Access 節を省略すると、LotusScript は最初に Read Write アクセスで、次に Write アクセスで、最後に Read アクセスでファイルを開こうとします。すべてのアクセスに失敗するとエラーとなります。
Access operations
オプション。ファイルに対してどのような操作ができるかを指定します。アクセスタイプと For 節で指定したファイルモードに矛盾があるとエラーとなります。
Input モードの既定のアクセスタイプ。読み込み処理だけが許可されます。
Random モードの既定のアクセスタイプ。読み込みと書き込みの両方の処理が許可されます。
Output、Append、Binary モードの既定のアクセスタイプ。書き込み処理だけが許可されます。
Lock type
オプション。デフォルトは Shared です。開いているファイルがネットワーク上の別のプロセスや別のユーザーのプロセスからアクセスされた場合に、そのファイルをどのように共有するかを決定します。
Windows 3.1 でバージョン 3.1 以上の MS-DOS を使用している場合は、SHARE.EXE を実行してロック機能を有効にしなければなりません。それ以前のバージョンの MS-DOS では Lock は使用できません。
既定のロックタイプ。ファイルはロックされません。ネットワーク上のどのマシン上のプロセスでも、ファイルの読み込みと書き込みができます。
別のプロセスからのファイル読み込みを禁止します。別のプロセスはファイルの書き込みができます。このロックは別のプロセスが Read アクセスでファイルを開いていないときのみ成立します。
別のプロセスからのファイルの読み込みと書き込みの両方を禁止します。このロックは別のプロセスが読み込みや書き込みのアクセスでないときのみ成立します。別のロックがすでに存在しているときは、Lock Read Write でファイルを開く前にそのロックを解除しなければなりません。
別のプロセスからのファイル書き込みを禁止しますが、ファイルの読み込みはできます。このロックは別のプロセスが Write アクセスでファイルを開いていないときのみ成立します。
fileNumber
1 から 255 までの値を持つ整数式です。この番号はファイルを開くと割り当てられます。他のファイル操作コマンドは、この番号を使用してファイルを参照します。
recLen
オプション。レコード長を指定します。1 以上 32767 以下の整数式を指定します。
Random ファイルでは、recLen はファイルのレコード長です。1 つのファイル内のすべてのレコード長は同じです。既定のレコード長は 128 バイトです。
シーケンシャルファイル (Input、Output、Append) では、recLen はファイルから内部バッファへ読み込まれる文字数、またはファイルへ書き込むときの内部バッファの文字数です。シーケンシャルファイルのレコードはそのサイズに合わせられるため、個々のレコードサイズに対応する必要はありません。大きなバッファはメモリを消費しますが、高速なファイルの入出力を提供します。既定のバッファサイズは 512 バイトです。
Binary ファイルでは、recLen は無視されます。
MIMECharsetName
オプション。シーケンシャルファイルの入出力で使用する文字セットを指定します。文字セットを指定しない場合、ファイル入出力はプラットフォームのコードページで行われますが、以下の例外があります。
有効な MIME 文字セット値の一覧については、「MIME 文字セット名」を参照してください。
Binary、Random、または Input モードですでにファイルを開いているときは、それを閉じずに、ファイルのコピーを別のファイル番号で開けます。ファイルが Append または Output モードですでに開いている場合は、異なるファイル番号で開く前にファイルを閉じなければなりません。
LotusScript では、同時に開けるファイルの数が 255 に制限されています。オペレーティングシステムの環境と実行している IBM® ソフトウェアによっては、実際に開けるファイル数が 15 以下になることがあります。詳しくは、製品のマニュアルを参照してください。