No sé si a alguien más le ha pasado que cuando envia como adjunto archivos .xlsx por correo usando nuestra ya conocida función de harbour estos NO se pueden abrir en la bandeja del destinatario, en cambio si se envian con el formato .xls se abren perfectamente sin ningún problema.
Aquí nuestro ya conocido código para envio de correo:
Code: Select all
PROC EnviarCorreoCompras
LOCAL cFecHoy := DTOC(GetFecServ())
LOCAL cSubject := 'CONSOLIDADO - REPONER + QUEBRADOS '+cFecHoy
LOCAL cBody := ''
LOCAL cPopServer := "mail.miempresa.com.pe"
LOCAL cSMTPServer := "mail.miempresa.com.pe"
LOCAL cSMTPPassWord := "mipassword"
LOCAL cFrom := "eflores@miempresa.com.pe"
LOCAL cUser := "eflores"
LOCAL aTo := {'compras1@miempresa.com.pe','compras2@miempresa.com.pe'}
cBody := 'Remito la lista de reposición diaria y lista de quebrados al '+cFecHoy+;
REPL(chr(13)+chr(10),10)+;
'SisComFar'+chr(13)+chr(10)+;
'Sistema automático de informes'
cAdj1 := RUTA_TEMPS+'Reposicion_Diaria'+SYS_XLS // PUBLIC SYS_XLS := IF( SYS_XLSAVE = 56 , '.XLS' , 'XLSX' )
cAdj2 := RUTA_TEMPS+'Quebrados'+SYS_XLS //
aFiles := { cAdj1 , cAdj2 }
lRespuesta := hb_SendMail( ;
cSMTPServer,; // Servidor
25 ,; // Puerto
cFrom,; // From
aTo,; // To
NIL ,; /* CC */
NIL ,; /* BCC */
cBody ,; // Body
cSubject ,; // Subject
aFiles ,; // aFiles attached
cFrom ,; // User (obligatorio)
cSMTPPassword,; // Pass (obligatorio)
cPopServer,; // POP Server (obligatorio)
3 ,; /* nPriority */
.F. ,; /* lRead */
.F. ,; /* lTrace */
.T. ,; /* lPopAuth */
.F. ,; /* lNoAuth */
NIL ,; /* nTimeOut */
NIL ,; /* cReplyTo */
.F. ,; /* lTLS */
cSMTPPassWord )
IF lRespuesta = .F.
RobotTrack('ERROR : No se pudo enviar el correo a compras.')
ENDIF
RETURN
Esta es la porción de código que graba el excel, SYS_XLSAVE es una public que puede valer 0 ó 56 actualmente lo estoy usando con 56 para que grabe con formato .xls:
Code: Select all
IF SYS_XLSAVE = 56
oExcel:ActiveWorkbook:SaveAs( cExcelNam2 , 56 ) // Para grabar en formato .XLS
ELSE
oExcel:ActiveWorkbook:SaveAs( cExcelNam2 ) // Graba en formato .XLSX en Office 2013/2016
ENDIF
oWorkBook:Close()
oExcel:Quit()
oHoja := NIL
oWorkBook := NIL
oExcel := NIL
RELEASE oHoja
RELEASE oWorkBook
RELEASE oExcel
Espero sus comentarios al respecto, saludos a todos y que tengan un excelente día.
Att.