Quanto um sistema se torna bastante completo e profissional, merece contar alguns recursos de interface e interação para enriquecer seu valor.
O código abaixo executa um arquivo de áudio no padrão .wav através do VBA.
1 2 3 4 5 6 7 8 9 10 11 12 13 | Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As Long, ByVal dwFlags As Long) As Long Const SND_SYNC = &H0 Const SND_ASYNC = &H1 Const SND_FILENAME = &H20000 Sub PlayWAV() WAVFile = "Som.wav" WAVFile = ThisWorkbook.Path & "\" & WAVFile Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME) End Sub |
Neste caso, o arquivo tem o nome “Som.wav” localizado na mesma pasta do arquivo .xls.
Fonte: Fórum Julio Battisti
Abraços
Tomás Vásquez
www.tomasvasquez.com.br
Muito bom Tomás!!! Me ajudou diretamente com o que eu precisava!
Valeu por contribuir com este ótimo código!
E PARA DAR STOP NO WAV ?
Chame a função novamente, mas defina o WAVFile para Nothing. Isso fará o player parar.
Abraços
Tomás
Boa Noite Tomás.
Segui seus procedimentos e fiz assim.
Na Planilha1 inseri o comando:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range(“A1:A2”)
If (WorksheetFunction.CountIf(KeyCells, “COMPRA”)) > 0 Then Call PlayWAV
End Sub
Já no Módulo1
Private Declare Function PlaySound Lib “winmm.dll” _
Alias “PlaySoundA” (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Public Sub PlayWAV()
WAVFile = “David Guetta.wav”
WAVFile = ThisWorkbook.Path & “\” & WAVFile
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Sub
E deu tudo certo.
Porém gostaria de criar um botão para parar a música no momento que eu quiser. Como chamo novamente a função (linha de comando) e aonde coloco os dados (módulo1, crio módulo2, na plan1 mesmo?). Desde já agradeço pela ajuda.
Rodrigo,
Não tem lugar melhor para falarmos sobre isso:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!
Tomás