ktSound

Wave音を再生するサブルーチンです。 

【 構 文 】

Call ktSound( 音種, 再生方法 )

音  種 ‥‥‥ String 型
再生方法 ‥‥‥ Integer 型

【 パラメータ 内容 】

音  種 ‥‥‥ 再生するWaveファイルを指定します。
文字列で「"1", "2", "3"」 とすれば、下記の3音を指定できます
(カッコ内はkt関数アドインで用意している定数名です)。
    "1" (kt_Ding )  Windowsディレクトリ内の[Media\Ding.wav]
    "2" (kt_Chord )                〃              [Media\Chord.wav]
    "3" (kt_Notify )                〃              [Media\Notify.wav]

[Ding.wav (ピ〜ン)]→MsgBoxでアイコン無しの時の音
[Chord.wav (ボン)]→MsgBoxでアイコン有りの時の音
[Notify.wav (ピポ)] →メール着信音


Ver 5.00 より下記の 「音種」 が追加されました。
サウンドファイル名の直指定に拠らず、コントロールパネル/サウンド
で設定されているサウンド を鳴らすことができます。

    "Default" ・・・ システム音 : 一般の警告音
    "Critical" ・・・ システム音 : システムエラー
    "Question" ・・・ システム音 : メッセージ(問い合わせ)
    "Exclamation" ・・・ システム音 : メッセージ(警告)
    "Information" ・・・ システム音 : メッセージ(情報)
    "New Mail" ・・・ システム音 / 新着メールの通知


上記の音以外を再生する場合は、そのWaveファイルのフルパス(ドライブから)を指定します。
 
再生方法 ‥‥‥ 下記のいずれかを指定します(カッコ内はkt関数アドインで用意している定数名です)。
      1 (kt_ASYNC )    →非同期再生(1回のみ再生)
      2 (kt_Chime )     →非同期再生(連続再生)
      3 (kt_SYNC )      →同期再生(1回のみ再生)
      9 (kt_WaveStop ) →連続再生の場合の[停止]指示
 

【 解 説 】

APIの[PlaySound]関数を使用してWave音を簡単に再生できます。
従来[Beep ステートメント]による音しか利用できなかったVBAで、任意の警告・注意音を利用する
事ができます。「ktMsgBox 関数」で利用しています。

同期再生」はWave音の再生が終了するまで、呼び元に戻りません。

非同期再生」は直ぐに呼び元へ制御が戻り、Wave音の再生と平行して処理を進める事ができます。

非同期/連続再生」の場合は、 「停止」指示を出すまで延々と再生が続きますので、必ず「停止」
指示を出す手段を用意して下さい
(停止ボタンを用意してクリックイベントで停止、処理の開始時に
再生を始めて終了時に停止など)。

 開発中に停止手段を用意する前に連続再生してしまった場合や、何らかの原因で停止指示を
      出す前にエクセルがダウンしてしまった場合などに対処する為に、『kt関数メニュー/バージョン
      画面に【再生停止ボタン】を用意してあります。

【 使 用 例 】

メール着信音を1回再生
  Call ktSound( kt_Notify, kt_ASYNC )

メール着信音を連続再生
  Call ktSound( kt_Notify, kt_Chime )

メール着信音( システム音 / 新着メールの通知)を1回再生
  Call ktSound( "New Mail", kt_ASYNC )


連続再生中のWave音を停止
  Call ktSound( "", kt_WaveStop )

入力エラーで[Beep]の代わりに利用
  IF Not IsNumeric(TextBox1.Value ) Then
      Call ktSound( kt_Ding, kt_ASYNC )
      Cancel = True
      Exit Sub
  End If

既定の3音以外を再生(下記はWin98/Excel2000の場合の例です)
  Call ktSound( "C:\Program Files\Microsoft Office\Office\REMINDER.WAV", kt_Chime )



Home  kt関数 Top  kt関数 Ref  Back Page  Next Page


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