人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: kaiketsu
●カテゴリ:コンピュータ
✍キーワード:Beep VBA エクセル
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● ken3memo
●23ポイント

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

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


2 ● rsc
●23ポイント

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

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

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

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

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


3 ● GreenStar
●22ポイント

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)になるかと思います。


4 ● HALSPECIAL
●22ポイント

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