こんにちは、Ryoです。
VBAで処理する際にエラー発生などでメッセージボックスを表示することはありますが、状況によっては音(警告音)を鳴らすことで視覚以外にも伝えることが出来ますから有効です。今回はそんな時に使えるBeepステートメントについて書いていこうと思います。
1.サンプル概要
サンプルとして以下画像のように”Sheet1”と”Sample1”というシートがあるとします。
警告音として鳴らしたいので、Sheet1をSample1というシート名に書き換え、エラーであれば音を鳴らしてメッセージボックスを表示します。
音量OFF、又はミュートしてなければ警告音と共にメッセージボックスが表示されます。
2.サンプルコード
Sub Sample1() On Error GoTo Err_Beep 'エラー処理を開始 Worksheets("Sheet1").Name = "Sample1" 'シート名を「Sample1」に変更する Exit Sub Err_Beep: 'エラー処理 Beep '警告音 MsgBox "PCのスピーカーから警告音鳴りましたよね?", vbInformation End Sub
音を鳴らすにはBeepステートメントを使用します。
Beep
構文というほどでもありませんね。そのままBeepでOKです。
上述サンプルコードを実行すると、シート名が既に存在する「Sample1」と重複するのでエラーとなり、警告音とメッセージボックスが表示されます。
ちなみに、サンプルではエラー処理で警告音を鳴らしていますが、コード内にBeepと記述さえすれば音は鳴りますので、処理終了時や処理上の警告表示などの際に鳴らすことも出来ます。
3.まとめ
音を鳴らすこと自体はこの通り至って簡単な記述で出来ますので、私の場合は計測制御などで処理する際に「完了」を知らせる上で鳴らしたりしています。
知っておくと何かと便利ですが、鳴らしすぎると聞く方は麻痺してきますから全く効果なくなるので、ここぞという時に鳴らしてくださいね(笑)
以上、エラー発生時に警告音を鳴らす方法についてでした!
今回の記事が何かの参考になれば幸いです。
Ryo