** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Insertar un archivo HTML en cuerpo de correo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoInsertar un archivo HTML en cuerpo de correo

 Responder Responder Página  12>
Autor
Mensaje
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Tema: Insertar un archivo HTML en cuerpo de correo
    Enviado: 16/Julio/2015 a las 22:21
Hola Buen dia

Alguien me podria ayudar para insertar una imagen HTML en el cuerpo de correo con VBA, ya se como insertar una imagen jpg o png, pero en este caso es un informe de acces que a travez de una macro lo convierto en html, porque no me permite convertirlo en un archo JPGE o PNG o BMP, entonces una vez convertido en HTML necesito colocarlo en el cuerpo del correo.

Muchas gracias por su colaboración 

Feliz Tarde
Que rico es aprender cada dia mas y mas
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1870
Enlace directo a este mensaje Enviado: 17/Julio/2015 a las 09:37
¿Para enviar desde Outlook o por por ejemplo con CDO?

Saludos.
Arriba
javi_9219 Ver desplegable
Habitual
Habitual


Unido: 11/Junio/2015
Localización: BCN
Estado: Sin conexión
Puntos: 50
Enlace directo a este mensaje Enviado: 17/Julio/2015 a las 15:05
Si no me equivoco...

.HTMLbody = "<img src=RUTA DONDE SE ENCUENTRA LA IMAGEN width=nº de pixeles de ancho height=nº de pixeles de altura>"
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 17/Julio/2015 a las 15:57
Hola 

Omnipresente, es para enviar con Ms Outlook
Javi, me funciona para imagenes jpg, png, bmp, pero para archivos html no me lo reconoce Cry

Que rico es aprender cada dia mas y mas
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 29/Julio/2015 a las 00:18
coloco la función, pero cuando abre el correo me sale una X roja, que no reconoce el formato de imagen.... solo reconoce bmp, jpg, png...

Caray mucho les sabre agradecer lo que puedan ayudarme ya no se que mas hacer y googlear
Que rico es aprender cada dia mas y mas
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5479
Enlace directo a este mensaje Enviado: 29/Julio/2015 a las 01:24
Hola!

Que yo sepa no existen imágenes con formato HTML.

Lo que necesita es insertar un informe en formato HTML en el cuerpo de un mensaje.

El maestro Guarracuco tiene un ejemplo ilustrativo que es posible adaptarlo.

http://www.mvp-access.com/foro/calendario-html-desde-maccess_topic78287.html


Otro enlace en Inglés

http://www.devhut.net/2010/09/03/vba-html-outlook-automation/

Editado por mounir - 29/Julio/2015 a las 01:31
Un Saludo.
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 29/Julio/2015 a las 03:53
Gracias mounir, eso es lo que quiero insertar un informe que convierto en html con acces, en el cuerpo del correo a través de codigo.

Que rico es aprender cada dia mas y mas
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 29/Julio/2015 a las 03:53
muy interesante los enlaces, voy revisarlos con full detalle y les informare gracias
Que rico es aprender cada dia mas y mas
Arriba
willians Ver desplegable
Habitual
Habitual
Avatar

Unido: 29/Octubre/2004
Localización: España
Estado: Sin conexión
Puntos: 198
Enlace directo a este mensaje Enviado: 29/Julio/2015 a las 13:40
Teniendo en cuenta que Access report HTML no exporta las imagenes....
He aquí una posible solución:

Private Sub InsertarArchivoHtml_Click()
DoCmd.OutputTo acOutputReport, "INF PRE PPD LAG", acFormatHTML, "S:\AVISOS\PREALERTA.html", False, ""
InsertaHtml "S:\AVISOS\PREALERTA.html"
End Sub

Private Sub InsertaHtml(strFile As String)
'Necesita referencia al objeto scripting
'Microsoft Scripting Runtime
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim fso As Scripting.FileSystemObject
Dim tsTextIn As Scripting.TextStream
Dim strTextIn As String

Set fso = New Scripting.FileSystemObject
'Lee archivo html
Set tsTextIn = fso.OpenTextFile(strFile)
strTextIn = tsTextIn.ReadAll

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
    .BodyFormat = olFormatHTML
    .HTMLBody = strTextIn
    .To = "tazfem@gmail.com"
    .CC = ""
    .BCC = ""
    .Subject = "AWB/HBL " & " PRE ALERTA"
    .Display
End With

End Sub



Ancha es Castilla
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 30/Julio/2015 a las 05:56
Muchas gracias william, pero no se que estare haciendo mal, me da error en la linea

Set tsTextIn = fso.OpenTextFile(strFile)

