AddinBox(ktMsgBox_Syntax)

ktMsgBox [ 構文 ] [ 返却値 ] [ パラメータ内容 ] [ 解説 ] [ 使用例 ]
ktMsgBoxEX [ 構文 ] [ 返却値 ] [ パラメータ内容 ] [ 解説 ] [ 使用例 ]

付属の体験ブックに「コード生成ツール:ktMsgBox Wizard」が有りますので、細かい構文/規則を全て覚えなくても、ツールを使えば簡単にコードを作り出せます。
また、ktMsgBox/ktMsgBoxEx 関数は kt関数アドイン (ウィザードは kt関数メニューから呼び出せます) にも組み込んであります。



    ktMsgBoxAddin Ver 3.40 は x64 環境の OS/Excel に対応しています(Excel 97 はサポート対象外です)
    ([ kt関数アドイン Ver 5.00 ] に収録されている ktMsgBox もVer 3.40 です)

AddinBox Home ][ ktMsgBox MainPage ][  kt関数アドイン  ]

【 構 文 】

ktMsgBox ( Prompt, [Buttons], [Title], [Top], [Left],
    [PromptColor], [BackColor], [Chime], [WaveFile], [IconFile],
    [FontName], [FontSize], [WaitSecond], [InputType], [UserDefBtn],
    [BackImage], [ImageWidth], [ImageHeight], [ChimeColor],
    [HyperLink1], [HyperLink2], [HyperLink3] )

返却値 -- Variant( Integer/String/Boolean ) 型
Prompt -- String 型
Buttons -- Long 型 (省略可)
Title -- String 型 (省略可)
---以降は[ktMsgBox]独自インターフェース---
Top -- Variant (Integer / Empty) 型(省略可)
Left -- Variant (Integer / Empty) 型(省略可)
PromptColor -- Long 型 (省略可, 省略値=-1 → vbWindowText 扱い)
BackColor -- Long 型 (省略可, 省略値=-1 → vbButtonFace 扱い))
Chime -- Boolean 型 (省略可, 省略時:False )
WaveFile -- String 型 (省略可)
IconFile -- String 型 (省略可)
Font Name -- String 型 (省略可)
FontSize -- Integer 型 (省略可)
WaitSecond -- Integer 型 (省略可)
InputType -- String 型 (省略可)
UserDefBtn -- String 型 (省略可)
BackImage -- String 型 (省略可)
ImageWidth -- Integer 型 (省略可)
ImageHeight -- Integer 型 (省略可)
ChimeColor -- Long 型 (省略可,省略値=-1 → [茶色]扱い)
HyperLink1
  - HyperLink3
-- String 型(省略可)
※VBA専用関数です※

[ Page Top ]


【 返却値 (ktMsgBox) 】

クリックしたボタンの番号が返ります。値は「MsgBox 」の場合と同じです。
   vbOK 1 [ OK ]
   vbCancel 2 [ キャンセル ]
   vbAbort 3 [ 中止 ]
   vbRetry 4 [ 再試行 ]
   vbIgnore 5 [ 無視 ]
   vbYes 6 [ はい ]
   vbNo 7 [ いいえ ]

ユーザー定義ボタンを利用した場合は、左側から順に「第1ボタン」〜「第4ボタン」と呼ばれ、それに対応して下記の値が返ります(カッコ内はアドイン内で用意してある定数名です)。
   第1ボタン  9 ( kt_MsgBox_UserBtn1 )
   第2ボタン 10 ( kt_MsgBox_UserBtn2 )
   第3ボタン 11 ( kt_MsgBox_UserBtn3 )
   第4ボタン 12 ( kt_MsgBox_UserBtn4 )

Wait機能を利用した場合は、常に[vbOK(1)]が返ります。

InputBox機能を利用した場合は、下記の内容が返ります。
    キャンセルボタンをクリック
        Variant変数で受け取った場合は、Boolean型の[False]
        String変数で受け取った場合は、String型の"False"
    テキスト入力後にエンターキーもしくはOKボタンをクリック
        入力したテキストが文字列として返ります。
        数値/日付指定であっても、返るのは、入力したそのままの文字列です。

