Codice VBA per bip altoparlante di sistema

Salve,

sapreste darmi indicazione su come creare una macro (in Excel) che permetta di far emettere un bip dallo speaker del pc.

 

Grazie

 

Informazioni domanda


Ultimo aggiornamento settembre 21, 2018 Visualizzazioni 2.578 Si applica a:
Risposta

Grazie per la risposta Maurizio,

ho provato ad utilizzare il codice così come è postato, ma probabilmente al comando beep devo associare un suono, utilizzando la prima parte del codice.

 

scusa se ti sto facendo delle domande stupide, ma sono alle prime armi con VBA.

 

grazie


Non è chiaro quello che vorresti fare. Il Beep è il Beep!

La routine a() postata da Maurizio fa esattamente quello che sembra tu chieda.

 

Ecco due ulteriori esempi.

 

Tre Beep in sequenza:

 

Public Sub m_1()
    Dim lng As Long
    For lng = 1 To 3
        Beep
        Application.Wait (Now + TimeValue("0:00:01"))
    Next
End Sub

 

 

Un Beep quando viene mostrata la seconda MsgBox, cioè quando il valore della variabile del ciclo for è uguale a 2:


Public Sub m_2()
    Dim lng As Long
    For lng = 1 To 3
        If lng = 2 Then
            Beep
            MsgBox "La variabile del ciclo For vale " & _
                lng & ", MessageBox con Beep!"
        Else
            MsgBox "La variabile del ciclo For vale " & _
                lng & ", MessageBox senza Beep."
        End If
    Next
End Sub

Questo codice invece esegue un file .wav (qui il classico Tada) sia in sistemi a 32 che a 64 bit:

 

#If Win64 Then
    Private Declare PtrSafe Function sndPlaySound _
        Lib "winmm.dll" Alias "sndPlaySoundA" _
        (ByVal lpszSoundName As String, ByVal uFlags As LongLong) As LongLong
#Else
    Private Declare Function sndPlaySound _
        Lib "winmm.dll" Alias "sndPlaySoundA" _
        (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If


Public Sub mEseguiSuono(ByVal sNomeFile As String)
    Dim v  As Variant
    v = sndPlaySound(sNomeFile, 1)
End Sub


Public Sub m()
    mEseguiSuono ("C:\Windows\Media\Tada.wav")
End Sub

 

Qui trovi il file utilizzato per l'esempio:

http://www.maurogsc.eu/esempiforum13/beep_wav.zip

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.

Risposta

Ciao Ferdinando.mon,

considera la possibilità di usare:

  • Sub Beep()
        Member of VBA.Interaction

per esempio così:

  • Sub a()
        Beep
    End Sub
Ciao!
Maurizio

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.