乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 为什么执行<em>Beep</em>()函数时听不到声音啊?

为什么执行<em>Beep</em>()函数时听不到声音啊?

作者:乔山办公网日期:

返回目录:excel表格制作


D盘根目录下新建文本文档beep.txt,复制以下代码:
——————————————————
echo off
start "播放音乐" "d:\music\音乐.mp3" '首先将你需要的提示音文件放置于D盘根目录下(也可根据需要自行改变)
——————————————————
重命名beep.txt为beep.bat

打开excel文件,Alt+F11键打开VBA编辑窗口

右键“Thisworkbook”》插入:模块,复制下代码:
——————————————————
Public counter As Single
Sub beep()
If ActiveSheet.Cells(6, 1) > 000.3 Then

shell "cmd.exe /c d:\beep.bat"
End If

End Sub
——————————————————
双击“Thisworkbook”,复制以下代码到新打开的窗口:
——————————————————
Private Sub Workbook_Open()
Call beep

End Sub
Private Sub Worksheet_Activate()
Call beep

End Sub
——————————————————
保存一下,关闭excel文件,重新打开测试一下

注意:以上回答中的所有长”————“,仅为查看方便,不e799bee5baa6e79fa5e98193e78988e69d83335要复制

beep函数的确是发给beep设备的,这个设备物理在主板上,但windows通过HAL接管了计算机所有的设备,这个设备也在beep.sys的驱动程序的控制下。

在没有安装声卡驱动或者windows audio服务没启动的时候,beep.sys用主板的蜂鸣器发声,反之则重定向到声音服务的警告消息设置的声音并通过声卡发声

很多盗版windows 光盘都是缺少zhidaobeep下载是没用的。如果需要,只能找张好一点的光盘重装。我也遇到这种情况,但我另一台电脑可以运行。如果BEEP不可以使用,那就考虑调用系统提示音,代码比beep繁一点,但是每台电脑都可以运行。希望对你有帮助,望采纳!

起发声作用的是MessageBeep(0)函数,它和Beep()的区别主要是是否是阻塞调用的。
MessageBeep()是异步(非阻塞)的,就是说程序执行到此函数后,不等发声完毕就继续执行它后面的程序,所以一般需要在循环中加入Sleep()函数来等待发声完毕再进入下次循环,所以按你的代码,应该不到一秒就结束循环,发声也是很短促。
After queuing the sound, the MessageBeep function returns control to the calling function and plays the sound asynchronously.
参考:http://baike.baidu.com/view/1887476.htm

而Beep()是同步(阻塞)的,就是说必须e799bee5baa6e59b9ee7ad94365等待函数里发声完毕才会继续执行它后面的程序,所以你的代码把MessageBeep()换成Beep()的话,会发一百次Beep声音,执行完毕所花时间将是单次Beep参数所设时间的100倍。
The Beep function generates simple tones on the speaker. The
function is synchronous; it does not return control to its caller until the
sound finishes.
本文标签:excel beep(1)beep(1)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网