WinHelpの基礎知識

最近、なぜか「初めてWinHelpを制作するのですが。」というようなご相談を受ける機会が増えてきました。WinHelpの需要が根強い一方、企業のアウトソーシングが進み、これまで開発者が制作していたヘルプを外注するというパターンが増えてきたためかと思われます。

そこでWinHelpに関する基本的な情報を、ちょっとまとめてきました。

WinHelpを制作するツール

WinHelpはRTFベースです。RTFファイルは通常Microsoft Wordで作成し、これにヘルプオーサリングツールで目次やキーワードを付けた後、MicrosoftのHelp Workshopでコンパイルします。Help Workshopでヘルプをオーサリングすることも可能ですが、あまり使い勝手がよくないため、市販のRoboHelpやフリーウェア、シェアウエアのヘルプオーサリングツールの方をお勧めします。

Help WorkshopはMicrosoftのサイトから無料でダウンロードできます。(英語メニューですが、日本語環境で動作します。)
http://www.microsoft.com/downloads/release.asp?ReleaseID=23216

RoboHelpは、エクセルソフトで購入できます。
http://www.xlsoft.com/

その他、ベクターのサイトに、色々なフリーウェア、シェアウエアのWinHelp関連のツールが登録されています。WinHelpの制作方法なども登録されていますので、参考にしてください。
http://www.vector.co.jp/vpack/filearea/win/prog/help/

ヘルプオーサリングツールとHelp Workshopの関係

よく、「○○というツールで作成したヘルプを、○○なしで再コンパイルできますか?」というお問い合わせをいただきます。特に海外のヘルプを日本語にする場合、海外で使用していたツールの日本語版が販売されていないため、問題になっています。

基本的には、元のツールがなくても、ソースファイル(*.rft、*.hpj、*.cnt、*.hなど)があれば、再コンパイルできます。

ヘルプオーサリングツールというのは、MicrosoftのHelp Workshopのユーザインタフェースを使いやすくし、独自のユーティリティやデータベースなどと組み合わせたようなもので、ヘルプのコンパイルにはすべてHelp Workshopのコンパイラを使用しています。つまり、どのツールを使用しても、最終的にはそのツールからHelp Workshopのコンパイラを裏で起動して、コンパイルしているわけです。(これは、HTML Helpの場合でも同じことで、HTML Helpでは各ツールからHTML Help Workshopのコンパイラを起動しています。)

したがって、ソースファイルさえあれば、直接Help Workshopでコンパイルし直すことができますし、また他のツールにソースを読み込んでコンパイルすることも可能です。

ただし、プロジェクトファイル(*.hpj)や*rtfファイルに元のツール独自の設定が入っている場合は、手作業で書き換えなければなりません。また、独自にWinHelpを機能拡張しているような場合は、込み入った修正が必要になります。

なお、ソースファイルを入手できず、コンパイルされたヘルプファイルしか手元にない場合(これもローカライズ物に多い問題ですが)、以下のツールで*.hlpをデコンパイルしてソースファイルに戻すことができます。トピックIDなどが元通りにならないこともありますので、あくまで最後の手段と考えて、できるだけソースファイルを入手するように努力はしてください。

RoboHelp Officeに付属のHelp-to-Source
http://www.xlsoft.com/jp/products/robo/index.html

HELPDECO
http://www.helpmaster.com/hlp-developmentaids-helpdeco.htm

(一覧に戻る)

WinHelpの主な制限事項/バグ

細かな制限事項、バグはたくさんありますが、初心者が、まずつまずく問題には、以下のようなものがあります。

コンパイルすると表の罫線が表示されない

WinHelpの場合、Wordで表を作成して罫線を引いていても、コンパイルしたヘルプでは罫線が表示されません。非常に困った問題ですが、修正される見込みは今のところありません。

罫線を入れたい場合は、Excelで表を作成し、リンクオブジェクトまたは埋め込みオブジェクトとしてWord文書に挿入することができます。

たとえばExcelの表をリンクオブジェクトとして挿入する場合は、Excelの表を[編集]→[コピー]でコピーします。次にWord文書に切り替えて、[編集]→[形式を選択して貼り付け]を選択し、「形式を選択して貼り付け」ダイアログを表示します。このダイアログで[リンク貼り付け]をオンにし、[Microsoft Excel ワークシート オブジェクト]を選択して挿入します。この方法では挿入した表をダブルクリックするとExcelが起動して元ファイルが開き、元ファイルを変更することができます。元ファイルの変更は、リンク先のWord文書の表にも反映されます。

  • Word自体で表を作成している文書をコンパイルすると、以下のようなエラーメッセージが表示されます。
    HC1012: Note: topic #1 of C:\data\sample.rtf :
    Table cell borders are not supported.

    表に罫線を引く必要はないけれど、エラーメッセージが出るのが煩わしいという場合、IGNOREオプションを使用すると、指定した番号のエラーメッセージが表示されないように設定できます。hpjファイルをエディタで開き、[OPTIONS]セクションに以下のように無視するエラー番号を指定してください。
    IGNORE=1012

コンパイルすると図(オートシェイプ)が表示されない

Wordで引き出し線や矢印、図形を描いていても、コンパイルしたヘルプには表示されません。これも制限事項です。ヘルプ中に図を入れる場合は、BMPまたはWMFで作成し直す必要があります。マニュアルとヘルプでデータを共有するような場合、この点に注意しないと、データ修正に思った以上に時間がかかります。

箇条書きと段落番号が正しく表示されない

Word上できちんと箇条書きや段落番号が表示されているのに、コンパイルすると箇条書きのマークや段落番号が変わってしまったり、インデントが崩れる場合があります。これはWordの箇条書き、段落番号の機能を使用している場合に多く発生します。

Wordの入力フォーマットなどの[箇条書き(行頭番号)]をオフにし、数字と中黒(・)を手動で入力する方が無難です。

[検索]タブがWindows95/98では表示されない

同じヘルプを表示しても、Windows 95/98では全文検索を行う[検索]タブが表示されず、Windows NT/2000では[検索]タブが表示されます。これは、日本語版のWindowsの制限事項です。日本語版のWindows 95/98では、[検索]タブを正式にはサポートしていません。全文検索をヘルプに付けたいのなら、HTML Helpをお勧めします。HTML HelpではWindows 95/98でも[検索]タブを使用できます。

目次で、ブックの下にページを入れることができない

たとえば、以下のようにブックの上にページを入れることは可能ですが、

ページがブックの上にある目次の図

以下のように目次の下にページを入れることはできません。

ページがブックの下にある目次の図

これはWinHelpのバグです。2番目以降の階層の場合は、エディタなどでcntファイルを直接開き、ページの先頭の数字を1つ少なく書き換えてHelp Workshopでコンパイルすれば、 目次の下にページを入れることができます。

ただし、上図のような一番上の階層の目次では、ブックの下にページを入れることができません。また、階層に関わらず、RoboHelpで目次を編集する場合は、ブックの下にページを置けません。 エディタで修正した目次をRoboHelpで開くと、もとの(バグ)の状態に戻ってしまいます。

イメージファイルがきれいに印刷されない

WinHelpのトピック中のビットマップを印刷すると粒子が粗く、きれいに印刷されません。これはWinHelpの制限事項です。

バグ情報

  • WinHelp関連のバグについては、エクセルソフト(http://www.xlsoft.com/)のRoboHelpのサポートページが充実しています。
  • また、以下のShadow Mountain Techのサイトに詳細なアンオフィシャルバグリスト(英語)があります。
    http://www.smountain.com/m_ref.htm

(一覧に戻る)

よくある問題

トピックの一番上のタイトルが非スクロール領域にならない

タイトル行を非スクロール領域(ページを下にスクロールしてもタイトルだけが常に表示される状態)にするには、タイトル行の書式を[次の段落と分離しない]に設定する必要があります。Wordの[書式]→[段落]メニューで、[次の段落と分離しない]にチェックを付けてください。

ポップアップにタイトルしか表示されない

ポップアップの場合、タイトル行の書式が[次の段落と分離しない]に設定されていると、タイトル以外の行が表示されません。[次の段落と分離しない]のチェックを外してください。

画像の背景が透明にならない

透明を指定しているのに背景が白く残る場合、BMPファイルを16色で保存してください。また、WMFファイルは背景を透明にできません。

(一覧に戻る)

その他

Windows 3.1でも動作するヘルプを作成するには

現在マイクロソフトのサイトからダウンロードできるヘルプコンパイラHelp Workshop 4.03では、32ビットのWinHelp 4形式のヘルプファイルが作成されます。このWinHelp 4はWindows 3.1では動作しません。Windows 3.1でも動作させるためには、WinHelp 3形式でコンパイルする必要があります。以下のページのWinHelp 3用のコンパイラ(HCP505)でコンパイルしてください。

http://www.helpmaster.com/hlp-developmentaids-hcp505.htm

また、RoboHelpにはWinHelp 3用ヘルプへの変換機能が付いています。

SHGをBMPに変換するには

SHG Editorというフリーウェアで、ホットスポットを設定したSHGファイルをBMPファイルに変換できます。
SHG Editorは、Vectorからダウンロードできます。
http://www.vector.co.jp/soft/win95/prog/se096818.html

DOSのコマンドラインから、
 SHG_EDIT TEST.SHG /V
のように入力すると、指定したSHGファイルと同名で拡張子がBMPのファイルが同じフォルダに作成されます。

WinHelp 2000について

WinHelp 2000とWinHelp、HTML HelpとWebHelpを混同されている場合がよくあります。WinHelp 2000とWebHelpは、eHelp Corporation(販売元エクセルソフト)独自のヘルプシステムで、RoboHelpで制作します。MicrosoftのWinHelp、HTML Helpとはまったく別のものです。実装される機能も違いますし、動作環境も異なります。詳しくは、RoboHelpのオンラインヘルプやマニュアルをご覧ください。

(一覧に戻る)