2017-07-27 53 views
2

シリアル番号と資産タグをスキャンするためのスプレッドシートがあります。 2カラムとバーコードスキャナ。私は設定された条件付き書式設定を持っているので、もし任意のセルが設定された範囲内で重複した項目を取得した場合、フォントとセルの色が変わって明らかな間違いが生じます。条件が満たされたときに音を鳴らすにはどうすればいいですか

エラーが発生したときに音を鳴らして、重複が見つかったかどうかをパソコンで確認し続ける必要がある場合は、再生したいと思います。

セルが特定の値である場合にサウンドを再生する方法は多数ありますが、条件付きの書式設定が有効である場合はそうではありません。

何か提案がありがとうございます。

#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のコードの後に​​

[保存して閉じる。このコードウィンドウを、ワークシートに戻り、次の式を入力します。= IF(A1> 300、SoundMe()、 "")へセルの横の空白セルに基づいてサウンドを再生する値が含まれている場合、Enterキーを押します。数式セルには何も表示されません。スクリーンショットを参照してください。

数値が大きいか等しいもう一つは、私はそれを取得する方法を考えることはできません重複、私は非常に新しい式を拾うために取得します。

ありがとうございます。

+1

値に達すると、サウンドを再生するコードを投稿してください。 ...そして、そのような場合には、ヘルパー列の式としてその条件を「使用する」ことができますか?そのヘルパーセルの値がXのときにサウンドを再生できますか? – BruceWayne

+0

セルや範囲が特定の値や条件に達した場合に実行される複数のバージョンのコードがありますが、重複が発生した場合やエントリのフォーマットが間違っている場合にのみアクティブにする必要があります。 –

+0

申し訳ありませんが私の投稿を編集するコードが長すぎるコメントに追加するには –

答えて

4

ここには、条件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 ThenIf blnWannaHearDespasito = True Thenと同じであるが、それは短いです。 Ifは常にTrueまたはFalseと評価されます。

Speech.Speak Method in MSDN

+2

...それは素晴らしいことです!しかし、VBAの声だけスペイン語をうまく歌えたら...編集:うーん、「Desspah sea toe」はうまく動いているようです。 – BruceWayne

+1

これは非常に新しいことであり、感謝してくれてありがとう。あなたのコードはどこに行きますか?どのように条件を設定するのですか?blnWannaHearDespasito –

+0

@JohnSpencer - 編集されたバージョンを参照してください。 – Vityata

関連する問題