「HTMLをプレインテキストに変換するための秀丸エディタ用マクロ v0.02」をバージョンアップしました。
・Html2txt.mac v0.02 → ExtractTxtFromHtml.mac v0.03の修正点
(1)「html2txt.*」から「ExtractTxtFromHtml.*」ファイル名の変更(h-tomさんの「htmlからtextを取得するマクロ」と名称が似ているため。)
(2) S-JIS以外のときに文字化けが発生したため、VBSで生成したIEコントロールのinnerTextのテキストファイルを、常に、S-JISモードでオープン。
(3) 画面がちらつかないように、一時ファイルをステルスモードでオープン。
(4) 一時ファイルの削除を、VBSでなくて、DELコマンドに変更
(5) VBSに引き渡す一時ファイルを作成するディレクトリのデフォルトを"C:Temp"からTEMP環境変数に変更。(デバッグ時用ディレクトリからの戻し忘れ)
(6) 一度オープンしたファイル名をマクロのfilenameキーワードで再取得したものを検索するように修正
・Html2txt.vbs v0.02 → ExtractTxtFromHtml.vbs v0.03の修正点
(1)「html2txt.vbs」から「ExtractTxtFromHtml.vbs」ファイル名の変更(h-tomさんの「htmlからtextを取得するマクロ」と名称が似ているため。)
(2) /DELオプションの削除(v0.02はVBSで一時ファイルを削除していたが、v0.03では秀丸マクロ側で削除するようにしたため)
(3) 未使用のフラグ類を削除(boolContProcFlag)
Html2txt.mac v0.02 → Html2txt.mac v0.03の修正点の(3)と(4)については、h-tomさんのコメントが参考になり、大変、感謝です。
※ h-tomさんが、こんなブログにまで、チェックされているとは、驚きです。
ところで、私が勘違いしたステルスモードでウィンドウハンドルが取得できないと勘違いしていた件ですが、結局、ステルスモードは関係が無くて、環境変数TEMPがショートパス名(C:DOCUME~1アカウント名LOCALS~1Temp)になっており、このパス名とテンポラリファイル名を連結して、openし、そのオープン時のパスでfindhidemaruをしてしまっていたことでした。対処としては、openした直後に、再度、秀丸からファイル名を取得しておいて、そのファイル名(ロングパス名)でfindhidemaruすることで解決しました。
あと、このマクロのToDoとしては、以下の点が、少しだけ使いづらいので、なんとかしたいできれば良いかなぁと思っています。
・HTMLコードとマクロを実行する秀丸の文字コードセットが異なるときに、文字化けが発生する。
例えば、EUC-JPのHTMLコードを、Shift-JISエンコードモードで開いている秀丸のウィンドウ上でマクロを実行すると、マクロで、Shift-JISに変換してしまい、IEに解析をさせてしまっているために、文字化けが発生してしまいます。ただ、通常、HTMLコードを作成中であれば、HTMLコードの文字コードに合わせて、秀丸エディタのエンコードモードを編集しているだろうから、大きな問題ではないかと考えて、とりあえずは、そのままにしてあります。
ファイルのダウンロードは、以下からできるようにしてあります。
「甘党のプログラマ」のファイル保管庫の「秀丸エディタ関連のマクロ」ページの「■ HTMLをプレインテキストに変換するための秀丸エディタ用マクロ」
・Html2txt.mac v0.02 → ExtractTxtFromHtml.mac v0.03の修正点
(1)「html2txt.*」から「ExtractTxtFromHtml.*」ファイル名の変更(h-tomさんの「htmlからtextを取得するマクロ」と名称が似ているため。)
(2) S-JIS以外のときに文字化けが発生したため、VBSで生成したIEコントロールのinnerTextのテキストファイルを、常に、S-JISモードでオープン。
(3) 画面がちらつかないように、一時ファイルをステルスモードでオープン。
(4) 一時ファイルの削除を、VBSでなくて、DELコマンドに変更
(5) VBSに引き渡す一時ファイルを作成するディレクトリのデフォルトを"C:Temp"からTEMP環境変数に変更。(デバッグ時用ディレクトリからの戻し忘れ)
(6) 一度オープンしたファイル名をマクロのfilenameキーワードで再取得したものを検索するように修正
・Html2txt.vbs v0.02 → ExtractTxtFromHtml.vbs v0.03の修正点
(1)「html2txt.vbs」から「ExtractTxtFromHtml.vbs」ファイル名の変更(h-tomさんの「htmlからtextを取得するマクロ」と名称が似ているため。)
(2) /DELオプションの削除(v0.02はVBSで一時ファイルを削除していたが、v0.03では秀丸マクロ側で削除するようにしたため)
(3) 未使用のフラグ類を削除(boolContProcFlag)
Html2txt.mac v0.02 → Html2txt.mac v0.03の修正点の(3)と(4)については、h-tomさんのコメントが参考になり、大変、感謝です。
※ h-tomさんが、こんなブログにまで、チェックされているとは、驚きです。
ところで、私が勘違いしたステルスモードでウィンドウハンドルが取得できないと勘違いしていた件ですが、結局、ステルスモードは関係が無くて、環境変数TEMPがショートパス名(C:DOCUME~1アカウント名LOCALS~1Temp)になっており、このパス名とテンポラリファイル名を連結して、openし、そのオープン時のパスでfindhidemaruをしてしまっていたことでした。対処としては、openした直後に、再度、秀丸からファイル名を取得しておいて、そのファイル名(ロングパス名)でfindhidemaruすることで解決しました。
あと、このマクロのToDoとしては、以下の点が、少しだけ使いづらいので、なんとかしたいできれば良いかなぁと思っています。
・HTMLコードとマクロを実行する秀丸の文字コードセットが異なるときに、文字化けが発生する。
例えば、EUC-JPのHTMLコードを、Shift-JISエンコードモードで開いている秀丸のウィンドウ上でマクロを実行すると、マクロで、Shift-JISに変換してしまい、IEに解析をさせてしまっているために、文字化けが発生してしまいます。ただ、通常、HTMLコードを作成中であれば、HTMLコードの文字コードに合わせて、秀丸エディタのエンコードモードを編集しているだろうから、大きな問題ではないかと考えて、とりあえずは、そのままにしてあります。
ファイルのダウンロードは、以下からできるようにしてあります。
「甘党のプログラマ」のファイル保管庫の「秀丸エディタ関連のマクロ」ページの「■ HTMLをプレインテキストに変換するための秀丸エディタ用マクロ」