WinHelp/HTML Helpでのトピックの振り分け

体験版やOEM製品のヘルプなど、通常の製品のヘルプと一部だけ差し替えたいことがあります。このような時に便利なのが、「ビルドタグ」です。

WinHelpの場合は、ビルドタグ機能が標準で付いています。HTML Help自体にはビルドタグ機能はありません。しかし、市販のRoboHelpを使うとWinHelpと同様のビルドタグによる振り分けが可能です。また、RoboHelpを使わなくても通常のカスケーディングスタイルシートの機能で、1つのトピックに表示される文章を変更することができます。

WinHelpの場合

ビルドタグはWinHelp標準の機能です。Help Workshopの場合を例にビルドタグの使用方法を説明します。

  • トピックの見出し部分を非スクロール領域に設定している状態でビルドタグを設定すると、エラーになってトピックをコンパイルできません。非スクロール領域の設定(次の段落と分離しない)をOFFにする必要があります。

ビルドタグの作成

WinHelpのプロジェクトファイル(*.hpj)をテキストエディタで開き、[BUILDTAGS]セクションにタグ名を追加します。
たとえばA社向けの製品とB社向けの製品でそれぞれ固有のトピックがあり、OEM先に合わせて一方だけをコンパイルしたいとします。この場合、A社向けの「A」、B社向けの「B」というタグ名を入力します。

[BUILDTAGS]
A
B

ビルドタグの割り当て

RTFファイルの*脚注でトピックごとにビルドタグを割り当てます。「* A」「* B」のように入力します。

  • ビルドタグを何も指定しないトピックは、常にヘルプに含まれます。したがって上例の場合、A社、B社共通のトピックにはビルドタグを指定する必要がありません。
  • 1つのトピックにセミコロン(;)で区切って複数のビルドタグを割り当てることができます。たとえばOEM共通のビルドタグ「OEM」とA社用の「A」の両方を割り当てる場合は、「* OEM;A」のように入力します。

コンパイル

Help Workshopの[Options]ボタンをクリックしてダイアログを表示し、[Build Tag]タブの上側のテキストボックスにビルドタグ名を追加します。たとえばA社向けのヘルプの場合は、「A」を追加します。ヘルプをコンパイルすると、ビルドタグAを付けたトピックおよび何もビルドタグが付いていないトピックがヘルプにコンパイルされます。

  • [Build Tag]タブの下側の[Exclude topics・・・]のテキストボックスには、コンパイルしない(ヘルプから除外する)ビルドタグを入力します。

(一覧に戻る)

HTML Helpの場合

ビルドタグ

HTML Helpにはビルドタグ機能がありません。しかし、市販のRoboHelp HTMLを使うと、RoboHelp独自の機能でWinHelpのビルドタグと同等のことを実現できます。操作方法、設定内容などはWinHelpの場合とほぼ同じです。詳しくはRoboHelp HTMLのマニュアルをご覧ください。

カスケーディングスタイルシートの利用

ビルドタグのようにコンパイルされるトピックを指定することはできませんが、カスケーディングスタイルシートを使って、1つのトピックに表示される文章を変更することができます。

  1. まず、A社用とB社用の両方の文章を同じトピックファイル(*.htm、*.html)に記述します。それぞれの会社固有の部分は、

    <div class="A">
    <p>A社固有の文章</p>
    </div>

    <div class="B">
    <p>B社固有の文章</p>
    </div>

    のようにクラス属性で異なる名前をつけます。

  2. 各HTML Helpのヘッダに、以下のようにスタイルシート名を指定します。
    <LINK REL="stylesheet" TYPE="text/css" HREF="MS-ITS:test.chm::/test.css">
  • HTML Helpでは上記のように「MS-ITS:test.chm::/test.css」の書式でスタイルファイル名を指定しないと、目次の見出しの下のすべてのトピックを印刷する場合にスタイルシートが無効になります。
  1. プロジェクトファイル(*.hhp)をテキストエディタで開き、[FILES]セクションにCSSファイル名を追加します。

    [FILES]
    test.css

  2. A社用とB社用で、同名(例ではtest.css)で以下のように異なる内容のCSSファイルを作成します。
    A社用の方では、 .B{display: none}
    B社用の方では、 .A{display: none} を指定します。

  3. A社のヘルプを作成する場合はA社用のCSSファイルを入れた状態でコンパイルし、B社の場合はB社用のCSSファイルに入れ替えます。
  • 「display: none」を指定した文章でも、全文検索では検索されますので、注意してください。