coloque la referencia pero cuando ejecuto el proceso ( en un boton al hacer click, me arroja error en esa linea


Que rico es aprender cada dia mas y mas
Arriba
willians Ver desplegable
Habitual
Habitual
Avatar

Unido: 29/Octubre/2004
Localización: España
Estado: Sin conexión
Puntos: 198
Enlace directo a este mensaje Enviado: 31/Julio/2015 a las 08:36
scoti, a mí me funciona perfectamente. Asegúrate que "S:\AVISOS\PREALERTA.html" es la ruta correcta.
Ancha es Castilla
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 31/Julio/2015 a las 21:48
si la ruta es correcta, e estado pensando que quizas no he colocado  
Private Sub InsertaHtml(strFile As String)
'Necesita referencia al objeto scripting
'Microsoft Scripting Runtime

no se pregunto, hice la refencia, pero la linea  " Private Sub InsertaHtml(strFile As String) " , tengo que definirlo en alguna parte del boton que ejecuta la accion ???
Que rico es aprender cada dia mas y mas
Arriba
willians Ver desplegable
Habitual
Habitual
Avatar

Unido: 29/Octubre/2004
Localización: España
Estado: Sin conexión
Puntos: 198
Enlace directo a este mensaje Enviado: 31/Julio/2015 a las 22:42
Private Sub InsertarArchivoHtml_Click() es el procedimiento "Al hacer click" de un botón de comando con el nombre de "InsertarArchivoHtml".

Vale…, si te lías, ubica esta parte donde quieras
……..
DoCmd.OutputTo acOutputReport, "INF PRE PPD LAG", acFormatHTML, "S:\AVISOS\PREALERTA.html", False, ""
'Necesita referencia al objeto scripting
'Microsoft Scripting Runtime
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim fso As Scripting.FileSystemObject
Dim tsTextIn As Scripting.TextStream
Dim strTextIn As String

Set fso = New Scripting.FileSystemObject
'Lee archivo html
Set tsTextIn = fso.OpenTextFile("S:\AVISOS\PREALERTA.html")
strTextIn = tsTextIn.ReadAll

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
    .BodyFormat = olFormatHTML
    .HTMLBody = strTextIn
    .To = "tazfem@gmail.com"
    .CC = ""
    .BCC = ""
    .Subject = "AWB/HBL " & " PRE ALERTA"
    .Display
End With
……..

Ancha es Castilla
Arriba
scoti Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Septiembre/2007
Localización: Venezuela
Estado: Sin conexión
Puntos: 344
Enlace directo a este mensaje Enviado: 05/Agosto/2015 a las 04:45
Perfecto muchisimas gracias ahora si funciona, pero otra pregunta y disculpe, como puedo hacer, porque claro acces me convierte el archivo en html, y este es el que coloco en el cuerpo del correo, ahi esta OK, pero como hago par en ese cuarpo insertar un archivo de imagen, tipo firma.

Para la firma sola con un cuerpo de texto normal lo hago con la siguiente rutina, pero estoy atascada para poder insertarlo en este procedimiento, es decir que pueda colocar el html y la imagen

Esta es la rutina que utilizo para la imagen pero no se como unirlas

Dim OutMail As Outlook.MailItem
Dim MAIL
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)

TempFilePath = "S:\" & "logoscotipequeño.png"


With OutMail
    If Len(Dir(TempFilePath)) > 0 Then
     
        .Attachments.Add TempFilePath

      ' .HTMLBody = .HTMLBody & "<br><img border='0' src='indutrans.html' width='76' height='34'> "
        .HTMLBody = .HTMLBody & "<br><img border='0' src='logoscotipequeño.png' "
    End If

            .To = [Subformulario listado de house]!MAIL
            .CC = ""
            .BCC = ""
            .Subject = "AWB/HBL " & [Subformulario listado de house]!blhouse & "     PRE ALERTA"
            .HTMLBody = .HTMLBody
            .HTMLBody = "<br><img border='0' src='logoscotipequeño.png' "

Que rico es aprender cada dia mas y mas
Arriba
willians Ver desplegable
Habitual
Habitual
Avatar

Unido: 29/Octubre/2004
Localización: España
Estado: Sin conexión
Puntos: 198
Enlace directo a este mensaje Enviado: 05/Agosto/2015 a las 16:49
Aquí tienes. Espero que te sirva.
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim fso As Scripting.FileSystemObject
Dim tsTextIn As Scripting.TextStream
Dim strTextIn As String
Dim TempFilePath As String
Dim MAIL
Set fso = New Scripting.FileSystemObject
Set tsTextIn = fso.OpenTextFile(strFile)
strTextIn = tsTextIn.ReadAll

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)

TempFilePath = "S:\" & "logoscotipequeño.png"
   
With OutMail
    .BodyFormat = olFormatHTML
    '.HTMLBody = "Estimados Señores " & "<br><br>" & "Atención: Sr(a). " & "<br><br>" & "Agradecemos por favor revise nuestro anexo donde encontrará mayor detalle de la carga en cuestión." & "<br><br>" & "Quedamos a su orden para cualquier consulta." & "<br><br>" & "Saludos cordiales," & "<br>" & " TRANSPORTES INTERNACIONALES, S.A. " & "<br>"
    '.HTMLBody = .HTMLBody & "<br><br>" & strTextIn
        If Len(Dir(TempFilePath)) > 0 Then
     
            .Attachments.Add TempFilePath

            .HTMLBody = .HTMLBody & "<br><img border='0' src='logoscotipequeño.png' "
        End If

            .To = [Subformulario listado de house]!MAIL
            .CC = ""
            .BCC = ""
            .Subject = "AWB/HBL " & [Subformulario listado de house]!blhouse & " PRE ALERTA"
            '.Attachments.Add ("S:\AVISOS\PREALERTA.pdf")
            .Display
End With
Ancha es Castilla
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable