にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:20:28.

Excelで出力したHTMLから余計なタグ・属性を取り除くMicrosoft製ツールが

WordとかExcelを使ってHTMLを出力すると、(WordやExcel上での表示と似たような)表示形態を維持するための属性や独自CSSが付加された状態で出力されます。
これらの余計な属性を取り除くツールを、Microsoft自身が昔々に公開していました。

HTML Filter 2.1 for Office 2000(@Microsoft)

名称の「for Office2000」という表記が気になってはいたんですが......
起動してみましたら、

セットアップ エラー
セットアップ プログラムを実行しようとしましたが、このコンピュータには Office 2000 製品がセットアップされていないことが判明しました。このダウンロード モジュールをインストールする前に、Office 2000 製品をインストールする必要があります。どの製品が Office 2000 製品に含まれるかを調べるためには、http://www.asia.microsoft.com/japan/office/2000/ をご覧ください。

というダイアログが表示されて、実行できず。(笑)
Office 2000よりも新しいOffice XPがインストールされてるんですが、認識してくれなかったようです。(もしくは、認識はしているけど、Office 2000でしか使えないから拒否されたのかな。)

どっちにしても、公開日が2000/07/24ですから、Office XPでの出力には対応してないのかも知れませんー。

で、結局、テキストエディタで正規表現を使って置換して、余計な属性を排除しました。
出力させたい内容が単純だったためか、意外と簡単なステップでいけました。

  • まず、XML上下の余計な部分(CSSが書かれた部分など)をバッサリ削除。
  • 次に、「 style='.+'」(正規表現)を使ってstyle属性と属性値を削除。
  • 次に、「 class=.+?>」を「>」に置換して、class属性を削除。(※Excelが吐くclass属性には引用符が付加されていないので、タグの終わりである「>」を使ってこう変換するしかなかった。あと、最小一致「?」を指定しないと、広範囲が対象になっちゃうので注意。)
  • 次に、「 height=.+?>」を「>」に置換して、height属性を削除。

……これで、だいたい削除できました。

純粋にtable系タグだけを使った出力にしてくれるツールって公開されてないのかなあ。
まあ、テキストエディタでマクロを組めば、ほとんど自動化できそうな気もしますけど。

コメント

おひさしぶりです,ヨウレです(笑)

Ubuntu Linuxについての検索をしていて…
(またも"でるふぃ"さん絡みで…)巡り巡って,
久しぶりに立ち寄らせて頂きました~♪

ツール自体は
Officeのプログラムを一切使っていないので
Officeをチェックする必要性を感じないのですが,

当時としては,ライセンス無視して勝手に
インストールするユーザーに対しての対策…
と言うか,意識向上の為の飾りみたいな気もします.

WindowsのCABツールで中のファイルを取り出すと
そのまま使えていたと記憶しています.
(MicrosoftのTechNetにも紹介されてた様な…)

その昔,ワードとエクセルの文書を渡されて,
これでホームページを作って下さいと言われて,
このプログラムを使った覚えがあります.

OfficeXP対応の版もあるかもしれません…
(記憶では2バージョンあった気がします.不明瞭)
ダウンロードセンターで検索してみて下さい~

投稿者 youre(ヨウレです,笑) : 2009年11月26日 17:49

ヨウレさん! お久しぶりです~。
巡り巡ってようこそいらっしゃいました。(笑)

なるほど、CAB形式のファイルとして中身を展開すればツールを取り出せるのですね……!
そんな裏技があったとは!(笑)
試してみます。

ざっとMicrosoftサイト内は検索してみたつもりなんですけどね。そもそもツールの名称がハッキリしないので、「HTML Filter 2.1 for Office 2000」しか見つけられなかったんですが。(^_^;;;

この余計な属性を排除する機能も、直接Officeに搭載してくれたらいいんですけどねー。(^_^;;;

投稿者 にしし : 2009年11月30日 03:13

コメント数: 2件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---