Excel come sveglia



  • Excel come sveglia
    di Antonio (utente non iscritto) data: 02/07/2013 12:27:44

    Ciao. Qualcuno ha un file excel che si può usare come sveglia? Nel senso che in una cella metto un ora e a quell'ora suona. Grazie



  • di totygno71 (utente non iscritto) data: 02/07/2013 12:56:01

    caro Antonio

    se fai una ricerca nello stroico discussioni trovi di sicuro la soluzione... ricordo questo argomento è stato già trattato!
    Ciao



  • di Antonio (utente non iscritto) data: 02/07/2013 21:07:39

    Ciao. Sicuramente ci sarà qualcosa però il file allegato non c'è perché dopo qualche giorno si cancella. Se qualcuno già ce l'ha se magari lo allega.



  • di Antonio (utente non iscritto) data: 03/07/2013 19:38:10

    Ho dato un occhiata alle discussioni storiche ma non ho trovato nulla di preciso. Qualcuno ha un file già pronto? Grazie



  • di Antonio (utente non iscritto) data: 05/07/2013 21:47:10

    Suppongo che nessuno abbia questo file, ma come si potrebbe fare?



  • di Vecchio Frac data: 05/07/2013 21:50:13

    Era qualcosa che funzionava con OnTime probabilmente.






  • di Antonio (utente non iscritto) data: 06/07/2013 07:13:51

    OnTime ok, è tutto il resto del codice?



  • di Vecchio Frac data: 06/07/2013 11:16:54

    Ma non ci hai neanche provato? :)
    Esegui la sub "avvia" e all'ora scritta in A1 il codice verrà eseguito.
    Per far partire tutto all'apertura del file, metti il contenuto di "avvia" nell'evento Open del Workbook.
     
    'in un modulo
    
    Option Explicit
    
    Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    
    Sub avvia()
        'Questo esempio esegue "sveglia" all'ora scritta in A1.
        Application.OnTime TimeValue(CDate([a1])), "sveglia"
    End Sub
    
    
    Sub sveglia()
        'suona un motivetto e visualizza la finestra di messaggio
        sndPlaySound "c:windowsmedia	ada.wav", True
        MsgBox "Svegliaaa :)"
    End Sub






  • di Antonio (utente non iscritto) data: 07/07/2013 14:00:45

    Ok, il file l'ho fatto e va bene, con qualche modifica Invece del messaggio "sveglia" vorrei che uscisse una parola che inserisco in A2, come lo devo modificare? Nel senso se A2="" "sveglia" else A2.



  • di Vecchio Frac data: 07/07/2013 17:24:06

    Proprio così come lo hai descritto... usando le parole giuste ^_^
     
    Sub sveglia()
        'suona un motivetto e visualizza la finestra di messaggio
        sndPlaySound "c:windowsmedia	ada.wav", True
        If [A2] = "" Then MsgBox "Svegliaaa :)" Else MsgBox [A2]
    End Sub






  • di totygno71 (utente non iscritto) data: 07/07/2013 20:21:01

    Manca qualcosa_ U_U



  • di Vecchio Frac data: 07/07/2013 20:28:03

    Non tenermi sulle spine... dimmi cosa ^_^





  • di Antonio (utente non iscritto) data: 07/07/2013 23:38:47

    A me funziona il codice che ha scritto Vecchio Frac! Sarà qualcosa in più?



  • di Vecchio Frac data: 07/07/2013 23:52:55

    No, non preoccuparti... totygno è un burlone ^_^





  • di Antonio (utente non iscritto) data: 08/07/2013 07:19:48

    Buondì. Sono proprio curioso di sapere cosa secondo lui manca! Magari una userform con l'immagine della sveglia ^_^



  • di totygno71 (utente non iscritto) data: 08/07/2013 08:09:18

    Buondi...

    @VF in realtà mancano 2 cose:

    1. Un find... ^_^
    2. Il gallo che fa la sveglia! U_U



  • di isy data: 08/07/2013 08:18:28

    Ciao

    Cit: No, non preoccuparti... totygno è un burlone ^_^

    In effetti provando il codice con Excel 2013 non si avvia l'audio
    Ho modificato il codice valido per tutte le versioni
     
    #If VBA7 Then
        Private Declare Function sndPlaySound Lib "winmm.dll" Alias _
          "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As _
          Long) As Long
       Const SND_SYNC = &H0
       Const SND_ASYNC = &H1
       Const SND_NODEFAULT = &H2
       Const SND_LOOP = &H8
       Const SND_NOSTOP = &H10
    #Else
        Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    #End If
    
    Sub sveglia()
     SoundName$ = "c:windowsmedia	ada.wav"
       wFlags% = SND_ASYNC Or SND_NODEFAULT
       x% = sndPlaySound(SoundName$, wFlags%)
       If [A2] = "" Then MsgBox "Svegliaaa :)" Else MsgBox [A2]
    End Sub



  • di Antonio (utente non iscritto) data: 08/07/2013 09:43:49

    Ok. A me come già avevo detto funzionava lo stesso, ho dovuto cambiare un true in false per far cantare il gallo ^_^



  • di Vecchio Frac data: 08/07/2013 09:55:51

    Questa di isy è un'informazione molto importante, come già aveva detto Harry in un'altra occasione si verificano delle incompatibilità con i nuovi sistemi Office proprio a livello di API (e non è proprio una sciocchezza).