Open Statement
データチャネルを開きます。
構文:
Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]
パラメーター:
ファイル名:開こうとするファイルの名前とパス。存在しないファイルを読み取ろうとすると (Access = Read)、エラーメッセージが表示されます。存在しないファイルを書き込もうとすると (Access = Write)、新しいファイルが作成されます。
モード: ファイルモードを指定するキーワード。有効な値:Append (順編成ファイルに追加する)、Binary (データは、Get および Put を使用してバイトによってアクセスできる)、Input (読み取り用のデータチャネルを開く)、Output (書き込み用のデータチャネルを開く)、および Random (関連ファイルを編集する)。
IOMode: アクセスの種類を定義するキーワードです。有効な値には、Read (読み取り専用)、Write (書き込み専用)、Read Write (読み取りと書き込み) があります。
Protected:オープン後のファイルのセキュリティステータスを指定するキーワード。これには下記の値を指定できます。Shared (ファイルを他のアプリケーションでも開けるようにする)、Lock Read (ファイルを読み取り保護する)、Lock Write (ファイルを書き込み保護する)、Lock Read Write (ファイルアクセスを禁止する)。
FileNumber:使用可能なデータチャネル番号を示す 0 から 511 までの整数表式。オープン後のファイルに対しては、データチャネルを通じてアクセスコマンドを渡せます。ファイル番号は、Open ステートメントの直前で FreeFile 関数を実行して取得する必要があります。
DatasetLength: ランダムアクセスファイル用にレコード長を設定します。
内容を変更できるファイルは、Open ステートメントでオープンしたファイルだけです。オープン済みのファイルを再度オープンしようとすると、エラーメッセージが表示されます。
例:
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "This is a line of text"
Print #iNumber, "This is another line of text"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" Then
sMsg = sMsg & sLine & chr(13)
End If
Wend
Close #iNumber
MsgBox sMsg
End Sub