Newsgroup: it.comp.appl.access
Titolo: Invio multiplo Sms

Utilizzo questa istruzione per inviare Sms attraverso una mia
applicazione e Sms sender di Microsoft.
La domanda è: come potrei creare un ciclo in maniera da fare un invio
multiplo dello stesso "SmsMsg" a più "PhoneNumber" presenti ad esempio
nella "tblAnagrafica" campo "NumCel"?
Dim PhoneNumber As String, Str As String
    Dim SmsMsg As String
    PhoneNumber = "39" & Me.Cel
    SmsMsg = Me.Testo
    Str = "C:\Programmi\Microsoft SMS Sender\SMSSender.exe  /i /p:" _
& PhoneNumber & " /m:""" & SmsMsg & """"
    Call Shell(Str, 1)
Grazie
Paolo

Paolo
Prego Maurizio
-- 
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97, 2000, XP e 2003
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media."


Di andare va, ma al secondo msg mi si blocca dicendomi che il
dispositivo è già in uso...
Ho provato a mettere un DoEvents dopo il Call Shell, ma niente. Non
c'è qualche istruzione che mi chiuda la chiamata a Shell prima che
ricicli?
Grazie
Paolo

 ha scritto nel messaggio 
news:1163717908.5...@f16g2000cwb.googlegroups.com...




Grazie
Paolo
-------------------------
Certo...
sul sito di Alessandro ve ne è un esempio...
Eseguire un File e determinarne la chiusura
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=34
;-)
-- 


 --
In realtà ieri sera gli avevo già dato uno sguardo, ma mi è sembrato
un poò complesso, con troppi moduli. Poi ho trovato, da un post sempre
di Alex, questo:
    Dim objs As Object
    Dim obj As Object
        Set objs = GetObject("winmgmts:").ExecQuery("SELECT * FROM
Win32_Process WHERE Name='SMSSender.exe'")
        For Each obj In objs
           obj.Terminate
        Next
        Set obj = Nothing
Sembrerebbe fare quello che mi serve, ma a volte i msg vengono inviati
a tutti i cel, altre volte me ne invia solo alcuni e mi ripropone
l'errore di cui sopra. Ma, forse non è questo il problema...
Grazie comunque
Paolo

 ha scritto nel messaggio 
news:1163758844.1...@h54g2000cwb.googlegroups.com...
In realtà ieri sera gli avevo già dato uno sguardo, ma mi è sembrato
un poò complesso, con troppi moduli. Poi ho trovato, da un post sempre
di Alex, questo:
    Dim objs As Object
    Dim obj As Object
        Set objs = GetObject("winmgmts:").ExecQuery("SELECT * FROM
Win32_Process WHERE Name='SMSSender.exe'")
        For Each obj In objs
           obj.Terminate
        Next
        Set obj = Nothing
Sembrerebbe fare quello che mi serve, ma a volte i msg vengono inviati
a tutti i cel, altre volte me ne invia solo alcuni e mi ripropone
l'errore di cui sopra. Ma, forse non è questo il problema...
Grazie comunque
Paolo
[risposta]
Prova:
Dim oWshShell, oExec As Integer
Set oWshShell = CreateObject("WScript.Shell")
...inizio ciclo per ogni numero telefonico...
oExec = oWshShell.Run("C:\Programmi\Microsoft SMS Sender\SMSSender.exe  /i 
/p:" _
& PhoneNumber & " /m:""" & SmsMsg & """", , -1)
MsgBox oExec & ", Chiusa"
...fine ciclo per ogni numero telefonico...
Set oWshShell = Nothing
Ciao.
-- 
Sergio MAZZA 

 Set oWshShell = Nothing
Ho provato così:
    Dim db As Database, rs As Recordset
    Set db = CurrentDb
    Dim PhoneNumber As String, Str As String
    Dim SmsMsg As String
    Dim oWshShell, oExec As Integer
    Set oWshShell = CreateObject("WScript.Shell")
DoCmd.Hourglass True
Set rs = CurrentDb.OpenRecordset("qrySms")
    While rs.EOF = False
        With rs
        PhoneNumber = "39" & rs!Cellulare 'il numero lo prendi dalla
tabella
'        PhoneNumber = "393356332025"
        SmsMsg = Me.Testo ' il testo lo prendi dalla maschera
'...inizio ciclo per ogni numero telefonico...
oExec = oWshShell.Run("C:\Programmi\Microsoft SMS Sender\SMSSender.exe
/i/p:" _
& PhoneNumber & " /m:""" & SmsMsg & """", , -1)
MsgBox oExec & ", Chiusa"
        End With
        rs.MoveNext
    Wend
    rs.Close
Set rs = Nothing
'...fine ciclo per ogni numero telefonico...
Set oWshShell = Nothing
DoCmd.Hourglass False
ma mi restituisce  questo errore:
"Metodo Run dell'oggetto 'IwshShell3' non riuscito"
Sbaglio forse qualcosa nel codice?
Grazie
Paolo

 ha scritto nel messaggio 
news:1163879157.5...@e3g2000cwe.googlegroups.com...
Ho provato cosě:







Grazie
Paolo
[risposta]
Il problema č lo spazio nel path; prova cosě:
oExec = oWshShell.Run(Chr(34) & "C:\Programmi\Microsoft SMS 
Sender\SMSSender.exe/i/p:" _
& PhoneNumber & " /m:" & Chr(34) & Chr(34) & SmsMsg  & Chr(34), , -1)
Se non mi sono intrecciato con le doppie...
Ciao.
-- 
Sergio MAZZA 

 Se non mi sono intrecciato con le doppie..
Sergio, ho provato anche altre soluzioni per le doppie ma niente,
continua a restituirmi lo stesso errore...
Paolo

 ha scritto nel messaggio 
news:1164020067.4...@k70g2000cwa.googlegroups.com...
Sergio, ho provato anche altre soluzioni per le doppie ma niente,
continua a restituirmi lo stesso errore...
Paolo
[risposta]
Non è un problema di doppie virgolette (o almeno non solo quello) ma di 
spazi nel nome del percorso "Microsoft SMS Sender".
Prova a reinstallare il programma indicando come percorso: 
MicrosoftSMSSender, invece di: Microsoft SMS Sender...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Ho fatto come hai detto e, con questa stringa:
oExec = oWshShell.Run("C:\Programmi\MicrosoftSMSSender\SMSSender.exe
/i/p:" _
& PhoneNumber & " /m:""" & SmsMsg & """", , -1)
mi restituisce di "Specificare un numero di cel di destinazione"
nonostante PhoneNumber si alimenti. Mentre con la stringa modificata
con i Chr(34) continua a darmi sempre lo stesso errore...
Utilizzandolo con la stringa "primordiale" per l'invio singolo comunque
l'Sms parte.
...qui non ne esco vivo...!

 ha scritto nel messaggio 
news:1164028212....@k70g2000cwa.googlegroups.com...
Ho fatto come hai detto e, con questa stringa:
oExec = oWshShell.Run("C:\Programmi\MicrosoftSMSSender\SMSSender.exe
/i/p:" _
& PhoneNumber & " /m:""" & SmsMsg & """", , -1)
mi restituisce di "Specificare un numero di cel di destinazione"
nonostante PhoneNumber si alimenti. Mentre con la stringa modificata
con i Chr(34) continua a darmi sempre lo stesso errore...
Utilizzandolo con la stringa "primordiale" per l'invio singolo comunque
l'Sms parte.
...qui non ne esco vivo...!
[risposta]
Ma scritto da riga di comando come dovrebbe essere?
C:\...\SMSSender.exe /i/p:065123456 /m:"questo č il testo dell'sms?"
Cosě?
Ciao.
-- 
Sergio MAZZA 

 Così?
Così:
        PhoneNumber = "numero tel"
        SmsMsg = Me.Testo ' testo sms
Str = "C:\Programmi\MicrosoftSMSSender\SMSSender.exe  /i /p:" _
        & PhoneNumber & " /m:""" & SmsMsg & """"
Così, il singolo Sms parte...

 ha scritto nel messaggio 
news:1164031031.0...@k70g2000cwa.googlegroups.com...
Cosě:
        PhoneNumber = "numero tel"
        SmsMsg = Me.Testo ' testo sms
Str = "C:\Programmi\MicrosoftSMSSender\SMSSender.exe  /i /p:" _
        & PhoneNumber & " /m:""" & SmsMsg & """"
Cosě, il singolo Sms parte...
[risposta]
Sě ma io chiedevo se lo devi scrivere da finestra DOS (linea di comando).
- Non č che per caso qualche testo contiene doppie virgolette?
- Numeri di telefono Nulli?
- Altro (ninzo').
Ma utilizzarne un altro? Noo? Magari risolvi...
Ciao.
-- 
Sergio MAZZA

 Ma utilizzarne un altro? Noo? Magari risolvi...
Ma a suo tempo, quando mi sono messo a cercare su web ho trovato questo
che per l'invio singolo va molto bene. Ora mi sono intestardito per
l'invio massivo e...
Tu ne conosci un altro che si riesce a gestire bene da VBA?
Questo è quello che dice il "readme" del softwarino sulla riga di
comando
C:\Programmi\MicrosoftSMSSender\smssender.exe [[/i] /p:<numero>
/m:"<messaggio>" [/u] [/l]] [/?]
/i                     Numero di telefono con formato internazionale.
/p:<numero>            Numero di telefono (solo valori numerici).
/m:"<messaggio>"       Messaggio digitato tra virgolette.
/u                     Messaggio codificato come UCS-2.
L'impostazione
                       predefinita è l'alfabeto con standard GSM.
/l                     Registra il messaggio inviato.
/?                     Mostra questa Guida
Grazie ancora Sergio
Paolo

 ha scritto nel messaggio 
news:1164034725....@h48g2000cwc.googlegroups.com...
Ma a suo tempo, quando mi sono messo a cercare su web ho trovato questo
che per l'invio singolo va molto bene. Ora mi sono intestardito per
l'invio massivo e...
Tu ne conosci un altro che si riesce a gestire bene da VBA?
Questo è quello che dice il "readme" del softwarino sulla riga di
comando
C:\Programmi\MicrosoftSMSSender\smssender.exe [[/i] /p:<numero>
/m:"<messaggio>" [/u] [/l]] [/?]
/i                     Numero di telefono con formato internazionale.
/p:<numero>            Numero di telefono (solo valori numerici).
/m:"<messaggio>"       Messaggio digitato tra virgolette.
/u                     Messaggio codificato come UCS-2.
L'impostazione
                       predefinita è l'alfabeto con standard GSM.
/l                     Registra il messaggio inviato.
/?                     Mostra questa Guida
Grazie ancora Sergio
Paolo
[risposta]
Anche questo (
http://www.smsevia.it/
) sembra non avere documentazione(?!?)
Però questo ti permette di gestire più messaggi...
Ciao.
-- 
Sergio MAZZA 

Contr'ordine...
Ciao.
-- 
Sergio MAZZA

 ha scritto nel messaggio 
news:1164034725....@h48g2000cwc.googlegroups.com...
Ma a suo tempo, quando mi sono messo a cercare su web ho trovato questo
che per l'invio singolo va molto bene. Ora mi sono intestardito per
l'invio massivo e...
Tu ne conosci un altro che si riesce a gestire bene da VBA?
Questo è quello che dice il "readme" del softwarino sulla riga di
comando
C:\Programmi\MicrosoftSMSSender\smssender.exe [[/i] /p:<numero>
/m:"<messaggio>" [/u] [/l]] [/?]
/i                     Numero di telefono con formato internazionale.
/p:<numero>            Numero di telefono (solo valori numerici).
/m:"<messaggio>"       Messaggio digitato tra virgolette.
/u                     Messaggio codificato come UCS-2.
L'impostazione
                       predefinita è l'alfabeto con standard GSM.
/l                     Registra il messaggio inviato.
/?                     Mostra questa Guida
Grazie ancora Sergio
Paolo
[risposta]
Questo sembra essere free: 
http://www.aspsms.com/download/home.asp
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Grazie per il link, l'ho scaricato e installato ma non vorrei
ricominciare da capo con riche di comando etc.
Invece posso dirti che ieri sera, con lae tue indicazioni, sono
riuscito a far funzionare l'SmsSender con l'invio massivo in questo
modo:
    Dim db As Database, rs As Recordset
    Set db = CurrentDb
    Dim PhoneNumber As String, Str As String
    Dim SmsMsg As String
    Dim oWshShell, oExec As Integer
    Set oWshShell = CreateObject("WScript.Shell")
Set rs = CurrentDb.OpenRecordset("qrySms_Invio")
    While rs.EOF = False
        With rs
        PhoneNumber = "39" & rs!Recapito1 'il numero lo prendi dalla
tabella
        SmsMsg = Me.Testo ' il testo lo prendi dalla maschera
        oExec =
oWshShell.Run("C:\Programmi\MicrosoftSMSSender\SMSSender.exe  /i /p:" _
                & PhoneNumber & " /m:""" & SmsMsg & """", , -1)
        'SendKeys "{ENTER}"
        MsgBox "Cellulare ''" & PhoneNumber & "'' Inviato",
vbInformation, "Info..."
        'SendKeys "{ENTER}"
        End With
        rs.MoveNext
    Wend
    rs.Close
Set rs = Nothing
Set oWshShell = Nothing
Posso solo chiederti se è possibile automatizzare l'Invio sui due
msgbox che compaiono ad ogni invio? Uno è dell'SmsSender che dice "Msg
Inviato con successo" e l'altro il tuo. Ho provato con il SendKeys
"{ENTER}" ma sembra non fare quello che deve fare...
Ciao 
Paolo

 ha scritto nel messaggio 
news:1164100467.9...@h48g2000cwc.googlegroups.com...





        End With
        rs.MoveNext


Ciao
Paolo
[risposta]
Posso consigliarti di togliere il msgbox e crearti una form con una casella 
di testo (statusInvii) che ti riporta la situazione;
es.
...
oWshShell.Run("C:\Programmi\MicrosoftSMSSender\SMSSender.exe  /i /p:" _
                & PhoneNumber & " /m:""" & SmsMsg & """", , -1)
me!statusInvii=me!statusInvii& vbcrlf & "Cellulare ''" & PhoneNumber & "'' 
Inviato"
...
Ciao.
-- 
Sergio MAZZA 

 ...
Non mi automatizza il msgbox nativo in SmsSender, ma direi che può
essere un buon compromesso ed è anche bello da vedere. E' un metodo
che non conoscevo...
Grazie per tutto Sergio,
Paolo

 ha scritto nel messaggio 
news:1164184413.1...@k70g2000cwa.googlegroups.com...
Non mi automatizza il msgbox nativo in SmsSender, ma direi che può
essere un buon compromesso ed è anche bello da vedere. E' un metodo
che non conoscevo...
Grazie per tutto Sergio,
Paolo
[risposta]
Ovviamente ci sono altre soluzioni; tipo scrivere in un file di testo...
Ciao.
-- 
Sergio MAZZA