** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Guardar un mesnaje Outlook como pdf
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoGuardar un mesnaje Outlook como pdf

 Responder Responder Página  12>
Autor
Mensaje
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Tema: Guardar un mesnaje Outlook como pdf
    Enviado: 27/Noviembre/2018 a las 13:50
Hola a todos.

Trato de enviar correos outlook desde Access.
Lo hago todo bien, pero quisiera guardar el mensaje como pdf y no lo consigo.

A ver si alguien sabe qué pasa.

Set objOutlook = CreateObject("Outlook.Application")
Set objItem = objOutlook.createitem(olMailItem)
                 
With objItem
.Display
.Subject = "" & TempVars!AsuntoCorreo & ""
.BodyFormat = 2 'olFormatHTML
"<body>" & _
"<p> Aquí el cuerpo del correo </p></body></html>"
'Lo guardo
.SaveAs TempVars!RutaFicheros & "Prueba" & ".pdf"
'Lo envío
.Send
End With

Set objOutlook = Nothing

Lo envía bien y guarda el pdf donde quiero pero luego dice que no puede abrirlo.
Gracias.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 27/Noviembre/2018 a las 14:02
Perdón. Se me olvidó decir que utilizo Access y Outlook 2013.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11214
Enlace directo a este mensaje Enviado: 27/Noviembre/2018 a las 14:32
Un correo electrónico no se puede guardar como PDF desde Outlook, por lo menos en 2.010.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 10:27
Hola Jesús.
Sí ya lo sé.
Yo lo que hago es imprimirlo con la impresora virtual Microsoft Print to PDF, pero no se hacerlo con código.

Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5328
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 11:38
Un Saludo.
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 12:52
Gracias Mounir.

Ya los había visto pero no soy capaz de adaptarlos, entre otras cosas, porque mi Access no reconoce muchos de los comandos que aparecen y porque no soy muy hábil, claro.

Sigo buscando.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 13:02
Por ejemplo se para aquí y no encuentro cómo sustituirlo:
    
Set MyOlNamespace = Application.GetNamespace("MAPI")
    Set MyOlSelection = Application.ActiveExplorer.Selection

Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5328
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 13:21
En el caso de VBA, la aplicación apunta a una instancia del objeto Access.Application, por lo que debe crear e inicializar explícitamente el objeto Outlook.Application:

1-
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Set MyOlNamespace = olApp.getnamespace("MAPI")


2- https://docs.microsoft.com/en-us/office/vba/api/outlook.application.activeexplorer

Editado por mounir - 28/Noviembre/2018 a las 13:22
Un Saludo.
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 13:54
Veo que no voy a poder.
Ahora se para aquí:
    
'Determine el FilterIndex para guardarlo como un archivo pdf
    ' Obtenga todos los filtros
    Dim fdfs As FileDialogFilters
    Dim fdf As FileDialogFilter
    Set fdfs = dlgSaveAs.Filters

Dice que no se ha definido el tipo definido por el usuario ????
En fin. Te agradezco tu interés. No pierdas más el tiempo conmigo.



Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11214
Enlace directo a este mensaje Enviado: 28/Noviembre/2018 a las 15:19
Una cosa es guardar como ... y otra imprimir. LOL

Para imprimir lo primera tendrás que seleccionar la impresora correspondiente, en el foro hay ejemplos de como hacerlo (o en la página de Happy) y una vez que lo tengas el segundo paso es imprimir el mensaje.

Para imprimir el mensaje tendrás que hacerlo por automatización, referenciar Outlook como librería, abres una instancia Outlook (una aplicación), seleccionas el mensaje y lo imprimes.

Todo ello con VBA. Wink


Editado por Mihura - 28/Noviembre/2018 a las 15:20
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 29/Noviembre/2018 a las 12:21
Hola, sigo molestando.

Me estoy intentado construir el códido con los enlaces de mounir y cuando llego a esta parte en la que trato de abrir word y a través del cuadro de diálogo para "guardar como" (sin mostrarlo) y poder guardar el fichero que ya tengo generado como .mht, como .pdf, da error de automatización en la última línea donde se utiliza "msoFileDialogSaveAs".

He visto por la red que msoFileDialogSaveAs no se puede utilizar en Access, solo en Excel.

¿Me podéis decir si es cierto? y, en tal caso, ¿cómo puedo sustituirlo?.

También he visto que más adelante se declaran unas variables con unos tipos que mi Access no reconoce:

    Dim fdfs As FileConverters
    Dim fdf As FileConverter

¿Me podéis decir con qué tipos tengo que sustituirlos?
Gracias.


[CODE ]
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim dlgSaveAs As FileDialog

Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(FileName:=tmpFileName, Visible:=False)
Set dlgSaveAs = wrdApp.FileDialog(msoFileDialogSaveAs)
[\CODE]
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5328
Enlace directo a este mensaje Enviado: 29/Noviembre/2018 a las 13:07
Un Saludo.
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 29/Noviembre/2018 a las 14:14
Bueno no sé qué es API.
He cogido el código del primer enlace y vuelve a pararse en la misma línea.

Set wskazMiejsce = Application.FileDialog(msoFileDialogSaveAs)

El segundo enlace es muy complicado.
Creo que me falta alguna librería o algo así.

Yo utilizo para mostrar el cuadro de diálogo para seleccionar archivos, la función "FileDlg" de Happy.
La descargué hace muchos años y, sorprendentemente, me ha funcionado siempre. Estoy intentando adaptarla (no creo que lo consiga).

En cualquier caso ya he conseguido generar el fichero .mht, ahora se trata de guardarlo como .pdf  sin que muestre el cuadro de dialogo de guardar, que lo haga automáticamente.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5328
Enlace directo a este mensaje Enviado: 29/Noviembre/2018 a las 16:41
Hola!

Debes referenciar la librería "Microsoft Office 16.0 Object Library" Es para Access 20116.

Mas información sobre FileDialog.
Un Saludo.
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 574
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 09:14
Ya comenté que tengo Access 2013.
Tengo Activadas las siguientes referencias, no sé si me faltará alguna:

"Visual Basic For Applications"
"Microsoft Access 15.0 Object Library"
"OLE Automation""
"Microsoft Access 15.0 Access database engine Object Library"
"Microsoft Word 15.0 Object Library"
"Microsoft Outlook15.0 Object Library"
"Microsoft Excel15.0 Object Library"
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable