Excel2HTML は、ExcelのワークシートをHTMLの表に書き出す簡単なマクロです。
Excel95に標準で用意されているアドインは豊富な機能を備えているのですが、用途によっては不必要なものもあります。また、機能の豊富さゆえに設定が面倒になり、動作が重く、できたファイルまで重く見にくかったりします。表示フォントなどはどうでもいいからとにかく効率よくHTMLファイルをこしらえたいという目的には、あまり向いていません。また、HTMLの書き方としても、あまり褒められたものではありません。
それに対してこのマクロはごく限られた動作しかしないので、限られた動作しか求めない者に取っては使いやすいものとなっています。
Macintosh版 Excel 5.0 でもほぼ同様のコードが使えますが、ファイルタイプ指定が異なります。"HTMLファイル(*.htm), *.htm"のところを"HTML"にしなくてはなりません。
第3版は、まだ作ってません。どうしようか… 作者は Macintosh版 Excel 5.0/98 を持ってないので、アドインなどは作れないのです。どなたか、ならば私が作ってやろう、と仰せられる方は、ぜひお知らせを。
マクロですから、Excelだけで動きますし、いまさら使い方を説明する必要もないかと思いますが。マクロの使い方がわからない人は、以下の手順に従ってください。
また、Ver 3.0 からは、アドイン形式にしたものも用意してあります。アドインの組み込みについては、ヘルプを参照してください。
マクロの登録
マクロをモジュール内に記述します。
- ツールバーの『挿入』からマクロ→モジュールを選ぶか、ワークシートのタブを右クリックして挿入→モジュールを選ぶと、モジュールが現れます。
- 全コードをコピーして、モジュールに貼りつけます。
マクロの起動
マクロを開始します。
- 変換するワークシートを開きます。
- ツールバーの『ツール』からマクロを選びます。対話窓が現れます。
- 登録済みのマクロとして対話窓にExcel2HTMLが現れますので、クリックして選びます。
- 『開始』ボタンを押すと、処理を開始します。
以上です。マクロの詳細については、ヘルプを参照してください。
とすれば、Aドライブ(おそらくフロッピーディスクドライブ)へ保存するようになります。これを応用してFilename:="A:\ファイル名"
file_name = Application.GetSaveAsFilename( _ "C:\HTMLDOCUMENT\TABLE\" & Format(Date, "yy-mm-dd"), "HTMLファイル (*.htm), *.htm", _ 1, "変換済みファイルの保存" _ )と書くと、いきなりCドライブ(おそらくハードディスクドライブ)にあるHTMLDOCUMENTフォルダの中のTABLEフォルダを開くことになります。保存する場所が決まっている場合は、これはなかなか便利です。
となります。 ただしこれは、GetSaveAsFilenameメソッドでは、同じようには指定できないようです。Filename:="\\マシン名\フォルダ名\ファイル名"
このマクロの使用や改変、配布などは利用者の自由にまかされます。利用によって生じた損害の一切について、魔術幻燈は関知しませんので、御承知置きください。
ただし、著作権は放棄していません。というより、現行法の許では放棄できません。しかしながら、コードを独占あるいは読み取り・改変不可にしない限り、一切の再利用を認めます。
参考のために、GNUライブラリ一般公有使用許諾書を置きました。この許諾書に添えてある訳文は、魔術幻燈において訳出したものです。この翻訳の発表についてRichard Stallmanへ打診したところ、これを公式の邦訳として認めることはできないものの非公式のものとして発表できる旨、回答がありました。この翻訳により、『フリー・ソフトウェア』の正しい理解が広まることを望みます。
ソフトウェア使用の対価として、金品を請求したりはしませんが、作者は以下のものを求めます。
このうちのいずれかをぜひ作者宛ご教示ください。
.Value でなく、 .Text を出力するように変えました。これによって、日付や通貨なども、ワークシートに表示されているとおりの形式で出力されます。
ただし、エラーコードが出ているのも、そのとおりに出力されるのでご注意ください。
コード全体を整理して、Excel2HTML と Book2HTML を同一のモジュールに収めました。
キャンセルボタンを押したときや予想外のエラーが起きたときのために、エラートラップを追加しました。
動作中はステイタスバーに表示を出すようにしました。
Excel 95 形式のアドインを作ってみました。
Selection2HTML 1.1 にバグがありました。関数名を間違って書いています。Macintosh版も同様です。
FIXしたついでにコードを整理したので、畏れ入りますが差し替えてください。
なお、これを機に他のものも全てバージョンアップしています。場合によっては、ほんの少しだけ速くなるかも知れません。