BASE64の変換処理にチャレンジしてみたどうも、三流プログラマーのKen3です。今回は、BASE64の変換処理にチャレンジしてみます。http://www.ken3.org/vba/lzh/vba160.lzhにサンプルbase64test.xlsを圧縮しておきます、Excel2000版ですが使ってみてください。bWFpbG1hZ2E6Z3Vlc3Q="そして開いていました。今回は、このBASE64のコードを探ってみたいと思います。2.BASE64って何?*/BASE64って何?私の知識でこの単語が引っかかるのは、メールで添付フアイルを送る時、BASE64って単語を見たことがある程度です。Googleで探してみるか。...http://e-words.jp/w/BASE64.htmlが一番上に出てきます。ついてhttp://www.sea-bird.org/doc/Cygwin/BASE64enc.htmlとサイトがあり、>1.エンコードすべきデータから、3バイト取得する。>2.取得した3バイトを24ビットのデータ領域に設定する。>3.上位から6ビットを取り出し、その数値を下記の変換テーブルに従い>キャラクター文字に変換する。>4.次の6ビット以降も同じ変換を行い、24ビットすべて変換する。>5.エンコードすべきデータが無くなるまで、1〜4の作業を繰り返す。※エンコードすべきデータが、2バイトしか無い場合は、それまでBASE64>エンコード変換した文字列の最終位置に'='を付加する。※エンコードすべきデータが、1バイトしか無い場合は、それまでBASE64>エンコード変換した文字列の最終位置に'=='を付加する。>>変換テーブル:6ビットデータの「0〜63」を以下の文字列に変換する。丁寧に変換方法が載ってました。YahooでBASE64を検索しても、いろいろなページがヒットします。http://search.yahoo.co.jp/bin/query?p=BASE64&hc=0&hs=0読んでいくと、6ビット単位にデータを取り出し、それを指定された文字に当てはめる。下記のように作ってみました。※なんか無駄に長いんだけど、気にしないでね。'6ビットデータの「0〜63」を以下の文字列に変換する。16進<−−>2進の文字列をやり取りしてます。そこから、6ビット単位でデータを取り出し、再び数値に変換。ここまでで、6ビット単位の4つの数値が完成する。その数値を、対応表にしたがって、文字に直します。'6ビットデータの「0〜63」を以下の文字列に変換する。↑オイオイって感じのIf文の羅列ですがご勘弁を。↓変換文字が余っていたら=をプラスしてます。こんな感じで、3文字単位で変換しました。※漢字には非対応なので、2バイト文字を使う人は、一工夫してくださいね。*/さて、BASE64の変換処理ができたので、前回のソースに組み込んでみます。して、ヘッダ情報を作ってみました。*/BASE64の変換もどきを作ってみました。Excel2000版ですが使ってみてください。何か読者の心に残れば、うれしいです。*私の独り言をうまく消化してくださいね。いつも失敗?の負け組のKen3でした。~~~~~~~(↑オイオイ)ページフッターここまで、読んでいただきどうもです。広告など気になったジャンル↓を選択してください。)]・・・VBAからOutlookを使い、メール関係を処理するサンプルです↑上記3つみたいなCreateObjectで他のアプリケーションを操作するサンプルが人気です。入力・処理・出力]※↑文章の味付けが変わっていて、お口に合うかわかりませんが。※※読んで、気分を悪くされたらスミマセン。[VBA系バックナンバー目次へ移動]。