※セルに記述した場合には[#VALUE!]が返ります。

[ Page Top ]


【 パラメータ 内容 (ktMsgBox) 】

※ Prompt/Buttons/Title の指定内容は[MsgBox関数]と同じです。

    既定のフォントとは、コントロールパネル/画面のプロパティ/デザインで指定されている
    [メッセージボックス]のフォントのことです。
          文字色 : システムカラー定数[vbWindowText ]で取得できます
          背景色 : システムカラー定数[vbButtonFace ]で取得できます

    [ktMsgBox]にはフォントの[太字]指定はありません。太字指定が必要な場合は[ktMsgBoxEX]
    を使って下さい。

Prompt
表示するメッセージを指定します。
複数行にする場合は、[vbCrLf]で区切ってください。
メッセージの量に応じてフォームの大きさは自動調整されます。

既定では『画面のプロパティ』で設定されているフォントで表示されます。
Buttons
表示されるボタンの種類と個数/使用するアイコンのスタイル/標準ボタンを下記定数の「和」で指定します。
ktMsgBox で有効な定数は下記になります。
--- ボタンの種類 ---
   vbOKOnly(0) vbOKCancel(1)
   vbAbortRetryIgnore(2) vbYesNoCancel(3)
   vbYesNo(4) vbRetryCancel(5)
  
--- アイコンの種類 ---
   vbCritical(16) vbQuestion(32)
   vbExclamation(48) vbInformation(64)
  
<< ktMsgBoxAddin オリジナルアイコン >>
   kt_MsgBox_MelodyIcon(80) kt_MsgBox_LimitIcon(96)
   kt_MsgBox_ErrIcon(112) kt_MsgBox_PencilIcon(4194320)
   kt_MsgBox_KeyIcon(4194336) kt_MsgBox_TrashIcon(4194352)
   kt_MsgBox_PinIcon(4194368) kt_MsgBox_ClipIcon(4194384)
   kt_MsgBox_MemoIcon(4194400) kt_MsgBox_CalendarIcon(4194416)
   kt_MsgBox_SandglassIcon(8388624) kt_MsgBox_CoffeeIcon(8388640)
   kt_MsgBox_AlarmClockIcon(8388656)   



--- 標準ボタン ---
   vbDefaultButton1(0) vbDefaultButton2(256)
   vbDefaultButton3(512) vbDefaultButton4(768)

省略時は「ゼロ」扱いになりますので
      [vbOKOnly + vbDefaultButton1]  (アイコン無し)
と解釈されます。

※ユーザー定義ボタンを指定すると、[ボタンの種類]指定は無効になります。

※ InputBox機能を指定すると、[ボタンの種類][標準ボタン]で指定した内容に係わらず
      [vbOKCancel + vbDefaultButton1]扱いとなります。

※ Wait機能を指定すると、ボタンは一切表示されませんので、[ボタンの種類]および
      [標準ボタン]の指定は無効になります。

※日本語版 限定機能
      [Buttons]指定で、2048を足し込むと、ボタンの表記が英語バージョンになります。
      2048は、アドイン内で[ kt_MsgBox_English ]の名前で定数定義してあります。
      下記のように使ってください。
          vbOKCancel + vbInformation + kt_MsgBox_English


Title
ここに指定した文字列がキャプション部分に表示されます。
省略時は[ktMsgBox]が表示されます。
Top and Left
メッセージボックスを画面の、どの位置に表示するかを指定するパラメータです。
UserForm のプロパティ(Left / Top )で指定する値です。

一方もしくは両方を省略すると『オーナーフォーム中央』に表示します。

または、一方 もしくは 両方に Empty を指定した場合も、省略 と 同じ扱いで
『 オーナーフォーム中央 』 に表示します。 (Ver 3.30 〜)

「あるセルの付近に表示する」 という場合には、ktCell2Position 関数 を使って、セルの
座標を変換した値を指定してください (使用例を参照)。

(注) もし誤って画面からはみ出し、クリック出来ないような位置を指定してしまった場合は、
        [スペースキー]を押して下さい。デフォルトボタンの設定(未指定時は[vbDefaultButton1(0)]
        と解釈されます)が効いていますので、それでktMsgBoxフォームを閉じる事ができます。
PromptColor
メッセージの文字色を指定します。
カラー定数/RGB関数/16進 などで指定します。
ktWebColor2Num関数を通す事で「色名」による指定もできます。
      例) PromptColor:=ktWebColor2Num("AquaMarine")

