重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以前に古いPCにて以下のVBAプログラムで判定音を鳴らしていたのですが、新しい
PCでWindows7のExcel2010で動かしたら、メディアプレーヤーが出てきてしまいます。


メディアプレーヤーを出さずに、するにはどの様に改造すればよいでしょうか?
(もしかしたらプログラムや音楽データの関連付けが悪いのかもしれませんが)
何方かよろしくお願いいたします。


Function 判定音OK()

Dim BookName As Variant

BookName = ThisWorkbook.Name


'以下をアクティブ
Windows(BookName).Activate
Sheets("判断用紙").Select
'OK音楽データをセレクト
ActiveSheet.Shapes("OK").Select

'音楽データ出力
Selection.Verb Verb:=xlPrimary

End Function

A 回答 (1件)

音楽(曲)ならmciSendString を使うのが簡単ですが


特定のフォルダーに置くとPCによって鳴らなくなるのでシステムの音を使う例です。

音楽ではなく短いシステム音で判定します。
Option Explicit
Private Declare Function MessageBeep Lib "user32" (ByVal wType As Long) As Long


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "" Then
MessageBeep &H10
End If
If WorksheetFunction.IsText(Target.Value) = True Then
MessageBeep &H30
End If
If WorksheetFunction.IsNumber(Target.Value) = True Then
MessageBeep &H40
End If
End Sub
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみませんが、
ありがとうございます。

記載の通り、短いシステム音でしたので、
タイマと連続をかませてNG音を連続させることによって
使用できました。

本当にありがとうございました。

お礼日時:2012/06/20 08:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!