• ベストアンサー

VBA で警告音

VBAで警告音を鳴らす際にBeepを使っています。 このたび、3種類の警告音が必要なったのですが、VBAのBEEPの場合 「一般の警告」がなるだけなので、数種類の警告音が出来ません。 何か良い方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

警告音(「メッセージ (警告)」や「メッセージ (情報)」)を直接出すのでしたら、既出の質問で回答されて いる、APIを使用します: http://oshiete1.goo.ne.jp/qa747208.html なお、APIに慣れていなくて敷居が高く感じられるようでしたら、SendKeys関数とMsgBoxで擬似的に やってしまうというのもひとつの手だと思います。 試しに、現在の「Beep」の記述を、以下のコード(コメントを除けば実質2行)に置き換えてみて下さい:  '「Enter」キーの信号(?)を送信します  SendKeys "{Enter}", False  '「システム エラー」の音を出します  '(MsgBox自体は、上でのEnterで自動的に閉じられます:たまに残ることがありますが(汗))  MsgBox "", vbCritical ・・・以上です。 なお、MsgBox関数の「vbCritical」を、「vbInformation」にすれば「メッセージ (情報)」の音に、 「vbExclamation」にすれば「メッセージ (警告)」の音に、それぞれ変えることができます。 (実際に鳴る音は、Windows側の設定に依存するので注意:  コントロールパネルの「サウンドとオーディオデバイス」等で「システム エラー」時の音を変えると、  Access側で鳴る音も変わります) 本来ならMsgBoxに表示するアイコンの切替用の引数ですし、SendKeysは時に予想外の 動作をすることがあるということで、あまりお勧めはできませんが、こんな方法もあるという ことで、ご参考まで。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

APIですが、 http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi?mode=al2&namber=6009&rev=&no=0&P=R&KLOG=42 にWAVファイルの演奏が載っています。 数種類の警告音をどう探すか、どう作るかの問題はありますが、何かWAVファイルでやってみては。過去にゲームからなどから入っているかもしれない。

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  下記サイトをご参照下さい。   http://exceler.blog68.fc2.com/blog-entry-20.html   API関数のBEEPを使うと音階が作れます。 では。

関連するQ&A