En mi programa emito un presupuesto por impresora pero ahora necesito agregar la opcion de enviarlo por correo electronico , como lo puedo hacer en VFP 5.0 . Si tengo que migrar a otra version no hay problemas
Respuesta de falvarez
1
1
falvarez, VFP 7.0 y anteriores (6 años). Solamente soluciones de...
Usa la siguiente rutina: Local pcPara, pcAsunto, pcCuerpo, paFichEnviar, plMostrarDialogo IF EMPTY(pcPara) pcPara = "direccion@de_correo.es" ENDIF IF EMPTY(pcAsunto) pcAsunto = "<Asunto>" ENDIF IF EMPTY(pcCuerpo) pcCuerpo = "" ENDIF IF EMPTY(paFichEnviar) paFichEnviar = "" ENDIF LOCAL oform oform = CreateObject("form") oform.addobject("Session1","olecontrol","MSMAPI.mapiSession") IF TYPE('oform.Session1') <> 'O' MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención') RELEASE oform RETURN .F. Endif Oform. Addobject("Message1","olecontrol","MSMAPI.mapiMessages") IF TYPE('oform.Message1') <> 'O' MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención') RELEASE oform RETURN .F. ENDIF oform.Session1.LogonUI = .t. *- Si no se pone la propiedad a .F. y en OUTLOOK está puesto trabajar sin conexión *- se cuelga oform.Session1.DownloadMail=.f. oform.Session1.signon oform.Message1.sessionid = oform.Session1.sessionid oform.Message1.compose oform.Message1.RecipDisplayName = pcPara oform.Message1.msgsubject = pcAsunto oform.Message1.msgnotetext = pcCuerpo *- Si no es un array, lo crea IF TYPE('paFichEnviar[1]') = 'U' LOCAL lcFileEnviar lcFileEnviar = paFichEnviar DIMENSION paFichEnviar(1) paFichEnviar(1) = lcFileEnviar ENDIF LOCAL lnContFiles lnContFiles = 1 FOR lnCount = 1 TO ALEN(paFichEnviar,1) *- Si existen los archivos IF FILE(paFichEnviar(lnContFiles)) oform.Message1.AttachmentIndex = lnContFiles - 1 oform.Message1.AttachmentPathName = paFichEnviar(lnContFiles) oform.Message1.AttachmentPosition = lnContFiles - 1 lnContFiles = lnContFiles + 1 ENDIF ENDFOR oform.Message1.send(plMostrarDialogo) Oform. Session1. Signoff Release oform SUERTE.-