セル集団(続)

エクセルバカ相手の低レベルな通俗ネタである。少し前に遊んだ「セル集団ごっこ」の続編であり、一応の完結編である。これ以上深入りする気はない。
対象にするのはこういう実験に使う「おなじみ」の sjis_std.txt ファイルである。

ゴミのように溜まったファイルでも整理しなければと思い立つことがある。元のソースがあれば整理は簡単だが、ない場合は面倒なことになる。ipc_0105の「セル集団[続]」の部分で使ったソースがどこにあるのか、今探してみたがどこにもない。昔、こんなことをした証拠画像があるからどこかにあるはずだと探してみたが、やはり見えるようなところにはなかった。ちなみに、ipc_0104の「セル集団」のソースはあった。

もう探すのは面倒だから、頭の体操をかねて、シンプルなものでいいから、もう一度作ってみるか。と、やってみたのがこれである。結果的には現在の状態(Windows10)に合わせて画像などを書き換えただけのことになってしまった。

この部分の読み書きのメインの関数は次の2つである。

16進ダンプ部分

対象は次のファイル。


シート上に16進ダンプする。セルの数から見ると107バイトである。



少し変更する

このまま書き込むのはまったく芸がない。というより、意味がない。
セルのデータが「&H0D」となっている部分が3ヶ所ある。それを削除すると次のようになる。空白が3ヶ所できている。



ファイルに書き込む

このシート上のデータをファイルに書き込む。こういう不定型な形であっても書き込みができる。
当然、元のデータより3バイト少なくなる。



動作の確認

上で空白にした3か所(3バイト)は改行コード「CRLF」のうちの「CR」である。
したがって、できたファイルは「LF改行」のファイルになるが、メモ帳では「LF改行」のテキストは改行とは認識しないので、このように改行されない文字列が連続することになる。


念のため、そのファイルをシート上に16進ダンプする。


この場合は、世間では「Shift_JISのテキストファイルの改行をCRLFからLFに変換する」と言われるものと同じ結果になる。それを超原始的にやっただけのことである。実際はこんなことはやらない。
しかし、この読み書き関数は簡易バイトライター程度には使えるかもしれない。もちろん、テキストファイル(どんな文字コードでもよい)だけでなく、画像などのバイナリファイルに対しても使えるのは当然である。

- 2019/02/05 -




SOURCE
ByteWriter.bas@Exc2.xlsm(exc_0134)




Unicode,UTF-8,UTF-16,Big,Little,Endian,LE,BE,Shift_JIS,SJIS,CR,LF,CRLF,byte,bit,word,CSV,BOM,Encode,Decode,ANSI, Binary,Open,Byte,Get,Put,Input,InputB,Asc,AscB,AscW,Chr,ChrB,ChrW,Hex,Mod,EOF,LOF,Loc,FreeFile,ReDim,Encoding, Left,LeftB,Right,RightB,Mid,MidB,Len,LenB,InStr,InStrB,FileSystemObject,FSO,CreateTextFile,OpenTextFile, バイナリ,テキスト,文字列,文字コード,16進コード,16進文字列,変換,ビッグ,リトル,エンディアン,ユニコード,改行,サンプル, バイト,ビット,ヘキサ,2進数,16進数,読み込み,書き込み,エンコード,デコード,解析,変換,判定,判別,バイナリエディタ, 全角,半角,カタカナ,ひらがな,漢字,