Salve a tutti, ci riprovo cambiando titolo. Ho un codice che invia sms da access e li invia regolarmente e anche miolteplici, ma il mio problema sorge quando cerco di inviare un sms con il testo più lungo penso di 139 caratteri; come posso aumentare questo valore e se si dove?
Grazie a tutti in anticipo.
Do While Not Rs1.EOF
'FORMATTO IL NUMERO DI CELLULARE IN MODO COMPATIBILE CON COMANDI AT AGGIUNGO DOPPIO APICE ALLA FINE DEL NUMERO
CellNew = Rs1.Fields("Cellulare").Value + """"
'CellNew = "3338981807" + """"
'INIZIO CODICE PER INVIO SMS
NewTX "AT" & vbCrLf
NewTX "AT+CMGF = 1" & vbCrLf
NewTX "AT+CMGS = """ & CellNew & vbCrLf 'METODO INVIO SMS CON NUMERO DA RECORDSET AGGIUNGO APICE ALL'INIZIO DEL NUMERO
PauseTime = 1 ' Imposta la durata
Start = 350 ' Imposta inizio
' CICLO PER RITARDARE L'INVIO ALTRIMENTI I DUE COMANDI(AT+CMGS E IL TESTO DEL MESSAGGIO) SI SOVRAPPONGONO
Do While PauseTime <> Start
DoEvents ' Passa il controllo ad altri processi
Start = Start - 1
Loop
'NewTX "PARADISEA HA UN INVITO PER TE!" & vbCrLf
NewTX "DAL 25/11 AL 29/11 TI DEDICHIAMO IL NUOVO TRATTAMENTO DI RIGENERAZIONE PROFONDA, A EURO 25,00! VENITE A TROVARCI PRESSO IL NOSTRO NEGOZIO IN VIA VERDI 2" & vbCrLf
'NewTX "" & TestoPromo & vbCrLf
'NewTX "CONTATTACI ALLO 0571667777" & vbCrLf
NewTX "" & """" & vbCrLf
' CICLO PER RITARDARE L'INVIO TRA GLI SMS
PauseTime1 = 1 ' Imposta la durata
Start1 = 5000 ' Imposta inizio
Do While PauseTime1 <> Start1
DoEvents ' Passa il controllo ad altri processi
Start1 = Start1 - 1
Loop
conta = conta - 1
Rs1.MoveNext
Loop
----------------------------------------------------------------
Private Sub NewTX(txtString As String)
' trasmette una stringa (txtString) sulla porta seriale, dopo
' averla impacchettata in un buffer di byte
Dim BytesToBeSent As Long
Dim SentBytes As Long
Dim Buffer() As Byte
Dim i As Long
Dim fSuccess As Integer
Dim ferror As Integer
If txtString = "" Then Exit Sub
BytesToBeSent = Len(txtString)
ReDim Buffer(1 To BytesToBeSent)
For i = 1 To BytesToBeSent
Buffer(i) = Asc(Mid(txtString, i, 1))
Next i
' scrive sulla porta seriale; in particolare, imposta a 0 (NULL)
' l'ultimo parametro della WriteFile, poiche' la comunicazione
' sara' sincrona (non overlapped)
fSuccess = WriteFile(hCom, Buffer(1), BytesToBeSent, SentBytes, 0)
If fSuccess = 0 Then MsgBox "Errore in Tx"
If (fSuccess <> 0) And (SentBytes = BytesToBeSent) Then
FlushFileBuffers (hCom)
Else
ferror = Err.LastDllError
' gestione errore
End If
End Sub