WebからExcelの表へ ver0.99 WEB to Excel ver0.99 CopyRight MIYAMA. 2007 kaz_kimijima@yahoo.co.jp http://kimijima.at.infoseek.co.jp 1 はじめに  このユーティリティは2006年に公開したExcelの表をWebに移植す るための簡易ユーティリティの逆動作を意図して作られました  インターネット上に存在する任意のWEB表を元にEXCELで処理可能 なデータのファイルを復元します  前回はExcelデータの区切りデリミタを単純に表形式HTMLタグに 置換するだけの比較的単純な論理構成のツールでしたが  今回は比較的融通無碍にも見えるHTMLのある程度自由自在なタグ 構造を解析する必要がありました  アイディアが浮かんだときにはまさか実装が実現できるとは思っ ていませんでした  逆に業務でこういう種類の仕事はしたくないのは誰でもほんねで しょうね  前回の逆動作のソフトも簡単な正規表現といわれるUNIXなどに特 有な文字列処理のコマンドを使用しましたが  今回のツールはそのコマンドの中級レベルの応用問題に当たりま す  実際問題HTMLのタグ構造と正規表現文法を同時にある程度熟知し ていなければこのようなツールは書けないはずです  逆にこれが完成したことはあるていどながら自分の中のささやか な奇跡であり  またこのようなものをオフィスで開発しようとしても同程度の応 用力のある人が同じフロアにいることはまあごくまれなのであえて さみしい断言としていまのところこのようなツールは一人の個人に しか作れないものなのかもしれません 2 使用方法(解凍とファイル)  配布ファイルwtoe099.exe(自己解凍ファイル)をデスクトップ にコピーしマウスなどでダブルクリックしてください  自己解凍し以下のファイルが出現します WTOE099.HTM ユーティリティ本体です READMEWTOE.TXT この読んでいるファイルです TESTDATA.HTM 動作確認用のテストデータ(HTML)です  まずWTOE099.HTMをクリックしてエクスプローラの画面にて操作 画面を表示させてください 3 使用方法の実際 データファイルのフォルダについて  データの入出力はファイル単位で行います  これはインターネットエクスプローラの(以下エクスプローラと 略)ファイルなので処理の基準フォルダはデスクトップになります  WINDOWSのシステムとして常にエクスプローラはファイル入出力 をデスクトップを基準に行います  c:\のような絶対パスを指定しない限りただ単にファイル名だけ をエクスプローラのアドレス窓や内部コードのファイル名に指定し ない限り  そのファイルはデスクトップにあるものだと仮定されます(存在 しない場合はエラーになります)  ごくふつうに一般の方がこのユーティリティでデータの入出力を 行う場合  入出力ファイルはWINDOWSのデスクトップにおいてくださるよう にお願いいたします 4 操作 テスト  テストデータTESTDATA.HTMを用いてデモとしての処理が行えます  このデータはEXCEL由来のHTML形式の表です  このファイルをクリックするとエクスプローラ上にWEBの文法で 表が表示されます  実際の使用に際してはにはインターネット上の表を同じように入 力ファイルとして用意します  詳細は後述します  WTOE099.HTMをクリックして操作画面を表示したのち  入力ファイル名にTESTDATA.HTMのファイル名が存在していること を確認し(初期状態ではこのテストファイルの名前になっています )GOボタンを押し下してください  処理の経過が表示窓に逐一表示された後に (メッセージを逐一OKで押し下してください)  最終的にデスクトップ上に二つの出力データファイルが出力され ます OUTCSV.CSV エクセルで直接表示可能なファイルです OUTTAB.TXT 同じデータですが区切り形式が異なるデータテキスト です  詳細は後述します PCにEXCELがインストールされていれば前者のファイルにはEXCELマ ークのアイコンが表示されているはずです  クリックするとEXCEL上にデータが表示されます  初期状態ではセルの幅情報は存在していませんので 適宜希望するフォーマットとして調整してください  後者はメモ帳が呼び出されて開くことができます 5 数字データの形式  出力ファイルを二つ用意したのにはひとつの理由があります  純粋なコンピュータ上の文字列処理としては入出力は一本のライ ンでかまわないはずですが  EXCEL(そしてWEBも)上では通貨の形式に以下のカンマ使用があ ることがあるからです  1000円を1,000と表記  現在のEXCELのバージョンではこの表現が可能ですが  昔の表計算の形式ではデータや文字の区切りに絶対的な文法とし てこの半角カンマを使用していました  ですから現在の帳票画面で不用意に1,000と入力すると  途中にこのような古いデータ形式の課程があると  データが分割されてただの1と0のセルに分かれてしまいます  ですから前者CSVファイル形式に出力する場合はこのユーティリ ティは元のWEBデータに存在するあらゆる半角カンマを強制的に削 除してしまいます  ですから文面表記上で多少の乱れが生じるとおもわれるので、微 妙なデータには向かないかもしれません  カンマを削除しない形式のデータは後者の  メモ帳に表示される形式のテキストデータです  これは受け入れ側のEXCELを直接開き  画面間でカットアンドペーストを行ってください  このデータはEXCELで認識できるタブコードで  データを区切っている形式です 5 操作 実際の使用  実際に操作する場合にはインターネットから表を含むWEBファイ ルを入手してデスクトップにコピーします  付随する画像データなどは必要ありません  またこのユーティリティは表情報以外の情報を抽出しませんので いっさいのリンク情報も出力には含まれません  複数の表どうしで相互にリンクを張っている場合はその関係は失 われます  ユーティリティの操作画面でファイル名を入力する必要があるの でたとえば  2006年度年次報告.HTMLのようなファイル名は  2006.HTMのような  短い名前にかえておいたほうがいいかもしれません  拡張子は必ず入力しておいてください .HTMで認識しない場合は.HTMLという拡張子である可能性がありま す  (.JPEG同様4文字拡張子も95以降のWINDOWSは認識します)  ファイルが存在している場合はボタン押し下しで処理が進行しま す 6 注意事項と動作使用条件  出力ファイル名は常に固定です  処理を続行すると同じファイル名で次々に上書きされてしまいま す  出力データは安全な場所にできれば別名でコピーしてください  動作マシンはWINDOWS95以上でインターネットエクスプローラ5.0 以上が必要です  古いバージョンのエクスプローラやネットスケープでは使用した い内部関数ー正規表現のライブラリが存在していないので動作しま せん  同様の理由でマッキントッシュでも動作しません  プロセッサはペンティアムの古いマシンでもかまわないと思いま すがメモリーは最低でも64メガバイトは必要かもしれません(文書 を一度メモリーに取り込みます)  またごくまれに内部論理がタグを読み間違えるかもしれません  このバージョンで確認されている不都合はWEBの表上でおなじ半 角英数字一文字がたとえば  a a a a a .....  と連続している場合まれにこれらのセルが横にくっついてしまう ことですこれはa z d nの4種類の文字の組み合わせを内部論理 で用いているためです  結合だけで内容は失われません  並んでいるものが互いに異なる複数の単語である場合はこの事象 は起こりません  WEB上でナンバリングや文字で絵の地図などを表現している場合に は注意してください  今回はこの事象の改良にまでは手が回りませんでした  また厳密に碁盤の目でない形のセル結合が表現されているシート も元の序列でデータが並ぶとは限りません  十分ご注意ください  動作そのものにこのPCにEXCELが存在している必要はありません  またPDFや画像ソフトなどマシンのリソースを圧迫するソフトは 閉じておいてください !!自己責任です!!  重要なマシン上での動作や重要なデータをこのユーティリティに かけることはおやめください  このソフトの使用に関して作者はいっさいの責任を負いません  このソフトは素朴なHTMLタグの文法が遵守されているタグ文法が ファイルの上に存在していることを仮定して設計されています  スタイルシートが複雑に入り組んだジェネレーター出力のHTML 文書やXML文書の構造は認識できません --------------   2007年 池袋にて