EXCEL判断条件下进行声音提示,如何进行操作

图中栏位CJ1每一分钟变化一次,如果结果大于12时,进行语音提示,否则无提示;求大神给个代码并告知如何使用

答:我提供这段代码,只给出了一个简单声音提示。可否满足你的要求?

1、先右键改工作表标签,选择"查看代码",复制下方代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("CJ1").Value > 12 Then
        Call playSystemSound
    End If
End Sub

2、然后在VB编辑窗口中插入一个"模块",复制下面代码:

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Const SND_ALIAS& = &H10000
Private Const SND_ASYNC& = &H1
Private Const SND_NODEFAULT& = &H2
Public Const sdDefault = ".Default"
Public Const sdMailBeep = "MailBeep"
Sub playSystemSound()
    Call PlaySound(sdMailBeep, 0&, SND_ALIAS Or SND_ASYNC Or SND_NODEFAULT)
End Sub

追问

是这样吗?

追答

后面一段代码必须放在普通模块里,例如放在"模块3"里,则更改语句:

Call 模块3.playSystemSound

前面一段代码必须放在工作表的代码模块里,你没看清楚。

追问

第一次用代码终于调试好了,不过声音有点小,能以替换成其他音乐吗?代码是哪一个

追答

更改如下:

Call PlaySound("F:\乌鸦叫.wav", 0&, SND_ALIAS Or SND_ASYNC Or SND_NODEFAULT)

追问

我写成这个样,目标位置有音乐文件,但是为什么不能播放?
Sub playSystemSound()
Call PlaySound("C:\KuGou:\纯音乐 - 亡灵序曲 - 纯音乐版.wma", 0&, SND_ALIAS Or SND_ASYNC Or SND_NODEFAULT)
End Sub

温馨提示:答案为网友推荐,仅供参考
相似回答