- ベストアンサー
VBA で警告音
VBAで警告音を鳴らす際にBeepを使っています。 このたび、3種類の警告音が必要なったのですが、VBAのBEEPの場合 「一般の警告」がなるだけなので、数種類の警告音が出来ません。 何か良い方法はありませんか?
- みんなの回答 (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)
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)
こんにちは。 下記サイトをご参照下さい。 http://exceler.blog68.fc2.com/blog-entry-20.html API関数のBEEPを使うと音階が作れます。 では。