エクセルのVBAについての質問です。msgbox のときにでるbeep 音がうるさいので一時的に消したいのです。VBAの中から可能でしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/04/06 05:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ken3memo No.1

回答回数317ベストアンサー獲得回数115

ポイント23pt

もし、デバック時の確認・タイミング取りだけなら、

MsgBox の かわりに InputBox を 使うと音が出ないと思います。

Sub test()

    Dim a As String
    Dim b As Integer
    
    a = "文字列変数"
    b = 1024
    
    InputBox "a=" & a  'インチキしてInputboxで表示
    InputBox "b=" & b  '当然値は受け取らない、これで音は鳴らないと思います。

End Sub

Yes,No の 受け取りだったらスミマセン。

http://msdn.microsoft.com/ja-jp/library/cc410238.aspx

id:rsc96074 No.2

回答回数4502ベストアンサー獲得回数437

ポイント23pt

 「vbQuestion」でアイコンを表示させると、音が小さくなります。

●Excel VBA を使ってみよう : Excel VBA の ノウハウ 満載

>メッセージボックス(関数:MsgBox) その3

MsgBox(strMsg, vbYesNo + vbQuestion, "MsgBox")

http://www.vba-world.com/msgbox_3.html

id:GreenStar No.3

回答回数192ベストアンサー獲得回数46

ポイント22pt

MsgBoxはBeepではなくWindowsのサウンドを呼び出します。

(以下をテストする際には、直前の音が鳴り止ぬまで待ってからクリックするようにしてください。鳴り止まぬうちに連続してクリックすると音が再生されない場合があります。)

' DING.WAV 一般の警告音 利用

MsgBox "test1", vbYesNo

' CHORD.WAV システムエラー 利用

MsgBox "test2", vbYesNo + vbApplicationModal

MsgBox "test3", vbYesNo + vbQuestion

MsgBox "test4", vbYesNo + vbExclamation

MsgBox "test5", vbYesNo + vbCritical

対応としては

(1)VBAからサウンドコントロールを操作して「一般の警告音」を「なし」にする(参考URL見つけられず)

(2)VBAからボリュームコントロールを操作して音量を下げる方法(下記参照)

http://support.microsoft.com/kb/118377/ja

(3)MsgBoxの利用をやめて自分でフォームを作り、呼び出す(下記参照)

http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html

(4)InputBoxを使う(回答1で紹介されている方法ですね)

(5)手動でサウンドコントロールの「一般の警告音」を「なし」にする

(6)手動でスピーカをOFF

などになります。一時的であるなら(5)か(6)になるかと思います。

id:HALSPECIAL No.4

回答回数407ベストアンサー獲得回数86

ポイント22pt

ユーザーフォームで、(鳴らない専用の)メッセージボックスを作ってみてはいかがでしょう。

http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html

  • id:taknt
    可能といえば 可能だけどね。

    たぶん、ボリュームを オフにしただけでは 消えない。
  • id:GreenStar
    id:takntさん
    >ボリュームを オフにしただけでは 消えない。

    消えますよ。
    何か勘違いしておられるようですが、あれはBEEP音じゃなくてWindowsサウンドコントロールで指定してあるサウンドです。
  • id:taknt
    BEEP音は 消える?
  • id:GreenStar
    質問と関係ない方向にあまり話を進めたくはないですが、一応お答えします。
    BEEP音はデバイスを外す方法しか知りません。
    http://d.hatena.ne.jp/haradago/20080110
    http://matsu.tymy.net/blog/2009/06/01/windows%E3%81%A7%E3%83%93%E3%83%BC%E3%83%97%E9%9F%B3%E3%82%92%E6%B6%88%E3%81%99%E6%96%B9%E6%B3%95/
  • id:taknt
    うん、だから ボリュームを オフにしただけでは 消えないって書いたんだ。

    ま、エクセルからそれを やれば 消せるけどねってこと。
    できないことは ない。
  • id:GreenStar
    再度、説明します。

    質問文ではBEEPと書いておられますがMsgBoxが利用するのはBEEPではありません。
    BEEPに関しての話題に摩り替えようとするのはおやめください。
  • id:taknt
    でも あれだな。

    パソコンで音楽 聴きながら BEEP音だけ消したいというなら、ボリュームは調整できない。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません