[Excel VBA ] VBA 寫音效播放函數
2009/03/02 21:54
瀏覽11,313
迴響4
推薦0
引用0
怎樣可以讓Excel公式符合條件時發出想要的提示音?
例如:當 A1>A2 時,自動撥放 C:\123.WAV
我的方法是, 用 VBA 寫個播放音效檔的 function, 在儲存格裡使用的時候, 就像這樣寫公式:
SNDPLAY(音效檔路徑)
例如:
=IF(A1 > A2, sndplay("C:\123.wav"), 0)
做法是這樣的, 在 Excel 中, 按 Alt F11 進入 Visiual Basic 編輯器畫面, 點選 [插入]/[模組], 畫面會跳出程式碼視窗 (注意:放在 ThisWorkBook 或 Sheet1、Sheet2 ... ... 等等的程式碼視窗裡是不行的!),在裡面輸入 (或從這裡複製去貼上比較快,但需要登入 UDN blog 才可以複製) 如下程式:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Function SndPlay(Pathname As String) As Long
SndPlay = sndPlaySound(Pathname, SND_ASYNC)
End Function
切換回到 Excel 工作表就可以利用它了。
我試過可播放的音效檔格式有: .WAV, .MP3, .WMA
*註: 曾經不止一次在Yahoo奇摩知識+為網友回答這個問題, 稍做整修之後貼在這裡。
*2018/1/8更新並補充。感謝網友 "新點心" 指正。
你可能會有興趣的文章: