WinHelpをHTML Helpに変換する

既存のWinHelpをHTML Helpに変換するには、HTML Help Workshopを使用するか、サードパーティ製のHTML Help作成ツールを使用します。

HTML Help Workshopの変換機能は今のところ不完全で、サードパーティ製のツールの方が高いレベルで変換できます。詳しくは、「変換結果」をご覧ください。
いずれにしても、変換後の修正が必要です。

最も大きな問題は、WinHelpの1トピックが1HTMLファイルに変換される点です。500トピックのWinHelpでしたら、500個のHTMLファイルが作成されてしまいます。しかも、HTML Help Workshopで変換すると、ランダムなファイル名になるため、後の管理が大変です。サイト管理ツールなどを使って、まとめ直す必要があるでしょう。

HTML Help Workshopで変換する

  1. HTML Help Workshopを起動し、[File]→[New]を選択します。
    [New]ダイアログが表示されます。
  2. [Project]を選択し、[OK]ボタンをクリックします。
    [New Project]ダイアログが表示されます。
  3. [Convert WinHelp project]にチェックを付け、[次へ]ボタンをクリックします。
    [New Project -- Source and Destination Project Files]ダイアログが表示されます。
  4. 上のテキストボックスに変換元のWinHelpのプロジェクトファイル名(*.hpj)、下のテキストボックスに作成するHTML Helpのプロジェクトファイル名(*.hhp)を入力し、[次へ]ボタンをクリックします。
  5. [完了]ボタンをクリックします。
  6. ヘルプが変換され、4で指定した名前のHTML Helpのプロジェクトが開きます。
    コンパイルを実行すると、HTML Help(*.chm)が作成されます。
  • トピックはHTMLファイルに変換されますが、<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">になるため、日本語が正しく表示されません。charset=Shift_JISに書き換えてください。
  • 変換を実行しようとすると、「The DLLs necessary to convert RTF to HTML have not been installed correctly. Reinstall HTML Help Workshop and try again.」というエラーメッセージが表示され、変換できない場合があります。これはHTML Helpのバグですが、同じバージョンのWindowsとHTML Helpを使用していても、このエラーが表示されたり、表示されなかったりします。
    このエラーが表示される場合は、まず、HTML Help WorkshopとHTML Helpランタイムコンポーネントを最新版にバージョンアップしてください。それでも駄目な場合は、MVP Paul O’Rear氏のサイトのHTML Help DLL RegistrarおよびHLP to HTML Help Convertor Fixerをダウンロードして実行してみてください。
    http://www.helpfulsolutions.com/

サードパーティ製のツールで変換する

米国ではいくつもツールが発売されていますが、日本では、今のところRoboHELPのみのようです。→「作成に必要なツール」

RoboHelpに付属のHelp-to-HTMLで変換するか、RoboHelp HTML EditionにWinHelpをインポートします。どちらの方法でも変換結果に差はないようです。HTML Help Workshopの場合は、WinHelpのコンパイル前のファイルがないと変換できませんが、RoboHELPの場合は、コンパイルしたhlpファイルがあれば、HTML Helpに変換できます。