
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を探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
C#でプログラミング リストボ...
-
wav ファイルから音声を数値デ...
-
C#のプログラムについての質問
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
0バイトのテキストファイル
-
コマンドプロンプトのテキスト...
-
Thunderbird 受信メールからの...
-
VB6でTIFF図のプロパティを...
-
Eclipseで検索ができなくなった
-
ファイル作成日時と更新日時を...
-
VB2008 iniファイルの全セクシ...
-
Excel で「OLE は現在使用でき...
-
特定健診出力のXMLをCSV...
-
AccessのレポートからPDFをペー...
-
HTMLテキストリンクでExcelファ...
-
VB6.0のメモリリークについて
-
WordVBA: Write #文の文字化け?
-
VB6からEXCEL2007へ出力は可能?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
テキストファイルの特定行の削...
-
Excel VBAが徐々に遅くなる
-
VB(VBA)で、バイナリデータを使...
-
既存のテキストファイルを開く方法
-
WORDのVBAで差し込み印刷時、デ...
-
ファイル変換
-
C言語のソースからコメントを抜...
-
Zbarというソフトについて
-
C#テキストファイルから1バイト...
-
VBA。開いているテキストファイ...
-
C言語でテキストファイルをバイ...
-
テキストファイル内容の、16進...
-
フォーム無しでアプリを作成す...
-
[VB.NET] 処理の高速化を行いた...
-
VBSでテキストファイルの2行目...
-
テキストファイル(英語&日本...
-
StreamReaderで読み込んだファ...
おすすめ情報