[2] KIDBengin(デ−タベ−スエンジン作成)ver3.01(2014/09/13)

1.概略
・Excelのデ−タベ−スを検索機能付きでHTML変換。
・作成したHTMLファイルにはJavaScript言語も記述してあり、Web上では検索した結果をテ−ブルに表示する。
・本プログラム(マクロ)で製作した検索機能付きHTMLファイルの特徴は、一度検索を実行後は電話回線を 切断後もそのファイルを対象に何回でも検索ができます。
・上記は逆に言うと、CGIと異なり自分のPCへデ−タを取り込むため大きなデ−タベ−スには不向き。
・この抽出で使用したJavaScriptは、IE8とIE11で動作確認済み。


2.作成したHTMLサンプル
(1).抽出結果の表示方法例
 (1)-1  テーブルで表示例(抽出選択ボタン)(データはjsファイル)
 (1)-2  抽出毎にテーブル表示例(抽出選択ボタン)(幅指定)(データはjsファイル)
 (1)-3  1行目表題下へ抽出毎にテーブル例(抽出選択ボタン)(この表示は幅指定があった方がよい)(データはjsファイル)
 (1)-4  表示にバックカラー文字色指定例表示方法は(1)-3と同様
(2).検索する文字の指定方法例
 (2)-1  全列対象ボックス(下にHTMLタグ書きのテーブル表示)(データはjsファイル)
 (2)-2  数字の上限下限ボックス(下にHTMLタグ書きのテーブル表示)(データはjsファイル)
 (2)-3  3種類のボックス表示例(下にJavaScript書きのテーブル表示)
(3).その他の使用例
 (3)-1  大文字小文字を区別しない検索例(下にJavaScript書きのテーブル表示)(結果はテーブル表示)
 (3)-2  検索入力ボックスを横並びで表示(下にHTMLタグ書きのテーブル表示)
 (3)-3  大きなDBの変換例(東京都の郵便番号検索例)
 (3)-4  抽出データをメール送信(ブックを検索し注文メールするサンプル)

3.このソフトの使用方法
3-1 ショトカットメニュ−の表示


[1].上図のような変換したいデ−タベ−スを開く(罫線は無くてもよい)
[2].本ファイル「KIDBengin」を開く。[1][2]逆でも問題なし
[3].ワ−クシ−ト上で右クリックしショ−トカットメニュ−を表示。
[4].「デ−タベ−スエンジン作成」クリックで処理スタ−ト。


3-2 変換対象シ−トの確認


※ 変換対象のワ−クシ−トを表示して「OK」をクリック。
3-3 「検索範囲、全列対象ボックス指定」ダイアログ表示


(1).デ−タベ−スのセル範囲の指定
 デ−タベ−スのセル範囲は、マクロで読み取った範囲が表示されるが記載と 異なる場合は入力する。

(2). 全列を対象に検索ボックスの指定
・検索の実行は1行ずつ全列(A列〜H列等)のデ−タを対象に抽出する。
・チェックボックスにチェックした個所が有効となる(最大3個)
・ラベル内容・ボックスサイズ・抽出条件(指定なしはOr)は必要に応じ設定

(3).抽出文字条件の指定
英文字の大文字小文字を区別しなで抽出する場合チェックする

(4).ファイルの保存場所
変換対象のExcelファイルと同じフォルダの場合が標準として表示されますが、 別のフォルダはHTMLファイルを保存する場合は指定する 

 
3-4 「検索ボックスの表示方法、数字指定ボックス」ダイアログ表示


(1).検索ボックスの表示方法
・行を変えて表示→1行に1ボックスずつ縦に表示する
・横に並べて表示→1ボックスずつ横に表示し多い場合は自動的に折り返し

(2). 数字の上限・下限を指定ボックス
・価格等の数字の入っている列を指定
 (列の指定はA〜Z or a〜z のExcel列を英文字で行なう)
・ラベル内容・ボックスサイズ・抽出条件(指定なしはOr)を必要に応じ設定

(3). 数字合計
・抽出したデータの合計を表示したい場合チェックする
 (合計する列の指定はA〜Z or a〜z のExcel列を英文字で行なう)
 (上記(2)で列を指定指定した場合はその列が合計の対象列)