省略解釈値は[-1]で、[vbWindowText]で表示されます。
BackColor
フォームの背景色を指定します。
カラー定数/RGB関数/16進 などで指定します。
ktWebColor2Num関数を通す事で「色名」による指定もできます。
      例) BackColor:=ktWebColor2Num("AquaMarine")

省略解釈値は[-1]で、[vbButtonFace]で表示されます。
Chime
音を連続再生してチャイムにする場合は[True]を指定します。
[WavFile]を省略
      アイコンの有無に係わらず [ システム音 / 新着メールの通知 ] で再生
[WavFile]を指定
      指定した[wav]ファイルで再生
WaveFile
独自の音を鳴らしたい場合は、Waveファイルを『ドライブからのフルパス』で指定します。
省略すると、下記のシステム音で再生します。
アイコン無し システム音 : 一般の警告音
アイコン有り
    vbCritical システム音 : システムエラー
    vbQuestion システム音 : メッセージ(問い合わせ)
    vbExclamation システム音 : メッセージ(警告)
    vbInformation システム音 : メッセージ(情報)
       上記以外 システム音 : メッセージ(情報)

IconFile
独自のアイコンを表示したい場合は、その画像ファイル(ico,gif,bmp,wmf)を『ドライブからの
フルパス』で指定します。表示サイズは[36×36ピクセル]です。
尚、IconFile を指定した場合は[vbCritical]等のアイコン指定は無視されます。
FontName
既定のフォントから変更する場合に指定します。
指定できるのは下記の10種の記号(大文字/小文字OK)、
もしくはインストールされている「フォント名」を直接指定します。
   "UIG" : MS UI Gothic
   "MSG" : MS ゴシック
   "MSPG" : MS Pゴシック
   "MSM" : MS 明朝
   "MSPM" : MS P明朝
   "ARI" : Arial (英語フォント)
   "CENT" : Century (英語フォント)
   "COUR" : Courier New (英語フォント)
   "ROMAN" : Times New Roman (英語フォント)
   "TAHOMA" : Tahoma (英語フォント)
(英語版では、[MS UI Gothic 〜 MS P明朝]の日本語フォントは不可です)

上記の記号以外/インストールされていない「フォント名」を指定した場合は、既定のフォントになります。

FontSize
既定のフォントサイズから変更する場合に指定します。
指定できるのは[ 9, 10, 11, 12, 14, 16, 18, 20 ]の8種です。
他の数値を指定すると既定のフォントサイズになります。
WaitSecond
ボタンクリックによる応答待ちではなく、指定した時間で自動的に閉じるようにする場合に、
その秒数を指定します。指定できるのは「5〜60秒」です。

Wait中は、ウィンドウ上部に現在時刻がリアルタイムで表示されます。
尚、この指定を行なった場合は、[Buttons]でのボタン指定、および[InputType][UserDefBtn]
[HyperLink]は全て無効になり、メッセージボックス上にボタンは表示されません。

ユーザーの不安解消の為に「xx秒で自動的に閉じます」というガイダンス
      メッセージを引数[Prompt ]の中に含める事をお薦めします。
InputType
InputBox機能を利用する場合に
  a) 入力値の属性  :"N"(数値), "D"(日付), "S"(文字列), "J"(文字列, IMEオン),
                            "P"(パスワード)
  b) 入力欄の幅     :""〜""  (10文字幅〜80文字幅)
  c) デフォルト値     :任意の文字列(不要の場合は省略)
を、「属性、幅、デフォルト値」の順で、ひとつの文字列として指定します。
幅とデフォルト値の間にはセミコロンを挟みます。
例)文字列、30文字幅、デフォルト"abc"
            "S3;abc"
      日付、20文字幅、デフォルト本日日付
            "D2;" & Format(Date, "yyyy/mm/dd")

