Enviar las hojas de un informe separadas en pdf al destinatarios de outlook

Tengo una base de datos que lleva las modificaciones de las listas de precios de mis clientes.

Necesitaría enviar por correo outlook a cada cliente su propia lista de precios en pdf desde el access.

Esto implicaría que cada hoja sea un pdf separado para cada cliente y esa hoja se envíe a una dirección de correo que también es individual de cada cliente.

¿Me podrán ayudar?

1 respuesta

Respuesta
1

Silvia: Mirate éste enlace porque trata el tema que tu buscas.

http://www.rondebruin.nl/win/s5/pdf.htm 

El Ejemplo está en Formato .xlsm

Download the example code to Create and Mail PDF files

Download a workbook with a 9 VBA code examples, file date : 21-Feb-2015

Download PDF-Examples.zip

In the workbook you find three code modules with 9 macros and 3 functions.
Note: Do not change the functions in the module named "FunctionsModule"

The macros to create a PDF in the "CreatePDF" module

Macro 1 : Create a PDF of the workbook
Macro 2 : Create a PDF of the ActiveSheet or selected sheets
Macro 3 : Create a PDF of the selection or range
Macro 4 : Create a PDF with every sheet with a specific sheet level name

Note : Read the information good in the example workbook

The macros that create and mail the PDF in the "CreatePDFMail" module

Important : The code in the example workbook is only working if you use Outlook as mail program.

Macro 1 : Create and mail a PDF of the workbook
Macro 2 : Create and mail a PDF of the ActiveSheet or selected sheets
Macro 3 : Create and mail a PDF of the selection or range
Macro 4 : Create and mail a PDF with every sheet with a specific sheet level name
Macro 5 : Create and mail a PDF of every sheet with a mail address in A1

Note : Read the information good in the example workbook

More information about mailing from Excel

Note: For much more mail code examples for Outlook visit my mail page

Ya me contarás si te ha solucionado tu tema: Jacinto

Silvia: Por supuesto que para aplicar ésa solución debes primero exportar a Excel.

Miraré si te puedo facilitar otro enlace para enviar email directo desde Access, teniendo una lista de direcciones y otra de PDF`S.

Porque los Ficheros PDF ¿Ya los tienes confecionados? :Jacinto

Silvia: Tal como te indicaba te pongo un enlace que justo hace lo que tu necesitas.

http://www.proinf.net/permalink/enviar_informes_personalizados 

Al final de la Página tienes:

6) Descargar código fuente con la base de datos de ejemplo

Descargar la base de datos EnviarInformesPersonalizados.mdb…

Ya me contarás como te ha ido: Jacinto

Muchas gracias Jacinto!!! Lo pruebo y veo!

Gracias Jacinto! ya estoy haciendo la migración a mi aplicación access. Tengo que rehacer el codigo porque mi aplicación es bastante más compleja pero y cualquier cosa te consulto.

Hola Jacinto,

He adaptado el ejemplo tuyo a mis datos pero no puedo hacer que corran, hay unas funciones Setproperty y getproperty que no puedo comprender que son las que toman el control del filtro para la consulta de a quien se lo mando.

me lo podrás ver?

como te hago llegar el archivo original y el mio? te puedo conpartir de drive o dropbox?

Me pones el enlace de cualquier servidor, lo miro y te contesto.

Creo que será mañana porque aquí ya es tarde pero facilitarme el Link y así le echo una ojeada. Además si se me ocurre alguna otra solución te la propongo:

te la dejo aca

https://drive.google.com/file/d/0B0A8NFlZtT8hVng4alUzaFQ4c0U/view?usp=sharing 

Sylvia: En una primera ojeada, veo que es lógico que no te funcione el código.

El Informe tiene como Fuente de Datos la Consulta: ConsultaInformesPedidos

SELECT PreciosActuales.IdLista, Listas.Descripcion, PreciosActuales.IdPrecioLista, PreciosActuales.Codigo, PreciosActuales.Envase, PreciosActuales.HojalataDolar, PreciosActuales.PrecioBase, PreciosActuales.PorcCalculoFinal
FROM (empleados INNER JOIN (clientes INNER JOIN pedidos ON clientes.cliente_id = pedidos.cliente_id) ON empleados.empleado_id = pedidos.empleado_id) INNER JOIN pedidos_detalles ON pedidos.pedido_id = pedidos_detalles.pedido_id, Listas INNER JOIN PreciosActuales ON Listas.IdLista = PreciosActuales.IdLista
GROUP BY PreciosActuales.IdLista, Listas.Descripcion, PreciosActuales.IdPrecioLista, PreciosActuales.Codigo, PreciosActuales.Envase, PreciosActuales.HojalataDolar, PreciosActuales.PrecioBase, PreciosActuales.PorcCalculoFinal
HAVING (((PreciosActuales.IdLista)=GetProperty("IdLista")))
ORDER BY PreciosActuales. IdLista, PreciosActuales.IdPrecioLista;

Estás citando Objetos que no tienes en tu BD

Como tengo que reestructurar los datos y adaptarlos a lo que creo que necesitas, tardaré un poco mas de lo previsto.

A lo lago de mañana o máximo pasado mañana te facilito el enlace con las modificaciones.

Si me facilitas tu eMail podré hacer pruebas sobre ese concreto y si lo recibes es que los cambios han surtido efecto.

Si no quieres ponerlo de modo compartido enviamelo a [email protected]: jacinto

Gracias mil, Jacinto. No me había dado cuenta, con el apuro que era una consulta de totales.

Sigo probando mientras espero tu respuesta

saludos

Bueno Sylvia: He intentado adecuar el Ejemplo que te recomendé a tus necesidades y el proceso es muy lento, de manera que te he adaptado un Ejemplo de Emilio Sancha, cuyos datos originales verás al abrir la BD.

http://www.mediafire.com/download/547548cjaezzlw5/EMailConOutLook.rar 

Tiene algunos elementos añadidos, como por ejemplo no poder marcar para enviar si va a generar un Informe sin Datos. Intenta marcar por ejemplo el Idlista 33 o el 39.

Espero haberte podido ser util. Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas