mdbからWeb Page / HTML Help
| |
【 題 名 】 【 最終更新日】 【ソフトウェア種別】 【 動作環境 】 【 免 責 】 |
mdbからHelp 2002/05/07, (Var.1.00) 完全フリーソフト Windows98, 2000, xp Access97以上 必須 HTML Help Workshopl 必須 このソフトを使用する事により如何なる損害が発生しても一切の責任は負いません |
ダウンロード hhp.lzh (429KB)
![]()
Accessのテーブルを基にほぼ自動でHTML Help とフレームを使ったWebページを作ります。
WebページのセットはHTML Helpと同じ感覚で使う事が出来るフレーム構造になっているので、そのままホームページエリアにFTPで転送すればすぐ利用できます。(ただしファイル数が多いのでかなりのエリアが必要)
HTML Help Workshopを使ってHelpを作るには
・基になる複数の .htm
・プロジェクトファイル .hhp
・コンテンツファイル .hhc
が必要ですが、このソフトでは全てを作ってしまいますから、.hhpのコンパイルボタンを押すだけでHelpである .chm
が出来てしまいます。
HTML Helpを作るにはHTML Help Workshopが必要です。
VisualBasic / C++ などVisual Studioに含まれる言語ソフト
Office2000Premium などのCDにはVer1.2のHTML Help Workshopが含まれていますが、下記のサイトからダウンロードする事が出来ます。
バージョンとダウンロードページが代わりました(しょっちゅう場所が変わるんで困ってしまいます!) HTML Help Workshop のダウンロードページ
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp
とにかくもうあきれ返るほどURLが変わりますが、これは2003/12/16現在確認できたところで 1.40 というバージョンだと書いてあります。
今後リンク切れになってもフォローしませんので MSDNのページからHTML Help Workshopを検索して探してください。(どうせ1年も経たないうちにはまたリンク切れになっていると思います)
Download Now(もしまだここにあれば直接ここからダウンロードできます)
HelpDocs.zip Hhupd.exe 1.349kb 727kb ←これはアップデートモジュール Htmlhelp.exe 3.426kb ⇔ これが本体(とんでもなくデカイ!) Htmlhelpj.exe 1412kb HTML Help Workshopの日本語Help
HTML Help を作るには、まず元になるhtmファイルが必要です。
これは要するにWebページと同じものなので、Home Page Builder/FrontPage/Dreamweaver その他各種ホームページソフトで作ったhtmを使えば良いでしょう。
普通のやり方では全て英語のHTML Help Workshopを起動し、分かりにくいウイザードを通じて
プロジェクトファイル ***.hhp を作り
用意してあるhtmファイルを基に
コンテンツファイル(もくじ)***.hhc
を作ります。
この2つが最低限必要なファイルで、コンパイルすれば最低限の機能のHelpである
***.chm を作る事が出来ます。
その他にキーワード機能を付けた時にできる ***.hhk というのも有りますが、キーワード機能を付けるのはかなり面倒な作業であり、「全文検索」の方がずっと利用価値があるので私はキーワード機能は使いません。
これがmdb2help.mdbを起動して最初に出てくるメインフォーム画面です。
まず最初に元となるクエリーを選び、タイトル名を付け、Helpに表示するフィールド名を選んで実行ボタンを押すだけ!
つまり最低限赤線の付いた5項目を設定するだけなんです。
簡単でしょ?
とにかくまずデータの入ったテーブルが必要です。
いろいろ使い勝手を試してみましたが、製作の元になるテーブルをこのmdbにリンクして使えるようにし、並べ替えのクエリーをインポートまたは新たに作成するのが一番良いようです。
なぜテーブルをそのまま使わないのか・・・・・
Helpのもくじ部分にあるフォルダーのアイコンの付く部分、これが「分類」になる訳ですが、この分類項目がばらばらに出てきては分類の意味が無いですよね?
だから、分類項目で並べ替えをしておく必要があるんです。
詳しい説明は「クエリーの設定」をご覧下さい。 クエリーの設定
画像ファイルが用意してあればHelpにも(Webページも)画像を表示できます。
ですから最初はこのmdbと関連画像がある場合はそのフォルダーだけが存在する訳です。
画像フォルダー名は「gif」とし、テーブルのフィールドには***.gifのようにファイル名だけを入力して下さい。
このフォームでタイトルと各フィールドを設定し、実行ボタンを押すと図のように大量のhtmを含むファイルが出来上がります。
クエリーのレコード数分だけ、つまり1万レコードあれば1万以上のhtmファイルを生成する事になるので注意してクエリーを作ってください。
この時点でWeb用htm一式は既に完成しています。
gifフォルダーは訳あってhtmフォルダーの中に丸ごとコピーされます。(*1)
HTMLHelp関連では「もくじ」であるhhcファイル及びプロジェクトファイルであるhhpが完成しています。
全ての処理が終わった時点でHTML Help Workshop が自動的に起動するので[コンパイル]ボタンを押すだけでヘルプが完成します。
ここでの詳しい解説は、Html Help Workshop の使い方実例 18〜23 をご覧下さい。
フォーム左下のHelp起動ボタンを押せば完成したHTML Help を開く事が出来ます。
(*1) htmで画像のタグを書くとき <A href="gif/***.gif>という具合に同レベルあるいは以下にある画像の相対パスの場合、出来上がったHelpでは全く問題を生じませんが、
<A href="../gif/***.gif>という具合にhtmより上のレベルを参照している場合、単独のHelpでは問題ないんですが、Helpを結合して使った場合画像が表示されません。
(注1) 1回の操作で非常にたくさんのファイルが生成されるので、新しいHelpを作る場合は新規にフォルダーを作成し、mdb2help.mdbをコピーして来て操作すると混乱しなくて良いでしょう。
(注2)ボタンで作業中のFormの「タイトル名.hhp」を起動できます。
(注3) 普通にHelpを作った場合、Helpが開いた時点ではメイン画面に「表示できません」という文字が出てしまうので、デフォルトhtmを指定しておく必要があります。
フォーム右下の記入欄に、あらかじめ作っておいたhtmのフルパスあるいはhtmのソースをコピーして貼り付けてください。
画像がある場合はgifフォルダーに入れ、コピーされたgifフォルダー内の画像ファイルを参照する相対パスにして下さい。
デフォルトhtmの設定が無い場合は、総もくじであるcontents.htmをデフォルト画面に使います。
を押せば各欄にサンプルのデータが書き込まれるので「実行」ボタンを押せる状態になります。
実行ボタンを押すと全ての必要ファイルを作り上げた後Help Workshopを起動するので、
コンパイルボタンを押せばHelpが出来上がります。
Help起動ボタンを押して確認してください。
HTML HelpはOffice97の頃から本格的に本格的に使われるようになりました。
従来のWindows Helpと違ってHTMLがベースなので比較的簡単に作れ、スタイルシート/JavaScript/VBScript/ActoveX/Dinamic HTML/Flash/音 といったHTMLで使えるもの全てが使えるために非常に表現力が豊かになった反面、単にHTMLを束ねてもくじを付け圧縮したものに過ぎないので非常にサイズが大きくなるという大きな欠点も有ります。
またHTML Helpを表示するウインドウそのものがブラウザーであり、Microsoftが開発したものなのでInternet Explorerがベースになっており
「Ieがインストールされていないと表示できない」
という不具合も生じています。
具体的には Windows95 NT4.0以上で利用可能となっていますが、Helpを作った時のHelp Workshopのバージョンによっても「表示できない」不具合が生じてしまいます。
解決策:
Ie以外のブラウザーの利用者は使わなくても良いからIe5をインストールする。
メインのブラウザーはNNなど自分好みのものに指定しておけば良い。
Office/Windows/Ieの古いタイプしか入っていないために表示されない場合は、ダウンロードページからランタイムコンポーネントhhupd.exe(715MB)を持ってきてバージョンアップする。
AccessのmdbからHTML Help を呼び出すには一般的に3つの方法があります。
@ ヘルプファイル/ヘルプコンテキストID プロパティーを使う
VB6が関連のdllが必要であり、Excel および PowerPoint では、Application オブジェクトの Help メソッドを使用してカスタム ヘルプ トピックを表示することができますが、Word および Access では、HtmlHelp または WinHelp API への呼び出しを使用するしかないようです。
A API(OCX)のHtmlHelp()関数を使う
これも今の私の環境(なるべく低いバージョンでそろえている)では動きません。
Bその他のWindows API等を使用して起動する。
まあ、他にもWSHのShellを使うとか、JavaScript/VBScriptを使うとかの手は有るでしょうが・・・・
MicrosoftのdllやOCXには「上位互換・下位不互換」の原則があり、Ver1.2のHelp Workshopで作ったHelpはVer1.0状態のマシンでは見る事が出来ず、ページ指定でHelp呼び出しが設定してあるmdbが全く作動しないという事が起こる訳です。
Windows Helpでは1ページ作るごとにそのページにナンバー(コンテキスト)が付くので、それでページ呼び出しが出来ましたが、HTML Helpにはデフォルトでコンテキストが付かないため、Help Workshopで自分で設定しなければなりません。
という事で、このmdbではどんな環境でも作動するように、Helpの呼び出しにはエクスプローラからファイルのダブルクリックで開くのと同じ動作をするAPIのShellExecute()関数を使用しています。
参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;828419
フローチャート
Html Help Workshop の使い方実例