数値(N)/日付(D)の場合には、入力内容の妥当性チェックが入ります
"J" を指定した場合は、ktMsgBox/ktMsgBoxEX 表示の際にIMEオンになります。

"P"を指定した場合、タイプした文字は"*"で表示されます。
また、デフォルト値を指定すると、その内容との一致判定を行ないます
(デフォルト値自体は表示されません)。

InputBox機能を指定すると、[ボタンの種類][標準ボタン]で指定した内容に係わらず
[vbOKCancel + vbDefaultButton1]扱いとなります。

Excel のInutBoxメソッドによる[Type:=8]セル範囲入力の機能はありません。
UserDefBtn
ボタンキャプションを自由に設定したい場合に指定します。
ボタン幅は固定ですので、表示できる文字数には限りがあります)

この指定をすると、[Buttons : ボタンの種類]指定は無効になります。

第1ボタン〜第4ボタンまで指定でき、各々にアクセスキーを持たせることも可能です。
定義フォーマットは下記になります。
        Cap1[;Key1][,Cap2[;key2][,Cap3[;key3][,Cap4[;key4]]]]
        Cap(ボタンキャプション)  Key(アクセスキー)
アクセスキーは「数字もしくはアルファベット」の1文字です。
日本語のボタンキャプションで、アクセスキーを持たせる場合はキャプション内に
「アクセスキーをカッコで括った」文字列を含めるようにしてください。

例)  "全てはい(A);A,全ていいえ(B);B,はい(Y);Y,いいえ(N);N"
BackImage
メッセージボックスの背景に画像を使う場合に、その画像ファイルのフルパスを指定します。
指定できるのは[ jpg ,gif ,bmp ,wmf ]です。
メッセージウィンドウの左上を基点に配置されます(タイリング配置などの機能はありません)。
ImageWidth / ImageHeight
[BackImage]を指定した場合のみ有効です。
通常はメッセージ量/アイコンとボタンの有無に応じて、ウィンドウサイズが自動的に決まりますが、
[BackImage]指定時には、背景画像の端が切れないように、このパラメータでウィンドウサイズを
直接指定することが出来ます。
幅/高さの一方のみの指定でもOKです。省略した方は自動フィットモードになります。

尚、指定した値が、自動フィットサイズより小さい場合には、自動フィットサイズが有効になります。
画像より大きい値を指定すると、ウィンドウ背景が覗き見えてしまいますので、画像より若干小さい
値を指定して下さい。
ChimeColor
Chime機能またはWait機能使用時に表示されるウィンドウ上部のメッセージカラーを変更する
場合に指定します。省略すると、「茶色」で表示されます。
ktWebColor2Num関数を通す事で「色名」による指定もできます。
      例) ChimeColor:=ktWebColor2Num("AquaMarine")
HyperLink1 - HyperLink3
HPのURLまたはメールアドレスを指定すると、青文字&下線のリンク表示になります。
(既定のフォントおよびサイズで表示されます)
マウスアイコンは指アイコンになり、クリックすると、ブラウザまたはメーラーが起動します。

HPのURLの場合は、[ http: ]から指定して下さい。
メールアドレスの場合は、[ mailto: ]の後に空白を空けることなくメールアドレスを続けて
記述してください。

PromptColor/BackColor/ChimeColorを16進で[&H8000 〜 &HFFFF]と指定すると、Integer型
    の認識で負数になってしまいますので、末尾に型宣言子[&]を付してLong型にして
    ください[&H8000& 〜 &HFFFF& ]。

[ Page Top ]


【 解 説 (ktMsgBox) 】

よく「MsgBox 関数で表示位置を指定したい」という質問を見掛けますが、VBAで提供している
「MsgBox 関数」には表示位置パラメータがありません。

この『ktMsgBox 関数』は「MsgBox 関数」と全く同じ使い方で、且つ位置指定が出来るようにする
為に開発しました。加えて、文字色/背景色/音/アイコンもカスタマイズ可能としました。

尚、『ktMsgBox 関数』で既定で利用しているWave音は「MsgBox 関数」と同じく
下記の システム音(コントロールパネル/サウンド) を使っています。

アイコン無し システム音 : 一般の警告音
アイコン有り
    vbCritical システム音 : システムエラー
    vbQuestion システム音 : メッセージ(問い合わせ)
    vbExclamation システム音 : メッセージ(警告)
    vbInformation システム音 : メッセージ(情報)
       上記以外 システム音 : メッセージ(情報)
チャイム機能での既定音 システム音 : 新着メールの通知

文字色/背景色/音がカスタマイズ可能ですので、メッセージの意味合いに応じて使い分けて下さい
(エラー入力時には[赤文字]、異常発生時には[赤系の背景]等)。
背景色には【淡色系】を指定した方が良いですが、実際に「どんな色で、どんな値」を指定すれば良いのかを決めるには、「ktMsgBox体験.xls」のデモフォームからパレットフォームが利用できます(フルカラー)ので、それを使って、ビジュアルに色を決めつつ、そのRGBを取得してください。
アイコンも自由に変更できますので、例えば「会社ロゴ」などを表示する事も可能です。

(補) [vbCritical/vbQuestion/vbExclamation/vbInformation]で表示されるアイコンは全て改めて
      自作した画像を使っています。

「エラーがあります」といった音声をWaveファイル化すれば、音声ガイダンス付きのメッセージボックス
とする事も可能です。

[ Page Top ]


【 使 用 例 (ktMsgBox) 】

ktMsgBox "処理が終わりました"

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Dim Resp As Integer
Resp = ktMsgBox("処理が終わりました。" & vbCrLf & "続けますか?", vbOKCancel)
If (Resp = vbNo) Then
    Exit Sub
End If

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 表示位置を指定 』
-- 固定位置 --
ktMsgBox "入力エラーです", vbOkOnly + vbInformation, "日付入力",100, 200

-- UserForm の位置/入力項目の位置に合わせて調整 --
ktMsgBox "入力エラーです", _
        vbOkOnly + vbInformation, "日付入力", _
        (Me.Top + 20), (Me.Left + 50)

ktMsgBox "入力エラーです", _
        vbOkOnly + vbInformation, "日付入力", _
        (Me.Top + TextBox1.Top - 10), (Me.Left + TextBox1.Left + 50)

-- F5 セル の 付近に表示する ( ktCell2Position を利用 ) -- (Ver 3.30 から利用可能)
Dim vntPos As Variant
Dim vntTop As Variant
Dim vntLeft As Variant
vntPos = ktCell2Position(ActiveSheet.Range("F5"))
If IsError(vntPos) Then
    'F5 セル が 表示範囲外 ⇒ Top/Left を省略
    vntTop = Empty
    vntLeft = Empty
Else
    vntTop = vntPos(0) + 5
    vntLeft = vntPos(1) + 5
End If
ktMsgBox "入力エラーです", vbOkOnly + vbInformation, "日付入力", _
        Top:=vntTop, Left:=vntLeft

(注) もし誤って画面からはみ出し、クリック出来ないような位置を指定してしまった場合は、
      [ スペースキー ] を押して下さい。
      デフォルトボタン の設定 (未指定時は [ vbDefaultButton1 (0) ] と解釈されます)が
      効いていますので、それで ktMsgBox フォーム を閉じる事ができます。

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 入力エラーを赤文字で強調 』
ktMsgBox "入力エラーです", vbOkOnly + vbInformation, "日付入力",,, vbRed

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 背景色を [ 薄灰色 ] にする 』
ktMsgBox "処理が終わりました", vbOkOnly + vbInformation, "月次処理",,,, &HE0E0E0

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 チャイム で長時間処理の終了をアナウンス 』
ktMsgBox "処理が終わりました" & vbCrLf & "早く席にお戻りください", _
          vbOkOnly + vbInformation, "月次処理", _
          PromptColor:=vbBlue, Chime:=True

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 背景色 ( 薄赤 ) を変えて異常を通知 ( チャイム付き ) 』
ktMsgBox "入力データが異常です" & vbCrLf & "処理を中断します", _
        vbOkOnly + vbExclamation, "月次処理", _
        BackColor:=&HC0C0FF, Chime:=True

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 通常の音を [ メール着信音 ] にする 』
ktMsgBox "処理が終わりました", WaveFile:="C:\Windows\Media\Notify.wav"

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 アイコンを変える 』
ktMsgBox "処理が終わりました", IconFile:="C:\Windows\WinUpd.ico"

(補) 画像は [ ico , gif , bmp ] で、表示サイズは [ 36×36 ピクセル ] です。

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 文字の フォント を変える ( MS P明朝 / 14p ) 』
ktMsgBox "入力データが異常です" & vbCrLf & "処理を中断します", _
        vbOkOnly + vbExclamation, "月次処理", _
        FontName:="MSPM", FontSize:=14

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 ユーザー定義ボタン 』
ktMsgBox ".....................", _
        UserDefBtn:="全てはい(A);A,全ていいえ(B);B,はい(Y);Y,いいえ(N);N"

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 InputBox 機能を使う 』
Dim dtmMyDate As Date
Dim rc As String
rc = ktMsgBox ("日付を入力して下さい", _
InputType:="D2;" & Format(Date, "yyyy/m/d") )
If (rc <> "False") Then
    dtmMyDate = CDate(rc)
End If

受け取る内容は、入力したままの文字列です。
シリアル値として扱う場合には、CDate 関数による属性変換が必要です。
尚、エラーチェック 機能が有りますので、この例の場合には受け取った文字列は
「日付として認識できる文字列」 である事は保証されています。

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 背景に画像を使う 』    『 一定時間表示したら自動的に閉じる 』
ktMsgBox "おはようございます。" & vbCrLf & "今日も一日頑張りましょう。" & _
        vbCrLf & vbCrLf & "(30秒で自動的に閉じます)", _
        WaitSecond:=30,
        BackImage:="C:\My Documents\ ........ \good_morning.gif", _
        ImageWidth:=200, ImageHeight:=150

- - - - - - - - - - - - - - - - - - - - - - - - - - -
『 ハイパーリンク メッセージ 』
ktMsgBox "xxxxxx" & vbCrLf & vbCrLf, _
        HyperLink1:="http://www. ........ /index.htm", _
        HyperLink2:="mailto:xxxx@........"

[ Page Top ]


【 構 文 】

ktMsgBoxEX ( Prompt, [Buttons], [Title], [Top], [Left],
    [BackColor], [Chime], [WaveFile], [IconFile],
    [WaitSecond], [InputType], [UserDefBtn],
    [BackImage], [ImageWidth], [ImageHeight], [ChimeColor],
    [HyperLink1], [HyperLink2], [HyperLink3] )

返却値 -- Variant( Integer/String/Boolean ) 型
Prompt -- kt_MsgBoxPromptType 型(ユーザー定義型です)
Buttons -- Long 型 (省略可)
Title -- String 型 (省略可)
---以降は[ktMsgBoxEX]独自インターフェース---
Top -- Variant (Integer / Empty) 型 (省略可)
Left -- Variant (Integer / Empty) 型 (省略可)
BackColor -- Long 型 (省略可, 省略値=-1 → vbButtonFace 扱い))
Chime -- Boolean 型 (省略可, 省略時:False )
WaveFile -- String 型 (省略可)
IconFile -- String 型 (省略可)
WaitSecond -- Integer 型 (省略可)
InputType -- String 型 (省略可)
UserDefBtn -- String 型 (省略可)
BackImage -- String 型 (省略可)
ImageWidth -- Integer 型 (省略可)
ImageHeight -- Integer 型 (省略可)
ChimeColor -- Long 型 (省略可,省略値=-1 → [茶色]扱い)
HyperLink1
  - HyperLink3
-- String 型 (省略可)

引数[Prompt]は、利用者側で下記のような『変数定義』が必要です
        Dim Prompt As kt_MsgBoxPromptType

    ユーザー定義型[kt_MsgBoxPromptType]は、[ktMsgBoxAddin.xla]内で下記の
    ように定義されています(参照設定すれば利用できます)。
      Public Type kt_MsgBoxPromptType
          Message(1 To 10) As String
          FName(1 To 10) As String
          FSize(1 To 10) As Integer
          FColor(1 To 10) As Long
          FBold(1 To 10) As Boolean
      End Type


