_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/ _/ ソフト名:ktMsgBoxAddin Ver3.20 _/ 種 別:フリーソフト _/ 開発環境:WindowsXP SP3 & Excel 97SR1/2000SP3/2002SP3/2007SP1/2010SP1 _/ (64bit) Windows 7 Ultimate x64 SP1 & Excel2010 x64 SP1 _/ 動作環境:Windows98SE 以降, Excel97 以降(32/64bitに対応) _/ 著作権者:角田 桂一 < addinbox@h4.dion.ne.jp > _/           < http://www.h3.dion.ne.jp/~sakatsu/index.htm > _/ 免 責 :このマクロを使用したことで発生したいかなる損害に _/      ついても、作者は一切責任を負わないものとします。 _/ 再配布 :内容を改変しないという条件で、再配布は自由です。 _/ 転 載 :無断転載はご遠慮願います。 _/ 履 歴 :2002/ 7/30 Ver1.00 _/ 2002/10/18 Ver2.00 _/ 2002/11/10 Ver3.00 _/ 2002/12/22 Ver3.10 _/ 2003/ 4/ 3 Ver3.11 _/ 2003/ 6/ 1 Ver3.12 _/ 2003/ 6/28 Ver3.13 _/ 2011/ 9/20 Ver3.20 (32/64bitに対応) _/ その他 :TrendMicro VirusBuster2011 にてウィルスチェックしてあります。 _/ 英語版エクセル用に[English Version]も併せてリリースします。 _/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/  ※『ktMsgBoxアドイン Ver3.20 』版の[ktMsgBox]関数 および [ktMsgBoxEX]関数は   【kt関数アドイン Ver4.00 】に収録する予定です。   『kt関数アドイン』でも、利用方法・インターフェースは全く同じですので、    参照設定先をそちらへ切り替えた方が便利です。  配布ファイル内にデモブック「ktMsgBox体験.xls 」を入れてあります。  この体験用ブックは単体で動作します(ktMsgBoxAddin.xla の準備は必要なし)。 ---------------------------------------------------------------------------- 【特 徴】   1.インターフェースはVBA関数の[MsgBox]を踏襲しているので、関数名の    [MsgBox]を[ktMsgBox]に変えるだけで、そのまま利用できます。   2.MsgBox のインターフェースに合わせた『ktMsgBox 』と、その機能拡張版    である『ktMsgBoxEX 』の2種類を用意しました。   3.MsgBox と同じ様に「コントロールパネル/画面のプロパティ」設定値を    変えると、ktMsgBoxでの既定フォントにも反映されます。   4.MsgBox では不可能だった、下記の設定がパラメータ指定により可能です。      ・表示位置の指定      ・文字色および背景色の指定      ・使用フォントの指定(MS ゴシック,MS 明朝 etc )      ・フォントサイズの指定      ・太字の指定      ・行単位でのフォント/文字色の指定 ‥‥‥ [ktMsgBoxEX]   5.「チャイム機能」により『お呼び出し』機能として利用できます。   6.アイコンおよび、Wave音をユーザーで用意したものに変更できます。 a) 例えば「会社ロゴ」などを表示する。 b) 「エラーがあります」「処理が終わりました」といった音声を       Waveファイル化して、ktMsgBox関数に利用すれば、音声ガイダンス       付きのメッセージボックスとする。     c) MsgBox標準の4種の他に、オリジナルアイコン13種が[vbCritical]など       のようにパラメータ指定で利用できます。   7.ボタン表記(はい、中止 等)を、”英語”表示(YES , ABORT 等)に変える事もできます。   8.[OK][Cancel]など既定のボタン以外に、自由にボタンキャプションを指定できる    ユーザー定義ボタン(Max4個)を用意しました。これにより、       [全てはい][全ていいえ][はい][いいえ]    というようなボタンセットを使う事もできます。   9.入力欄を設ける事も出来るので、[InputBox関数]の代替にもなります。    InputBox関数では出来なかった以下の機能を持っています。     a) 入力欄の幅を、入力文字数に適した幅で指定できます。     b) 文字の他に、数値と日付の属性指定が可能です。     c) 日本語指定にすれば、自動的に入力欄でのIMEはONになります。 d) パスワード用に、入力文字を"*"で表示する機能もあります。    ktMsgBox/ktMsgBoxEXでの、メッセージのフォント編集と合わせれば、ユーザーに    優しい入力インターフェースとする事が出来ます。   10.背景に画像を指定することができます。この場合に限り、画像がちゃんと表示     されるようにウィンドウサイズを指定することができます。   11.一定時間表示してから、自動的に閉じるという事もできます。   12.HPアドレス(http:// ..... )やメールアドレス(mailto: ..... )を     HyperLinkとして表示させる事もできます。   13.ktMsgBox/ktMsgBoxEXのパラメーターは、その機能故に、数も多く、またバリエー     ションも豊富な為、そのコーディングには手間が掛かるかもしれません。しかし、     付属の体験ツールには、デモンストレーションした内容を、そのままソースコード     に展開する機能がありますので、引数の規則に煩わされる事はありません。 ---------------------------------------------------------------------------- 【利用方法】   詳細はヘルプ(ktMsgBox_Help.chm)を参照してください。 ktMsgBox を利用するには、先ず、アドイン登録を行ないます。 次に、[ktMsgBox 関数/ktMsgBoxEX 関数]を利用するブックで[ktMsgBoxAddin] への参照設定を付けます(アドイン登録抜きで、参照設定のみでも可)。 (1) 配布ファイルを解凍すると、以下のファイルが展開されます。 a) ktMsgBox_ReadMe.txt (本ファイル) b) ヘルプファイルを開く為に.txt c) ktMsgBoxAddin.xla (アドインブック) d) ktMsgBox_Help.chm (ヘルプファイル) e) ktMsgBox体験.xls (デモ用ブック、単体で動作します) f) AddinBox.gif (デモブックのオープニングメッセージ用画像) ※ [ktMsgBox_Help.chm][AddinBox.gif]は[ktMsgBox体験.xls]と同じ フォルダに保存して下さい。 ※ ダウンロードしたHTMLヘルプファイルは、セキュリティでブロックされています。 「右クリック > プロパティ」で「ブロック解除」を行なってください。 (2) [ktMsgBoxAddin.xla] をアドインフォルダに保存します。 その他のファイルは任意のフォルダに保存してください。 (3) 新規ブックを開き、[ツール→アドイン]でアドイン登録ダイアログを開きます。 一覧に『 ktMsgBoxAddin 』が載っていますので、それにチェックを付けて 【アドイン登録】します。 (4) [ktMsgBox 関数/ktMsgBoxEX 関数]を利用するブックを開く。 (5) VBE画面から、[ツール→参照設定]を選択する。 (6) ダイアログから[ktMsgBoxAddin]にチェックを付けます。 以上で、VBA コードから利用できるようになります。 ※ 引数はウィザードツールで設定できます 体験ブックには、ウィザードツールが付属しています。対話的に実際の表示結果 を確認しながら各種引数オプションを設定できます。設定結果は、ktMsgBox の VBAコードとしてコピーされますので、そのまま VBE のモジュールウィンドウに 貼り付けてプログラムを作成できます。 ================================================================================= 【 アドイン フォルダ 】  「アドインフォルダ」 は2つあります。 どちらかのフォルダにアドインブックを保存すると、『 アドイン 登録ダイアログ 』   の一覧に載ります。  1.システムアドインフォルダ (a) Excel.exe の直下に位置し、エクセルの 「分析ツールアドイン」 がインストール されているフォルダです。 (b) 下記のマクロでパスを確認できます。 MsgBox Application.LibraryPath (c) Windows Vist & 7 では、UAC ( ユーザーアカウント制御 ) の管理下にあるフォルダ ですので、保存の際には管理者ユーザーで UAC を解除した上で行なう必要があります。 [ ユーザー アカウント制御とは ] http://windows.microsoft.com/ja-JP/windows7/What-is-User-Account-Control (d) OS で共通の場所ですが、マルチインストールの場合、Excel のバージョンごとに フォルダが分かれます。 -- Excel 2007 の 例 -- C:\Program Files\Microsoft Office\Office12\Library -- Excel 2010 の 例 -- C:\Program Files\Microsoft Office\Office14\Library (e) セル上で利用できる 「シート関数」 を提供しているアドインでは、このフォルダ に保存する必要があります。  2.ユーザーアドインフォルダ (a) 保存ダイアログでファイルの種類を [ アドイン ] とした場合に、既定の保存先 として選択されるフォルダです。 (b) 下記のマクロでパスを確認できます。 MsgBox Application.UserLibraryPath (c) Windows Vista & 7 の UAC 管理下からは外れているフォルダですが、『隠し フォルダ』属性ですので、エクスプローラーのフォルダオプションで 「全て のファイルとフォルダを表示する」 にチェックを入れておく必要があります。 (d) マルチインストールの場合でも、Excel の各バージョンで共通の場所ですが、OS に よって場所が異なり、ユーザーごとに分かれます。 -- Windows XP の 例 -- C:\Documents and Settings\USER \Application Data\Microsoft\AddIns --Windows Vista / 7 の 例 -- C:\Users\USER \AppData\Roaming\Microsoft\Addins 【 ktMsgBox アドイン 】 では「シート関数」 を提供していませんので、(2) のユー ザーアドインフォルダで構いません。勿論、(1) のシステムアドインフォルダでもOKです。 ================================================================================= 【 変更履歴 】 -- 2011/ 9/20 Ver3.20 -- 1. Windows(64bit)/Excel(64bit)への対応を施しました。 2. ヘルプファイルをCHM 形式ファイルにしました。 -- 2003/ 6/28 Ver3.13 --   1.【Excel2002 】の場合に限り、下記障害が発生した為、これを修正しました。   (障害)    アドイン登録時には問題ないが、その後でエクセルを起動した時に、実行時 エラーが発生し、ktMsgBoxAddinをアドインしている限り、ブック操作が出来 なくなる。   (原因)    Ver3.10から、フォントリストを書式メニューバーのFont-ComboBoxから取得 していますが、ここにアクセスする為にはActiveなWorksheetが存在する必要 があります。エクセル起動時のアドイン読み込み時点では、ActiveなWorksheet が存在しない為、一時的に「アドイン属性解除」を行って対処しています。 Excel97/2000では、これで問題なく取得できますが、Excel2002においては、 「アドイン属性解除」を行なってもFont-ComboBoxにアクセスできない為に実行 時エラーになりました。アドイン登録は、白紙ブックなり、何かブックが開かれ ている状態で行いますから、ActiveなWorksheetが存在し、Font-ComboBoxへの アクセスが可能であり、その為にエラーにはなりません。         (対処)    フォントリストの取得をAPIにより、直接取得するように変更します。    ただし、Excel97では使えない[AddressOf]演算子が必要な為、条件付コンパイル    によって、Excel97では従来通りに書式メニューバーより取得します。 -- 2003/ 6/ 6 Ver3.12 -- 1. 配布ファイルの[ktMsgBox_Note.txt]と[ktMsgBox_Syntax.txt]を HTMLファイルに差し替えました。 機能変更はありませんので、バージョン表記は[Ver3.12]のままです。 -- 2003/ 6/ 1 Ver3.12 -- 1. 配布ファイルに[ktMsgBox_Note.txt]を追加 2. Excel97において、『ktMsgBox Wizard 』での色設定フォームの動作に 不具合が有ったので修正しました。 3. [Buttons]引数における、Excel2000での自動メンバ表示を取り止めました。 (Excel97 において、その指定が不具合を起こした為) -- 2003/ 4/ 3 Ver3.11 --    1.「ktMsgBox体験.xls」で提供している『ktMsgBox Wizard』において、     【色名】用の色設定ダイアログから[Web SafeColor]のマークが付いて     いる色を選択した場合に実行時エラーとなるのを修正しました。    2. WindowsXP で[WindowStyle : XP Mode]の場合に、タイトルバーの高さが      従来モード(Win98/Me/NT/2000)に比べて大きくなっており、その分だけ コマンドボタンの位置が下がって、フォーム下端に接していたのを修正      しました。 -- 2002/12/22 Ver3.10 -- 1.[Wait機能]時に、他のアプリケーション操作が出来なくなる不具合を修正しました。 2.InputBox機能にパスワード指定を追加しました。 3.10種の記号で指定できるフォントの他に、インストールされている     全てのフォントを、直接、フォント名で指定できるようにしました。 4.コード生成ツールから呼び出すパレットフォームで[WebSafeColor]指定     を追加しました。 5.HTMLで使う「色名」をRGB数値に変換する[ktWebColor2Num]関数を追加しました。    6.オリジナルの組み込みアイコンを追加しました。 7.Office2000(not SR1)において、カーソルが表示されない不具合を修正     (これはOffice2000(not SR1)固有のバグに起因するものです) 8.[WaveFile]等でアクセスできないパス内容によっては実行時エラーに     なるのを回避するように修正しました。 -- 2002/11/10 Ver3.00 --    1.ktMsgBoxEX でのフォント属性に[太字]を追加しました。    2.ktMsgBox/ktMsgBoxEXに、以下の機能の追加を行ないました。       a) ユーザー定義ボタン       b) InputBox機能       c) Wait機能       d) 背景画像の指定       e) HyperLinkメッセージ    3.体験ツールを[ktMsgBoxEX]対応にし、ソース生成機能を持たせました。 -- 2002/10/15 Ver2.00 --    1. 既定のフォントを[MS Pゴシック, 10p]固定から、『画面のプロパティ』で      設定してあるフォントに変更する。『画面のプロパティ』を変更すれば、      ktMsgBoxの既定フォントにも反映されます。    2. ktMsgBox に[フォント名およびフォントサイズ]指定を追加    3. 行単位でフォント指定のできる[ktMsgBoxEX]関数を追加 4. PromptColor/BackColorを16進で[&H8000 〜 &HFFFF]と指定すると、Integer型      の認識で負数になる為、カラープロパティ設定時に異常終了していたのを回避      するように修正しました(表示は既定色)。 -- 2002/ 7/30 Ver1.00 --    1. 初版 ================================================================================= 【謝 辞】 x64 環境での動作確認にあたって、「きぬよ&あさみ」さんに御協力頂きました。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  「画面のプロパティ」から既定のフォント情報を取得するにあたって   下記HPのコードを利用させて頂きました。    --- 新山(へろぱ)のホームページ ---     http://plaza5.mbn.or.jp/~heropa/    『VB Tips/非クライアントエリアのフォントの情報取得』 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   インストールされている「フォント一覧」を取得するにあたって   下記HPのコードを利用させて頂きました。    --- The Spreadsheet Page (JWalk & Associates) ---    http://j-walk.com/ss/    [ Getting a List of Installed Fonts ]    http://j-walk.com/ss/excel/tips/vbafunctions.htm =================================================================================