
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
確かに、テキストファイルをバイナリで扱うことはありますね。どうも何のためにしているか分からないので思ったように、回答が付けられません。あくまでも、一般的な使い方を示します。
私も、テキストファイルでバイナリにすることは良くありますが、それを保存というのはまた別問題です。
例えば、Unicode(UTF-16) BOM の場合に、バイナリで扱います。
Sub BinaryInput()
Dim Fno As Integer
Dim Fname As String
Dim bufbyt() As Byte
Dim i As Long
Fname = "UTF16LE.txt" 'ファイル名"
Fno = FreeFile()
If FileLen(Fname) = 0 Then Exit Sub
Open Fname For Binary Access Read As #Fno
bufbyt = InputB(LOF(Fno), #Fno)
For i = 0 To 3
buf = buf & Hex(bufbyt(i))
Next i
If buf Like "FFFE*" Then
MsgBox "Unicode BOM付き", vbInformation
End If
End Sub
以下は、ZIP圧縮の場合
Sub TestZip()
Dim Fname As String
Dim Fno As Integer
Dim buf As String
Dim bufbyt() As Byte
Dim i As Long
Fname = "EDE1D300" '←Excelの残骸ファイル
Fno = FreeFile()
Open Fname For Binary Access Read As #Fno
bufbyt = InputB(LOF(Fno), #Fno)
Close #Fno
For i = 0 To 10 Step 1
buf = buf & Chr(Val(bufbyt(i)))
If buf = "PK" Then MsgBox "圧縮ファイルです。", vbInfomation: Exit For
Next
End Sub
逆に
Open Fname For Binary Access Write As #FNo
というものもありますが、セットで使ったことはありません。
Open Fname1 For Binary Access Read As #FNo1
Open Fname2 For Binary Access Write As #FNo2
で開くなら1行の文字列をD$にできるのかがネックです。
Open Fname1 For Input As #FNo1
Open Fname2 For output As #FNo2
で開くならバイナリーの入った行をそのままそっくりそのままコピーすることです。
そのときの関数は
Input(1, #FNo1)
InputB(1,#FNo.1)
だと思いますが・・・。
確認ですが、1行読み込んだ場合通常は読み込めますし、度のデータを別ファイルに書き込めます。
しかし時々読み込めない行があり調べるとLine Inputでは正常に読み込めません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイル固定長データ...
-
C言語でテキストファイルをバイ...
-
STM32 Nucleo-F446REでデータを...
-
[VB.NET] 処理の高速化を行いた...
-
テキストファイルの特定行の削...
-
WORDのVBAで差し込み印刷時、デ...
-
フォームファイル(.frm)を開...
-
テキストファイルの一部分を抽...
-
フォーム無しでアプリを作成す...
-
accessでクエリをExcelにエクス...
-
0バイトのテキストファイル
-
Content-Dispositionヘッダーとは
-
2GB以上のファイルを扱う方法
-
COBOL、項目末尾に空白がある場...
-
コマンドプロンプトのテキスト...
-
accessのリポートを、excelに出...
-
エクセルが裏で動いたままなん...
-
GetOpenFileName()について
-
RPGについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
既存のテキストファイルを開く方法
-
VB(VBA)で、バイナリデータを使...
-
テキストファイル内容の、16進...
-
VBSでテキストファイルの2行目...
-
ストリームについて。
-
エクセルVBAでメールの自動作成...
-
受信メールを一括してテキスト...
-
WORDのVBAで差し込み印刷時、デ...
-
別のサーバーのテキストファイ...
-
excelからtextへ変換する際の出...
-
テキストファイルの特定行の削...
-
Zbarというソフトについて
-
Excel VBAが徐々に遅くなる
-
テキストファイル内の文字の有...
-
テキストファイルを検索・編集...
-
HTMLでこんなこと可能ですか??
-
こんな場合はどうすればいいの?
おすすめ情報