テキストファイルの最後に EOF (&H1A) を追加する Hit Counter

対象バージョン : 97, 2000, 2002, 2003
最終更新日 : 2005/04/25 (オリジナル作成日:1996/12/15)


概 要

 テキストファイルの最後に EOF (&H1A) を付加するユーザー定義関数です。

 エクスポート等でテキストファイルを出力した場合、ファイルの最後に EOF がつきませんが、他のツール等でファイルの終了をこれにより認識するものがあった場合に使用して下さい。

 

構 文

 Append_EOF(FileName)

 

解 説

Append_EOF 関数の戻り値は整数型 (Integer)です。

EOF の追加が成功した場合は True (-1) を、失敗した場合 は False (0) を返します。

Append_EOF 関数では次の引数を使用します。

引 数 内     容
FilName EOF を追加するフルパスファイル名を指定する文字列式です。

 

ユーザー定義関数

(宣言)
Option Compare Binary
Option Explicit

Function Append_EOF (Arg_FileName) As Integer
Dim Fno As Integer
Dim File_Length As Long
Dim Get_Char As String * 1
Dim EOF_Value As String * 1

On Error GoTo Append_EOF_err

Append_EOF = 0

If Len(Dir(Arg_FileName)) = 0 Then
    Beep
    MsgBox "指定されたファイルがありません"
    Exit Function
End If

Fno = FreeFile
Open Arg_FileName For Binary Access Read Write As Fno
File_Length = LOF(Fno)
Get Fno, File_Length, Get_Char
If Get_Char = Chr(26) Then
    Beep
    MsgBox "該当ファイルには、既に EOF が付いています"
    Close Fno
    Exit Function
End If
EOF_Value = Chr(26)
Put Fno, File_Length + 1, EOF_Value
Close Fno
Append_EOF = -1
Exit Function

Append_EOF_err:
Beep
MsgBox "エラーが発生しました。 CODE:" & Str(Err) & " " & Error
Close Fno
Exit Function
End Function

注 意

 このユーザー定義関数で、対象ファイルがテキストファイルであるか否かのチェックは行っていません。


目次へ戻る