WindowsのヘルプファイルをHTML化する

UWSC添付ヘルプが今時のWindowsでは普通には開けず不便極まりないので自分が使うために CHM Decoder でHTMLに変換してみた。内容には全く手を加えていない。無論文書著作権は先方にある。元はフリーソフトウェアの添付物ではあるがその点にはご留意いただきたい。

UWSCヘルプファイル(HTML版) v5.2.0 2015/10/18版 (Shift_JIS)


UWSC

UWSC公式サイト

あなたが行っている定型作業は
時間の無駄だとは思いませんか
退屈だとは感じませんか。

  • マウスとキーボード入力を記録して再生する事ができます。 (スクリプト形式ですので自由に編集する事ができます)
  • 強力なスクリプト言語によりアプリの操作ができます。 (COMオブジェクト、DLLの利用も可能です)
  • スケジュール機能により指定時間や指定ウィンドウが現れた時などの指定ができます。

以上、公式サイトからの引用。

コマンドプロンプトでのバッチ処理やPowerShell、CygwinからのCLI操作で事が済めばそれに越したことはないが、WindowsはやはりGUI主体のOSなので、CLI未対応アプリのほうが圧倒的多数だったりする。それでも定型作業のネタは尽きないし、どうにかしてGUI操作をバッチ処理できればルーチンワークのミス率が大幅に減るんじゃないかという懸念は常に付きまとう。UWSCはそんな時に役立つ強力なツールになりうる。

マウスやキーボード入力の操作過程をレコーディングして簡単に再生操作することもできるが、その操作内容を専用スクリプト言語で書き出せるので、これを編集加工したり、あるいはゼロから緻密にスクリプトをコーディングするほうが主だろう。

その専用スクリプト言語は、言語仕様がBASIC風である。例えばあるBMP画像とデスクトップ画面とを比較して見つかったか否かの真偽値と、見つかった場合の座標を得るにはこんなコードを書く。

// 画像チェック

If ChkBmp("検査画像") Then  
    // 成功すると特殊グローバル変数に取得した座標が入っている
    Print "X=" + G_IMG_X + " Y=" + G_IMG_Y
Else  
    Print "見つからなかった"
EndIf

Function ChkBmp (BmpName)  
    // Result はExitでコール元に返される特殊グローバル変数
    Result = Chkimg("Resources\" + BmpName + ".bmp")
    Exit
Fend  

この画像比較・座標取得という機能が万能すぎて目眩がする。「GUI OSの自動操作」というジャンルでは OSX 標準装備の Automator + Apple Script がよく知られるところだが、残念ながらこんな機能があるかまでは過分にして知らない。もしあったら多分みんなもっと積極的に使っていて一般化しているんじゃないかと思える。

そんな強力な UWSC の泣き所はやはりこの言語仕様だろう。組込関数も独特なものが多い。添付のヘルプファイルや世間に流通するサンプルコードは欠かせない資料だ。ところがこのヘルプファイルは古き良き .chm 形式である。これは Windows Vista 以降ではセキュリティ上の問題からもはや非推奨になっているフォーマットで、ヘルプビューワもOS標準からは取り除かれている。よって.chmファイルを開いて閲覧するには別途ダウンロードしてインストールするなり、Windows SDKを持ってくるなりしなければならない。それが1台だけならまだしも何台ものPCに入れなきゃならんとなると全くもってゲンナリしてくるし、まして普段使いの PCが Macなのだからそっちの広大なデスクトップでドキュメント参照しながらコーディングして実機でトライ&デバッグするほうが生産的というものだ。


CHM Decoder

http://gridinsoft.com/chm.php 1

CHM Decoder は .chm ファイルをHTMLファイルセットに変換してくれる Windowsアプリである。使い方はごく簡単で、アプリを起動して .chm ファイルを読み込ませ、出力フォルダを指定して結果を書き出すだけだ。.chm ファイルの日本語文字コードは Shift_JIS であるが特に文字化けすることもなくそのまま書き出される。出力結果がどんな様子になるかは実際に UWSCヘルプファイルを変換した先のリンクを見て頂きたい。ヘルプビューワにあった検索機能や印刷機能は損なわれるがHTML化してブラウザ上で閲覧・検索できるメリットのほうがたいていは上回るので、それほどのデメリットでもないだろう。


RECENT LINKS