Byte1.xlsm
たまりにたまったエクセルファイルの整理の一環である。
バイト(Byte)型データを使ったものをByte1.xlsm,Byte2.xlsm,...などのファイルに集約する。
同じような文字コードの変換でもバイト(Byte)型をつかっていないものは除外する。また、Byte型データを使って独立したツールになっているもの、たとえばFileTools.xlsmなども除外していいだろう。
そういうもの以外で、使用しているデータ型にByte型があれば、内容のいかんを問わずここに集めて整理する。
ソースの持ち方
以前はモジュール(*.bas)ファイルが多かったが、原則としてダイアログメニュー形式に変更する。
単純なモジュールで持つのではなく、ダイアログメニューとして持つ方が整理と動作の確認に便利である。
たとえば、ByteTips1.basの内容と同じものはByteUsage.frmのボタンメニューにする。
このフォームには、BinaryAnsi.frm、BinaryUnic.frm、FileBlock.frmを追加して現在は7個フォームがある。
ByteTips1.basのDumpHex_Unicodeをボタンメニュー化したもの。
Unicodeでの16進ダンプ
Public Sub DumpHex_Unicode()
ByteTips1.basのDumpHex_Sjisをボタンメニュー化したもの。
Shift_JISでの16進ダンプ
Public Sub DumpHex_Sjis()
ファイル名
ソースは下記のようなファイルにして、SourceLibraryとシンクロさせる。
また、そのままExcelにインポートできるようにファイル名は Exc_****.bas , Vba_****.bas にする。
また、冒頭に下記のような1行を追加する。ファイル名の拡張子を取ったもので、インポートした時にそれがモジュール名になる。
exc_****.basは「Exe_****」、vba_****.basは「Vba_****」にする。
参考
Attribute VB_Name = "Exc_0000"
'■ソース
'▼ここからプロシージャーを記述
両者の差異
冒頭の差異の問題である。Excelの標準モジュールのファイル(*.bas)の冒頭が次のようになっている場合、両者に違いがあるか。
下記の両者では動作上の差はない。ともに同じ動作をする。
1
この場合、このファイルをインポートした場合、ファイル名はModule1.basなどの末尾に連番が付いたものとしてインポートされる。
参考
'■Excelとシートに関する操作
Public Const nNone As Integer = 0
2
この場合、このファイルをインポートした場合、ファイル名は冒頭で指定されたCommonEx.basとしてインポートされる。
参考
Attribute VB_Name = "CommonEx"
'■Excelとシートに関する操作
Public Const nNone As Integer = 0
- 2015/09/29 -
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進数,読み込み,書き込み,エンコード,デコード,解析,変換,判定,判別,バイナリエディタ,
全角,半角,カタカナ,ひらがな,漢字,