Sub ExampleReadFile()
Dim lngFileSize As LongDim strFileName As String
Dim intFileNo As Integer
Dim strData As String
Dim intCount As Long
'
'件数カウンタの初期化
intCount = 0
'
'ファイルのオープン
strFileName = "D:\SampleFolder\sample.txt"
intFileNo = FreeFile()
Open strFileName For Input As #intFileNo
'
'ファイルがEOF(End Of File)になるまで読み込む
Do While Not EOF(intFileNo)
intCount = intCount + 1
Line Input #intFileNo, strData
Loop
'
'ファイルのクローズ
Close #intFileNo
'
Msgbox("データ件数 : " & intCount & " 件")
End Sub
上記コードは、通常の(CRLFで改行された)テキストファイルを読み込む
サンプルである。
=========================================================
まず、ファイルを読み込む為に、ファイルをオープンする。
ファイルをオープンする為には、Open ステートメントを使用する。
Open ステートメントの書式は下記の通り :
Open Pathname For Mode [Access IOMode] [Lock] As #Filenamber ⇒
⇒ [Len = Reclength]
Pathname には、読み込むファイルのファイル名を示す文字列式を記述する。
Pathname には、フォルダ名およびドライブ名を含めて指定することができる。
Mode には、ファイルを開くときの下記いずれかのキーワードを指定する :
Mode には、ファイルを開くときの下記いずれかのキーワードを指定する :
Append : 追加モードで出力する場合
Binary : バイナリーモードで入力または出力する場合
Input : 入力モードの場合
Output : 出力モードの場合
Random : ランダムアクセスモードの場合
上記サンプルコードの場合は、Input キーワードを指定する。IOMode には、開くファイルに対して行う処理を示す、次のいずれかのキーワード
を指定する :
Read : 読み取り専用
Write : 書き込み専用
Read Write : 読み取りと書き込み
IOMode は省略可。
Lock には、開くファイルに対する、他のプロセスからのアクセスを制御する、
次のいずれかのキーワードを指定 :Lock には、開くファイルに対する、他のプロセスからのアクセスを制御する、
Shared : ファイルを他のアプリケーションでも開けるようにする
Lock Read : ファイルを読み取り保護する
Lock Write : ファイルを書き込み保護する
Lock Read Write : ファイルアクセスを禁止する
Lock は省略可。
Filenumber には、0~511の範囲で任意のファイル番号を指定する。
Filenumber には、0~511の範囲で任意のファイル番号を指定する。
Filenumber はファイル毎に重複しないように指定しなければならない為、
FreeFile 関数を使用して、使用可能なファイル番号を取得することを推奨する。
Reclength は、ランダムアクセスファイルの場合のレコード長を指定する。
Reclength は、ランダムアクセスファイルの場合のレコード長を指定する。
Reclength は省略可。
=========================================================
FreeFile 関数は、使用可能なファイル番号をを返すファイル入出力関数。FreeFile 関数の書式は下記の通り :
FreeFile()
FreeFile()
FreeFile 関数は、戻り値として整数型(Integer)の値を返す。
=========================================================
ファイルを読み込むとき、ファイル末尾に達した後、更に読み込もうとする
とエラーが発生する。これを防ぐ為、Random モード、または、Input モード
で開いたファイルについて、ファイルポインタがファイル末尾に達したか否か
を確認するために、EOF関数を用いる。
EOF 関数の書式は下記の通り :
EOF(Filenamber)
Filenumber はOpen ステートメントで Input モードで指定したファイルの
Filenumber を指定する。指定した Filenumber のファイルのポインタが
ファイル末尾に達したとき戻り値として True を返し、それ例外の場合は
False を返す。
(2)に続く
(2)に続く
0 件のコメント:
コメントを投稿