La Web del Programador: Comunidad de Programadores
 
    Pregunta:  28059 - RECIBIR FAX DESDE VBASIC
Autor:  Orestes Loprete
Hola amigos, tengo que resolver un problema con bastante urgencia, y es el siguiente:
En una aplicación tengo que llamar vía modem a un número de teléfono donde atiende un menú pregrabado, con varias opciones seleccionables por tonos.
La última opción que selecciono hace que la máquina que me atendió me envíe un fax.
Probando con un control MScomm, no tengo problema hasta que le doy la última opción seleccionada, el tema es darle señal de fax y grabarlo, con lo que me estoy rompiendo la cabeza hace rato y no encuentro la forma. Si pueden ayudarme, lo agradeceré enormemente.
Incluso no me importa si tengo que usar otros lenguajes, el tema es que mi presupuesto es demasiado bajo.

  Respuesta:  Sandra Vazquez
Tengo el problema igual tengo 4 dias intentadolo y e llegado hasta aki
Dim cadConexion As String
Dim resultado As Integer
Dim modem As String

On Error GoTo cError
Text1.Text = "Marcando..." & Chr(13)
cadConexion$ = "ATDT" + numero + Chr$(13)

MSComm1.Output = "AT+FCLASS=2.1" & Chr(13)
Duerme 300
MSComm1.InputLen = 0
Temp = MSComm1.Input
Text1.Text = Text1.Text & "OUT: " & "AT+FCLASS=2,1" & Chr(13) & " IN: " & Temp & Chr(13)

MSComm1.Output = "AT+FNR=1,1,1,1" & Chr(13)
Duerme 300
MSComm1.InputLen = 0
Temp = MSComm1.Input
Text1.Text = Text1.Text & "OUT: " & "AT+FNR=1,1,1,1" & Chr(13) & " IN: " & Temp & Chr(13)

MSComm1.Output = TxtTelLocal & Chr(13)
Duerme 300
MSComm1.InputLen = 0
Temp = MSComm1.Input
Text1.Text = Text1.Text & "OUT: " & TxtTelLocal & Chr(13) & " IN: " & Temp & Chr(13)

'Enviamos los comandos AT con el número al módem
MSComm1.Output = cadConexion$
MSComm1.InputLen = 0
Temp = MSComm1.Input
Text1.Text = Text1.Text & "OUT: " & cadConexion$ & Chr(13) & " IN: " & Temp & Chr(13)
'Esperamos a recibir "OK" desde el módem

Do
resultado = DoEvents()
' Si hay datos en el Buffer los leemos
If MSComm1.InBufferCount Then
modem$ = modem$ + MSComm1.Input
'Comprobamos si los datos leídos son "OK"
If InStr(modem$, "OK") Then
'MSComm1.Output = "prueba" & vbCr & vbLf
'Podemos indicar al usuario que descuelgue el teléfono
Exit Do
End If
End If
Loop
Text1.Text = Text1.Text & modem$
' SE PUEDE LEVANTAR LA BOCINA PARA PEDIR TONO

MSComm1.Output = "AT+FDT" & Chr(13)
MSComm1.InputLen = 0
Temp = MSComm1.Input
Text1.Text = Text1.Text & "OUT: " & "AT+FDT" & Chr(13) & " IN: " & Temp & Chr(13)

Do
DoEvents
' Si hay datos en el Buffer los leemos
If MSComm1.InBufferCount > 0 Then
modem$ = MSComm1.Input
'Comprobamos si los datos leídos son "OK"
If InStr(modem$, "CONNECT") Then
'Podemos indicar al usuario que descuelgue el teléfono
Text1.Text = Text1.Text & modem$ & Chr(13)
Exit Do
Else
If InStr(modem$, "ERROR") Then
MsgBox "EL MODEM NO RESPONDIO.", vbCritical, "FAX"
Exit Do
End If
End If
Text1.Text = Text1.Text & modem$ & Chr(13)
End If
Loop
Dim Mensaje() As Byte
Dim Texto As String
Texto = "Es un mensaje de prueba"
For i = 1 To Len(Texto)
Mensaje(i) = Chr(Mid(Texto, i, 1))
Loop
MSComm1.Input = Mensaje


yo puedo levantar el telefono y teclear el numero de la extencion por k no se k numero sera debido a k ser a muchos telefonos diferentes a donde se envie pero no se como mandar el mensaje por eso estoy ciclada