当EXCEL里数据变化时,如何实现声音报警提示呢?
发布网友
发布时间:2022-05-01 06:54
我来回答
共4个回答
热心网友
时间:2022-06-25 18:53
其实就是B1或C1只要有一个为1时就响。
找一个单元格,输入如下公式:
=IF(OR(B1=1,C1=1), alarm(""),“”)
alarm是自定义的函数,在模块中代码如下:
Private Declare Function PlaySound Lib "winmm.dll"
_Alias "PlaySoundA" (ByVal lpszName As String,
_ByVal hMole As Long, ByVal dwFlags As Long) As Long
Function alarm(str As String) As String
Dim WAVFile As String
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
alarm = str
WAVFile = "xxx.wav" '自己定义声音文件
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Function
热心网友
时间:2022-06-25 18:53
根据自动更新的频率
用application.ontime重复执行判断语句.
用application.speech.speak发声
搜一下这两句的用法,不会的话请在追问中详细描述数据查询方式及更新频率.追问查询时间可以任意设置的,我一般设置是3分钟查询一次网站数据,其实数据自动更新的功能我已经实现了,我只是想要当B1和C1显示为1的时候,能发个声,在其他地方看到一个VBA代码:
Dim i&, soundName As String
soundName = "C:\1.wav"
就是不知道具体怎么用,想要完整的代码
追答在thisworkbook中添加下面代码
Private Sub Workbook_Open()
test
End Sub
在模块中添加下面代码
Sub test()
If [b1] = 1 Or [c1] = 1 Then Application.Speech.Speak "test"
Application.OnTime Now + TimeValue("0:0:5"), "test" '每5秒检测一次
End Sub
即可实现打开工作表后每5秒检测一下当前工作表的B1,C1,若一个为1则发声test.
热心网友
时间:2022-06-25 18:53
EXCEL不知道是否能够时间 但是用其他编程软件倒是可以做成监控来实现你说的功能
热心网友
时间:2022-06-25 18:54
太复杂了