(4).HTMLファイルにてデータベースを表示
・ HTMLファイルを開いた時Web上にデ−タベ−ステ−ブルを表示したい場合チェック
・「HTMLタグでテーブル」→ソースの中にテーブルデータがあり表示は速いがソースが大きくなる
・「JavaScriptで表示」→検索用の基データを使用し表示、ソースは小さくなるが表示に時間が掛かる (大きなテーブルの表示は不可)(は3-6の「デ−タソース非表示」にマ−ク時は不可)
※Web上に表示のデ−タベ−ステ−ブルは検索データには使用していません。したがって  特に必要がなければ表示までの時間が掛かる為、表示させない方がよい。

(5).使用している言語コードを日本語に指定
・一般的には指定しなくとも問題ないが、指定すると文字化けしない。

(6).検出結果シートの色指定
・「背景色」 → 6文字のRGBを指定、又は、gif/jpgの画像ファイル指定
・「TEXT色」 → テキスト文字の色指定(RGB指定)
・「表題背景色」→ タイトル(テーブルの最上段行)の色指定


3-5 「対象列指定のボックス」ダイアログ表示


・ 特定列を対象に検索する列の指定(最大6列まで可能)
  (列の指定はA〜Z or a〜z のExcel列を指定した個所が有効となる)
・ ラベル内容・ボックスサイズ・抽出条件(指定なしはOr)を必要に応じ設定 (サイズ指定はテキストボックスの時のみ有効)
・ 選択ボタンをチェックした場合は、その列にあるデータを自動的に取り込みます
・「全AND条件で抽出」→ ANDの項目に未指定があった場合検索しない
・「Enterキーで検索スタート」→ テキストボックスへ入力後Enterキーで検索スタート出来る
・ 指定した列を半角に統一する場合「選択列を半角に統一」へマークする
・「指定を記録」チェックで現在表示されている指定を記録します
  (チェックした時記録する関係で、新しく指定した場合は一度外し再チェックして下さい
    次回の実行では、チェックすることにより保存データを表示します)

3-6 「出力方法」ダイアログ表示


(1).抽出結果表示方法の指定
・「テ−ブルにして表示」→ 新しいWindowへテ−ブルにして表示
・「抽出ごとにテーブル」→新しいWindowへ抽出毎にテ−ブルで表示
・「表題を一行表示し、抽出結果は下へ一行ずつ表示」→抽出毎にテ−ブル を作成する点は上記と同じであるが、こちらは一番上に表題を一行表示し 抽出データは表題なしでテーブル化。
(この方法が一番お奨めですが、内容により幅がバラバラになるため、    下記のテーブル幅を全列に指定する必要があります)

(2).テーブルの各幅・文字サイズを指定
・「無し」→ HTMLファイルの各列のテーブル幅は最大文字に合わせ自動的 に表示される。文字は標準サイズ(通常3)で表示。
・「有り」
→ KIDBenginブックのSheet3の1行目に記述してある数値を各列幅として使用
   ・記述してある内容は「幅データ確認」ボタンクリックで表示
   ・数値の入力は「幅指定入力」ボタンクリックで、列を指定し次 に数値(ピクセル)を指定すればSheet3の1行目に記述される
→ Sheet3の2行目に記述してある数値を表題のサイズとして使用
   ・記述してある内容は「表題size確認」ボタンクリックで表示
   ・数値の入力は「表題size入力」ボタンクリックで、列を指定し次に数値(HTMLタグ のfont size=*の*数値)を指定すればSheet3の2行目に記述される
→ Sheet3の3行目に記述してある数値を指定した列の文字サイズとして使用
   ・記述してある内容は「文字size入力」ボタンクリックで表示
   ・数値の入力は「文字size入力」ボタンクリックで、列を指定し次に数値(HTMLタグ のfont size=*の*数値)を指定すればSheet3の3行目に記述される

(3).検索結果を表示するウインドウの条件指定
   結果Window」ボタンクリックで下記の順にオプションがインプットボックスに表示 されるので、必要に応じ0 or 1を入力([8][9]は数値)
  [1] ツールバーの表示(表示→1)(非表示→0 Or 空白)"
  [2] ロケーションバーの表示(表示→1)(非表示→0 Or 空白)"
  [3] ディレクトリバーの表示(表示→1)(非表示→0 Or 空白)"
  [4] ステータスバーの表示(表示→1)(非表示→0 Or 空白)"
  [5] メニューバーの表示(表示→1)(非表示→0 Or 空白)"
  [6] スクロールバーの表示(表示→1)(非表示→0 Or 空白)"
  [7] ウインドウサイズ(変更可→1)(変更不可→0 Or 空白)"
  [8] ウインドウの内側の横幅(数値を指定)(未指定→0)"
  [9] ウインドウの内側の高さ(数値を指定)(未指定→0)"
   (初期値として、[1][4][6][7]が"1"になっています)

※ 上記はKIDBenginを表示にしてSheet3を開き直接記入する方法でも指定できます

(4).ファイル名の指定
・「Book名」→ 変換を行なっているExcelファイル名
・「Sheet名」→ アクティブにしてあるデータベース記載のシート名

(5).デ−タソースを非表示にする場合
・「デ−タをjsファイル化」→デ−ダ部は「***.js」の別ファイルとなる。
 (HTMLファイルのソースに検索用データを記載しないで別ファイルにした時チェック)

(6).検索結果表示テーブルの表題へ背景色を付ける
・「元シート背景色」→ 6文字のRGBを指定、又は、gif/jpg の画像を指定

(7). Excelに記述してあるハイパーリンクの変換
   Web上でもそのハイパーリンクを使用する場合はチェックする。
   なお、絶対アドレスの場合は問題ないが、相対アドレスで指定して
   ある場合は、作成したHTMLファイルの設置場所を合わせる必要あり。

(8).抽出したデータをメールで送信する場合
・「メール送付機能付加」にチェックする。ただし下記の条件が必要
 [1] Excelシートのデータベースのセルに次の記述がある事(列は何処でもよい)
    <A HREF="javascript:chk(1)">○○</A>
    ※chk(1)内の数字は、作成したWeb表示用データの、dt=new Array();dt[1]
      数字と同一であること。例:chk(2)dt[2]、chk(3)dt[3]、・・・)
    ※○○の○○はWebに表示する文字
(シートに自動記入は添付の「メール付加用.txt」を参照のこと)

 [2] JavaScript関数でメール送信フォールを表示しますが、そのHTMLファイル名は 「mymail.html」固定となっています。添付の「mymail.html」を改造して使用して 下さい。なおメール送信機能使用の場合はこのファイルをメインの検索ファイル と同一のフォルダに置いて下さい。

(9).抽出したデータを特定の列のみ表示
  ・通常は検索したキーワードのある場合その行全部を1行づつ表示します。
  ・検索したキーワードが合った場合、その1行のうち指定した列のみ表示する 場合は、「列のみ表示」のテキストボックスへ表示する列を記入する。
   (列指定は、a〜z 又は A〜Z で記入する)


3-7 その他の使用上の注意点
・「セル内折り返し表示」が設定してある場合変換出来ません。折り返しを 解除して実行して下さい。(ALT+Enterで折り返したセルも同様)
・文字内に[|]がある場合[/]に変更してHTNLファイル化してあります。
・文字内に[']がある場合削除してHTNLファイル化してあります。
・ORにマークした場合、ORにマークのどれか1個所でも合致があれば抽出(結果表示で検索文字「**」となる)。
・ANDにマークした場合、ANDマーク個所の全データ合致で表示。ただし未指定 の空白は無条件に合致したものとする(結果表示で検索文字[**]となる)。
(「AND条件を全指定で抽出」にチェックした場合は未指定があった無条件に不合致)
・数字はHTMLテーブルでは右詰め表示 (但しカンマ付きはテーブルの各幅指定は右詰めとなるが、他は左詰め)。
・データベースの大きさは、MAX15000行×26列としてあります。また、選択ボタンに表示する 文字数はMAX1000個です。(データが非常に多い場合JavaScriptがハングアップする場合があります)
・完成したhtmlファイル、jsファイルは同一フォルダへ置いて下さい。
 その時KIDBengin.xlsも同一フォルダに設置と勘違いされている方が過去にあり ましたが、KIDBengin.xlsはhtmlを作成するマクロでありhtmlファイルをサーバーへ 送る場合もKIDBengin.xlsを送る必要はありません。


4.ダウンロード

ここで ダウンロ−ド(126kb)

圧縮ファイル名:KIDBengin.zip
解凍でフォルダ内に、KIDBengin.xls、KIDBengin説明.txt、があります
(マクロは「McAfee VirusScan 」でウイルス無しチェック済み)



5.その他
[1]このプログラムはExcelVBAで作成しています。Excelの入っていないPCでは使用不可。
[2]Excel2003・Excel2007・Excel2010で実行確認済みです
[3]本マクロの使用に起因するいかなる事態も責任を負いません。

【ホ−ム】