SMSLibX

SMS per l'ufficio / SMS per sviluppatori software

 

 

SMS software for GSM modem/phones SMS Tutorials >

Inviare SMS da Excel

 

Questo tutorial illustra come inviare e ricevere SMS da fogli Excel, utilizzando il componente ActiveX SMSLibX (libreria DLL).

Il tutorial spiega come:

  • costruire passo per passo un nuovo foglio Excel con invio/ricezione SMS;
  • integrare invio/ricezione SMS su un foglio Excel pre-esistente;
  • scaricare alcuni fogli Excel di esempio con invio/ricezione SMS, ed adattarli in base alle proprie esigenze.

 

L'ambiente di riferimento è Microsoft Excel 2000.
È richiesto un minimo grado di esperienza nella programmazione VBA (Visual Basic for Applications).

 

Installazione di SMSLibX

  1. Scarica ed installa SMSLibX sul tuo PC.
  2. (Opzionale) Scarica ed installa i nostri fogli Excel di esempio
    (completi di codice sorgente VBA per invio/ricezione SMS)
  3. Connetti ed installa il tuo modem o telefono GSM sul tuo PC.
    Se non disponi di un modem/telefono GSM compatibile, puoi utilizzare SMSLibX in modalità di simulazione.

 

Integrazione di SMSLibX su Excel

  1. Creare un nuovo foglio Excel (o aprirne uno esistente).
  2. Passare alla visualizzazione del codice VBA (menu Strumenti > Macro > Visual Basic Editor), quindi selezionare il foglio di lavoro nell'albero di progetto.
  3. Impostare un riferimento alla libreria SMSLibX (menu Strumenti > Riferimenti).
    Se SMSLibX non è presente nell'elenco, aggiungerlo tramite il pulsante Sfoglia.

Ora siete pronti ad utilizzare gli oggetti e metodi esposti da SMSLibX nel vostro codice sorgente.

 

Inviare e ricevere SMS su Excel (VBA)

Il seguente esempio di codice sorgente VBA può essere utilizzato all'interno di un foglio Excel per l'invio e la ricezione di SMS. Con poche semplici modifiche, può essere utilizzato anche all'interno di una classe VBA.

La clausola WithEvents è essenziale per consentire di catturare gli eventi generati dall'oggetto SMSModem.

' Declare SMSModem object
Public WithEvents Modem As SMSModem


' Send SMS
Private Sub cmdSendMessage_Click()
	
  ' Open modem communication
  Set Modem = New SMSModem
  Modem.LogTrace = True
  Modem.OpenComm ModemType, ModemPort, , smsNotifyAll
	
  ' Send message
  Call Modem.SendTextMessage(PhoneNumber, MessageText)


End Sub


' Receive SMS by event
Private Sub Modem_MessageReceived(Message As SMSLibX.SMSDeliver)
  MsgBox "New message received from " & Message.Originator & ":" _
    & vbCrLf & vbCrLf & Message.Body, _
    vbInformation, "New message received"
End Sub
          

 

Utilizzare SMSLibX nel vostro editor VBA

Per una rapida introduzione all'uso di SMSLibX, raccomandiamo la sezione Quick start presente nell'Help di SMSLibX.

SMSLibX si integra perfattemante nell'ambiente di sviluppo Microsoft VBA:

  • Per ottenere l'help contestuale su un oggetto/metodo SMSLibX selezionato nel codice, basta premere F1.
  • Per scorrere gli oggetti esposti da SMSLibX, aprire il Visualizzatore Oggetti (F2) e selezionare la libreria SMSLibX.
  • Mentre si scrive il codice basato su oggetti SMSLibX, è possibile utilizzare le funzioni di completamento automatico del codice (Ctrl+SPACE, Ctrl+J ecc.)

 

Due esempi: fogli Excel con invio/ricezione SMS

È possibile scaricare i seguenti esempi di fogli Excel completi di codice sorgente VBA:

  • Example1
    Esempio minimo di invio e ricezione SMS da foglio Excel.

  • Example2
    Esempio di media complessità con invio e ricezione SMS multipli da fogli Excel.

Gli esempi sono inizialmente configurati in modalità di simulazione (non inviano SMS reali).

Una volta testati sul vostro PC, è possibile configurarli per funzionare con il vostro modem/telefono GSM. Per far questo, aprite il codice sorgente del foglio di lavoro (menu Strumenti > Macro > Visual Basic Editor) e modificate le voci 'TO DO'.

In caso di problemi vedere il paragrafo "Risoluzione dei problemi".

 

Eventi SMSLibX e programmazione VBA

Vi preghiamo di leggere queste note attentamente – sono fondamentali per una buona pratica di programmazione con SMSLibX!

 

MsgBox e ricezione messaggi SMS

Se la vostra applicazione VBA visualizza MsgBox ed InputBox, si tenga conto che VBA sopprime gli eventi relativi a timers, forms, controlli e componenti ActiveX mentre uno di questi dialoghi è aperto.
Gli eventi non vengono semplicemente posticipati, ma definitivamente soppressi (vedi Microsoft Knowledge Base, articolo 76557).

A causa di questo indesiderabile comportamento, durante l'apertura di una MsgBox la vs. applicazione potrebbe perdere gli eventi di notifica dei messaggi ricevuti - così come qualsiasi altro evento generato da SMSLibX.

Per aggirare il problema, consigliamo di possibile ridefinire la funzione MsgBox di VBA utilizzando al suo posto la MessageBox API di Windows, la quale non sopprime alcun evento (vedi Microsoft Knowledge Base, articolo 76557 per dettagli).
Un esempio concreto di ridefinizione di MsgBox è disponibile nel codice dell'esempio distribuito con questo tutorial.

 

Utilizzare DoEvents nei loops

Se la vostra applicazione VBA esegue dei cicli su liste di messaggi da inviare, oppure implementa operazioni di lunga durata, si raccomanda di inserire nel ciclo un'istruzione DoEvents (o nelle altre operazioni di lunga durata).

Questo permetterà ad SMSlibX di continuare a gestire gli eventi in tempo reale (come ad es. la notifica dei messaggi ricevuti, dei rapporti di consegna e degli stati del modem).

Inoltre, è necessario che i listener degli eventi associati a SMSLibX (ovvero il codice che scrivete all'interno di una procedura di evento) non contenga operazioni di lunga durata, poiché SMSLibX fa affidamento sul medesimo thread di notifica eventi, per la ricezione e notifica di ulteriori messaggi.

 

Risoluzione dei problemi

 

Registrazione di SMSLibX

All'apertura degli esempi possono verificarsi alcuni errori dovuti alla mancata o scorretta registrazione di SMSLibX sul vostro sistema.

Se dovessero apparire i seguenti messaggi:

  1. [...]Impossibile trovare il progetto o la libreria...
  2. Il componente ActiveX non è in grado di creare l'oggetto...

procedere reimpostando il riferimento a SMSLibX, così come spiegato nella prima parte di questo tutorial.

 

Altri problemi su SMSLibX

Riferirsi alla sezione Risoluzione dei problemi dell'Help di SMSLibX.

NOTIZIE

SMS UTILI PER...

  • SMS per chi lavora

    - Gruppi di lavoro
    Mantieni il contatto con colleghi e clienti in mobilità tramite SMS.
    - Mobile marketing
    Rinnova la comunicazione verso il mercato utilizzando i messaggi SMS.

  • SMS per il pubblico servizio

    - Servizi ed associazioni
    Contatta sottoscrittori ed associati tramite SMS.
    - Studi commercialisti
    Ricorda tramite SMS adempimenti e scadenze.
    - Studi dentistici
    Invia un SMS di promemoria per gli appuntamenti.
    - Scuole ed Università
    Mantieni il contatto con studenti e genitori via SMS.

  • Usa gli SMS per...

FOCUS SU...

  • Le nostre soluzioni per inviare e ricevere SMS:

  • Mailing SMS da PC

    Creare una lista di messaggi SMS ed inviarla a multipli destinatari con SMSList.

  • SMS da siti web

    Come integrare SMSLibX nelle vostre pagine web (ASP o altre tecnologie server-side) per inviare e ricevere SMS dal vs. sito.

  • SMS da Excel e database Access

    Con SMSLibX aggiungi ai tuoi fogli Excel e database Access la capacità di inviare e ricevere SMS.

  • Altre soluzioni SMS...