有条件地播放音频文件(Microsoft Excel)
当某个单元格中的值超过阈值时,Tassos希望Excel播放音频文件。例如,当一个单元格中的值超过999时,他希望播放特定的声音文件。
在Excel中没有内置的方法可以做到这一点(尽管这将是对Excel条件格式设置功能的有趣补充)。但是,您可以通过使用宏来调用Windows API来播放声音文件。
您需要首先在工作簿的Sheet对象中放置一些代码。 (右键单击工作表的选项卡,然后从上下文菜单中选择“查看代码”。)使用以下代码声明函数“ playsound”:
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
接下来,您可以创建一个简短的小宏,它将实际播放声音文件。假设声音文件与工作簿在同一目录中,则以下代码将起作用。 (您应该修改代码,使其包含正确的文件名和位置。)
Sub PlayWAV() WAVFile = ThisWorkbook.Path & "\MyAudioFile.wav" Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME) End Sub
最后,在播放文件时建立标准。在这种情况下,您希望每当目标单元格中的值超过阈值999时播放声音文件。以下内容将检查单元格C5中的条件,并在保证的情况下播放声音文件:
Private Sub Worksheet_Change(ByVal Target As Range) Threshold = 999 If Range("C5").Value > Threshold Then PlayWAV End Sub
现在,只要单元格C5中的值更改并超过999,音频文件就会播放一次。如果将值更改为小于999,则不会播放任何内容。如果该值更改为另一个超过999的值,则声音文件将再次播放。
有关播放音频文件的其他想法,请访问以下站点:
http://www.j-walk.com/ss/excel/tips/tip87.htm http://www.cpearson.com/excel/PlaySound.aspx
您还应该注意,通过使用数据验证,可以使Excel播放系统声音。只需设置验证条件(在_ExcelTips_的其他问题中描述),然后在“错误”选项卡上指定您是要Excel停止,警告还是通知用户。在不符合条件的单元格中输入值时,将显示一个对话框,并听到系统声音。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(6559)适用于Microsoft Excel 97、2000、2002和2003。