条件付きで音を出す(Microsoft Excel)
ケンは、Excelで条件付き書式を作成する方法を知っています。しかし、彼が本当にやりたいのは、条件が満たされた場合にExcelに可聴音(ビープ音など)を鳴らすことです。
マクロを使用せずにこれを行う方法はありません。ビープ音を鳴らしたいだけの場合は、次のように使用できます。
Function BeepMe() As String Beep BeepMe = "" End Function
このユーザー定義関数は、サウンドを再生し(使用しているシステムによって異なります)、空の文字列を返すだけです。
ワークシートの関数は次のように使用できます:
=IF(A12>300,BeepMe(),"")
デフォルトのシステムビープ音以外のサウンドを再生する場合は、Windows APIPlaySound関数を使用する必要があります。次のコードは、デフォルトの「tada」を再生するユーザー定義関数を作成します
Windowsの多くのバージョンで非常に普及しているように聞こえます。
Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As Long, ByVal dwFlags As Long) As Long Const SND_SYNC = &H0 Const SND_ASYNC = &H1 Const SND_FILENAME = &H20000 Function SoundMe() As String Call PlaySound("c:\windows\media\tada.wav", _ 0, SND_ASYNC Or SND_FILENAME) SoundMe = "" End Function
この関数は、前の例と同じように呼び出すことができます:
=IF(A12>300,SoundMe(),"")
別のWAVファイルを再生したい場合は、SoundMe関数でファイル仕様を変更するだけです。
関数が正しく機能するためには、VBAエディターに挿入されたモジュールにコードを入力する必要があることに注意してください。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(5834)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。