땡큐엑셀vba & 엑셀매크로


'http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1020201&docId=281241993
'
'예로 1=1 같은 값이라서 소리가 발행하나 1=1-> 1=2 로 변할때 까지 계속 발생합니다.
'문의1: 소리 1회 발생 할수 없나요?
'문의2: 소리 시작<->정지 버튼은 어떻게 하는건가요?
'고수님들 도와주세요~

'[시트]
'
'souce by 땡큐엑셀vba & 엑셀매크로
'

'계산될때마다 실행되는 이벤트 프로시저
Private Sub Worksheet_Calculate()

    Call playSound
    
End Sub


'음악Stop
Sub StopPlay()

    Call stopSound

End Sub


'http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1020201&docId=281241993
'
'예로 1=1 같은 값이라서 소리가 발행하나 1=1-> 1=2 로 변할때 까지 계속 발생합니다.
'문의1: 소리 1회 발생 할수 없나요?
'문의2: 소리 시작<->정지 버튼은 어떻게 하는건가요?
'고수님들 도와주세요~



'[모듈]
#If Win64 Then
    Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
           (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
    Public Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
                                           (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If


'
'souce by 땡큐엑셀vba & 엑셀매크로
'
'비동기방식play
Sub playSound()

    If [W8] = [W9] Then
        
        '파일의 위치는 수정하여 사용하세요
        wave1 = "C:\temp\SOUND1.wav"
        '비동기 방식으로 play
        Call sndPlaySound32(wave1, 1)
    End If

    If [X8] = [X9] Then
        '파일의 위치는 수정하여 사용하세요
        wave2 = "C:\temp\SOUND0.wav"
        '비동기 방식으로 play
        Call sndPlaySound32(wave2, 1)
    End If
    

End Sub


'stop sound
Sub stopSound()

    '없는 파일 play하여 stop시킴
    wave3 = "stop.wav"
    Call sndPlaySound32(wave3, 1)

End Sub

 

비동기방식의 Wave파일 Play_Stop-땡큐엑셀vba.xlsm
0.05MB
sound0.wav
1.08MB
sound1.wav
0.29MB