当条件得到满足时,如何让excel发挥出声音

我有一个电子表格用于扫描序列号和资产标签。 2列和条形码扫描仪。 我已经设置了条件格式,所以如果任何单元格在设定的范围内得到一个重复的条目,它就会改变字体和单元格的颜色,这样就会造成明显的错误。

我想播放一个错误时发生错误,以停止需要继续回头看电脑,看看是否有重复已被发现。

我已经find了许多方法来播放声音,如果一个单元格是一个特定的价值,但不是如果优秀的条件格式化应用。

任何build议,将不胜感激。

#If Win64 Then Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean #Else Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As Long, ByVal dwFlags As Long) As Boolean #End If Const SND_SYNC = &H0 Const SND_ASYNC = &H1 Const SND_FILENAME = &H20000 Function SoundMe() As String 'Updateby Extendoffice 20161223 Call PlaySound("c:\windows\media\Speech On.wav", _ 0, SND_ASYNC Or SND_FILENAME) SoundMe = "" End Function 

之后的vb代码

然后保存并closures此代码窗口,返回到工作表,并input此公式:= IF(A1> 300,SoundMe(),“”)到单元格旁边的空白单元格包含要播放声音的值基于,然后按回车键,公式单元格中将不显示任何内容,请参阅截图:

这工作正常,如果一个数字是大于或等于另一个我不能想到如何让它拿起重复,林非常新的Excel的公式。

Thankyou任何提示。

这里是条件blnWannaHearDespasito = True的代码。 而音乐是Despasito 。 🙂

 Option Explicit Public Sub TestMe() Dim blnWannaHearDespasito As Boolean blnWannaHearDespasito = True If blnWannaHearDespasito Then Application.Speech.Speak "Despasitoooooo" Else Application.Speech.Speak ("No") End If End Sub 

If blnWannaHearDespasito Then是相同的If blnWannaHearDespasito = True Then ,但它更短。 If总是被评估为TrueFalse

Speech.Speak方法在MSDN中 。