バイナリオープンでAppendを可能にする
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Appendとは、ファイルのお尻からデータを追加していく機能のことです
Option Explicit 'BinaryAppend関数には直接関係ありませんが 'ファイルパスを統一するために変数を使用します Dim mFilePath As String 'フォームのロードイベントです Private Sub Form_Load() 'ファイルパスの指定をします mFilePath = App.Path & "\n.txt" End Sub 'バイナリデータを '指定したファイルのお尻から追加します Sub BinaryAppend(ByVal strFilePath As String, ByRef bytAddData() As Byte) Dim fn As Integer Dim fsize As Long On Local Error Resume Next 'ファイルサイズを取得します fsize = FileLen(strFilePath) fn = FreeFile Open strFilePath For Binary As #fn Put #fn, fsize + 1, bytAddData Close End Sub 'ファイルにデータを追加します Private Sub Command1_Click() Dim bytArray() As Byte '関数を実験的(視覚的)に使うため '文字列を使います '実際は、巨大なファイルの移動やコピーなどに '(ローカルまたはリモートなどで) '使用すると効果的でしょう bytArray = StrConv(Text1.Text & vbCrLf, vbFromUnicode) '指定のファイルにバイナリデータを追加します BinaryAppend mFilePath, bytArray End Sub 'ファイルのデータを確認します Private Sub Command2_Click() Dim fn As Integer Dim fs As Long Dim bytGetData() As Byte On Error Resume Next 'ファイルサイズを取得します fs = FileLen(mFilePath) '配列をファイルサイズにあわせます ReDim bytGetData(fs) 'ファイルのデータを読み込みます fn = FreeFile Open mFilePath For Binary As #fn Get #fn, , bytGetData Close 'データをテキストボックスに表示します Text2.Text = StrConv(bytGetData, vbUnicode) End Sub 'ファイルのデータを空にします Private Sub Command3_Click() Dim fn As Integer fn = FreeFile Open mFilePath For Output As #fn Print #fn, ""; Close End Sub |