2014-10-02

Enviar objeto de Access por correo electrónico

Title En Ms Access con la acción SendObject (enviar objeto) podemos enviar objetos de la base de datos por correo electrónico: tablas, consultas, informes, formularios o módulos.

Macro

En la macro en Vista Diseño seleccionamos dicha acción y completamos los argumentos correspondientes:

2007

2010-13

Los argumentos de la macro tienen un límite de 255 caracteres en todas las versiones. Una limitación importante en el caso del texto del mensaje y de los destinatarios (Para, Cc, Cco). Si queremos sortearla, creamos el código en VBA (en el apartado siguiente) o guardamos la macro como código VBA y lo editamos.

VBA

En Visual Basic, la sintaxis es:

DoCmd.SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

Si dejamos todos los argumentos en blanco, nos abrirá un correo electrónico sin mensaje u objeto adjunto.

DoCmd.SendObject 
Si completamos el tipo de objeto y el nombre del mismo, pero dejamos en blanco el formato de resultados, nos preguntará por el mismo al ejecutar el código.

DoCmd.SendObject acQuery, "Consulta1"
Para sobrepasar el límite de los 255 caracteres escribimos el texto correspondiente en cada argumento rodeado de comillas. Para dividir una cadena de texto demasiado larga en mitad de un argumento, cerramos las comillas y usamos el carácter & seguido de _. La continuación del argumento irá entrecomillada también, como en el siguiente ejemplo:

Sub EnviarObjeto()
DoCmd.SendObject acTable, "Tabla1", acFormatXLS, "usuario1@destino.com; usuario2@destino.com;" & _
"usuario3@destino.com"
End Sub

Referencias:
Método DoCmd.SendObject (Access)

No hay comentarios:

Publicar un comentario

Nube de datos