SMS ALGUEM AJUDA?

FABRICIOWEB 13/01/2016 10:41:31
#456075
Ola estou enviando o sms através de um modem ate então tudo ok mas quando coloco acentos ae não vai alguém pode me ajudar e também como enviar para mais de um numero


On Error Resume Next
MSComm1.CommPort = Me.Caption
MSComm1.Settings = [Ô]9600,N,8,1[Ô]
MSComm1.Handshaking = comRTS
MSComm1.RTSEnable = True
MSComm1.DTREnable = True
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = [Ô]AT[Ô] & vbCrLf
MSComm1.Output = [Ô]AT+CMGF=1[Ô] & vbCrLf
MSComm1.Output = [Ô]AT+CMGS=[Ô] & Chr(34) & Trim(Text4.Text & Cmbno.Text) & Chr(34) & vbCrLf
MSComm1.Output = Mid([Ô]Ola! [Ô] & Text1.Text & [Ô] [Ô] & txtSubject.Text & [Ô] [Ô] & txtrastreio.Text, 1, 160) & Chr(26)
MSComm1.PortOpen = False
Sleep 6000
List1.AddItem [Ô] Menssagem Enviada [Ô] & Text1.Text & [Ô] [Ô] & Cmbno.Text & [Ô][Ô]
KURTGU 13/01/2016 10:59:32
#456076
Se nao me engano sms nao aceita acentos ou posso estar enganado, para fazer varios envios faca um loop, em uma lista indo de linha em linha...
ANDPAG 13/01/2016 18:53:36
#456102
Evite usar acentuação, cada carácter com acento consome mais de 1 [Ô]dígito[Ô] no texto, por exemplo, se enviar André conta com 7 digitos agora se enviar Andre vai contar os 5 dígitos mesmo.
Outro detalhe se for fazer um loop para enviar vários SMS você vai precisar dar um tempo acada ciclo de envio, por exemplo: No meu sistema fiz um monitor que enviar 1 SMS a cada 2 segundos depois que for uma leva de 5 SMS eu dou um intervalo de 30 segundos ou mais. Deu para entender? Envio 5 entre cada SMS uma pausa de 2 segundos e a cada 5 SMS uma pausa maior de 30 segundos. é necessário fazer isso senão o número do Chip da operadora cai na BlackList, que é uma lista de SPAMS utilizado pelas operadoras para detectar SMS de lote, os caras só liberam envio em massa de 1000 SMS por vez por aqueles sistemas pagos que são registrados pelas operadoras em que cada SMS sai 25 centavos.
Se tiver mais alguma duvida é só postar para nós.
Outra dica utiliza o HyperTerminal para testar os comandos e envios depois você implementa no seu codigo fica mais facil na minha opinião.

Abs.
FABRICIOWEB 13/01/2016 19:20:43
#456103
Ola vlw vcs por ajudarem aqui, acabei optando por texto sem acentuação msm o loop deu certo aqui mas acabei que fiz tudo em 6 segundos por sms
me da um envio de 600 por hora são mil a cada semana 4 totalizando o mes inteiro mas acho que vai dar certo... vlwwww
ANDPAG 13/01/2016 20:37:46
#456106
Aqui vai a função de envio que eu uso.
Na linha que tem --> [Ô]1799[Ô] & Mid(sFone, 3, Len(sFone) - 2) <-- você muda para o seus numeros de telefones mas o formato tem que ser sempre DDD + numero, exemplo: 17981239444

[ô]=================================================================
Public Function EnviarSmsDireto(ByRef oMsCom As MSComm, ByVal sFone As String, _
ByVal sMensagem As String, ByRef oLBL As Label) As Boolean

Dim viA As Integer
Dim vsRetorno As String
Dim vsRet() As String
Dim vsOk As String

On Error GoTo Conserta

With oMsCom
.CommPort = gsCom
.Settings = gsString
.InputLen = 0
.Handshaking = comNone
.InputMode = comInputModeText

.PortOpen = True

DoEvents

.Output = [Ô]AT+CMGS = [Ô] & Chr(34) & [Ô]1799[Ô] & Mid(sFone, 3, Len(sFone) - 2) & Chr(34) & Chr(13) & Chr(10)
.Output = sMensagem & Chr(26)

Sleep 5000

vsRetorno = .Input
vsRet = Split(vsRetorno, vbCrLf)

For viA = LBound(vsRet) To UBound(vsRet)
If Trim(vsRet(viA)) = [Ô]OK[Ô] Then
psModemRetorno = [Ô]OK[Ô]
Exit For
Else
psModemRetorno = [Ô]N[Ô]
End If
Next viA

.PortOpen = False
End With

EnviarSmsDireto = True

Exit Function

Conserta:
MsgBox Err.Number & [Ô] - [Ô] & Err.Description, [Ô]Erro...SMS...(Fucn.EnviarSmsDireto)[Ô] & [Ô] [Ô] & sFone
End Function

[ô]================================================
Tópico encerrado , respostas não são mais permitidas