このユーザー定義型を初期化するには、下記のように初期化用サブルーチン
    を通します。このサブルーチンも[ktMsgBoxAddin.xla]内にありますので、
    参照設定すれば利用できます。
        Dim Prompt As kt_MsgBoxPromptType
        Call ktMsgBoxPromptTypeInit(Prompt)


※VBA専用関数です※

[ Page Top ]


【 返却値 (ktMsgBoxEX) 】

[ktMsgBox]を参照

[ Page Top ]


【 パラメータ 内容 (ktMsgBoxEX) 】

[Prompt]以外の解説は[ktMsgBox]を参照

Prompt
10グループまで指定できます。
各グループ単位でフォント(フォント名,サイズ,文字色,太字)を指定できます。
[ktMsgBoxPromptTypeInit]による初期値のままにすれば、既定のフォントになります。

( Message )
クリア値は空文字("")です
Message 内では、改行コード(vbCrLf)も有効です。
[Message(?)]で空文字("")が出てきた所で終了します。

行間を空けたい場合には、半角(or全角)スペースを入れたグループを用意するか、
改行コードを利用して下さい。

( FName )
クリア値は空文字("")です。
既定のフォントから変更する場合に指定します。
指定できるのは下記の10種の記号(大文字/小文字OK)、
もしくはインストールされている「フォント名」を直接指定します。。
   "UIG" : MS UI Gothic
   "MSG" : MS ゴシック
   "MSPG" : MS Pゴシック
   "MSM" : MS 明朝
   "MSPM" : MS P明朝
   "ARI" : Arial (英語フォント)
   "CENT" : Century (英語フォント)
   "COUR" : Courier New (英語フォント)
   "ROMAN" : Times New Roman (英語フォント)
   "TAHOMA" : Tahoma (英語フォント)
(英語版では、[MS UI Gothic 〜 MS P明朝]の日本語フォントは不可です)
上記の記号以外/インストールされていない「フォント名」を指定した場合は、既定のフォントになります。

( FSize )
クリア値は[-1]です。
既定のフォントサイズから変更する場合に指定します。
指定できるのは[ 9, 10, 11, 12, 14, 16, 18, 20 ]の8種です。
他の数値を指定すると既定のフォントサイズになります。

( FColor )
クリア値は[-1]です。
カラー定数/RGB関数/16進 などで指定します。
ktWebColor2Num関数を通す事で「色名」による指定もできます。
    例) Prompt(1).FColor = ktWebColor2Num("AquaMarine")

省略解釈値は[-1]で、[vbWindowText]で表示されます。

( FBold )
クリア値は[False]です。
太字にする場合には[True]を設定します。
尚、フォントによっては、フォントサイズを大きくすると自動的に太字になるものもあります。


Prompt.FColor/BackColor/ChimeColor を16進で[&H8000 〜 &HFFFF]と指定すると、Integer型
    の認識で負数になってしまいますので、末尾に型宣言子[&]を付してLong型にして
    ください[&H8000& 〜 &HFFFF& ]。

[ Page Top ]


【 使 用 例 (ktMsgBoxEX) 】

Dim Prompt As kt_MsgBoxPromptType
Call ktMsgBoxPromptTypeInit(Prompt)
With Prompt
  .Message(1) = "※  エラーが発生しました  ※"
  .FSize(1) = 14
  .FName(1) = "MSM"
  .FColor(1) = vbRed
  .Message(2) = "エラー発生事由〜〜" & vbCrLf & "‥‥‥" & vbCrLf & "‥‥‥"
  .FSize(2) = 10
  .FColor(2) = vbBlue
  .Message(3) = "詳細情報1:〜〜〜" & vbCrLf & _
                "詳細情報2:〜〜〜" & vbCrLf & _
                "詳細情報3:〜〜〜"
  .FSize(3) = 9
  .FColor(3) = vbBlack
End With
ktMsgBoxEX Prompt, vbOkOnly + vbExclamation, "月次処理", Chime:=True





AddinBox Home ][ ktMsgBox MainPage


角田  桂一 Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.