①、②のファイルがあります。
その二つのファイルをバイナリ結合したいのですが、
②のバイナリデータは、書き変えなければなりません。
f1 = ファイル①のパス
f2 = ファイル②のパス
f3 = ファイル③のパス(結合して作成されるファイル)
Open f1 For Binary As #1
s1 = LOF(1) 'ファイルのサイズを変数sに読み込み
ReDim b1(s1) '配列の大きさをs(ファイルサイズ)に変更
Get #1, , b1() '配列b()に読み込み
Close #1
Open f2 For Binary As #2
s2 = LOF(2) 'ファイルのサイズを変数sに読み込み
ReDim b2(s2) '配列の大きさをs(ファイルサイズ)に変更
Get #2, , b2() '配列b()に読み込み
Close #2
Open f3 For Binary As #3
↓↓↓↓↓↓↓↓ ↓↓↓↓ ↓↓↓↓ ↓↓↓↓
'前半はそのままf3に作る
For i = 0 To s1 - 1
a = b1(i)
Put #3, , a
Next i
次にf2ファイルのバイナリ値を変更して結合
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
矢印で囲った最初の部分は、変更無しで f3にスライドしたいのですが、
ファイルサイズが大きいと、ここで、時間がかかります。
コードを短縮できる方法はあるのでしょうか?
> For i = 0 To s1 - 1
> a = b1(i)
> Put #3, , a
> Next i
>
一バイトずつやらないで一気に書いたらどうですか?
Put #3,,b1
f2ファイルのバイナリ値を変更後、
Put #3,,b2
解決しました。
どうもありがとうございます。
ツイート | ![]() |