|
Responder
|
| Autor | |
crowler
Nuevo
Unido: 25/Junio/2024 Localización: España Estado: Sin conexión Puntos: 10 |
Tema: Envío correo con botón desde FormularioEnviado: 26/Junio/2024 a las 11:27 |
|
Buenas tardes. Tengo un Access ensamblado donde se cargan Registros.
Estoy intentando automatizar el envío de un correo mediante un botón. Este correo tiene: mails de destino fijos, asunto fijo y un cuerpo de mail fijo, al cual se le deben agregar dos valores de dos campos del formulario (DNI Y NOMBRE) Creé una tabla extra donde cargué los Mails, el Asunto y el Cuerpo del mail. También tengo el codigo VBA para el envío del mail, pero lo que no logré resolver es cómo indicar al código que, antes de enviar el correo, tome los dos registros y los cargue al cuerpo del mail, ya que debe informarse el DNI y NOMBRE del registro activo. Tener en cuenta que cada mail tendrá sólo estos dos registros, no deberá tomar varios registros ni nada por el estilo, seria un mail con DNI y NOMBRE (además del cuerpo de mensaje fijo). No puedo adjuntar capturas porque me arroja error, pero espero haber sido claro. Muchas gracias!! |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 26/Junio/2024 a las 16:38 |
|
Aquí sabemos de Access en mayor o menor medida, pero en lo de adivinar somos una panda de negados.
O pones el código que usas o nadie te va a poder responder. Además de poner el código, describe en detalle el proceso que realizas, cuantos más datos des más posibilidades tienes de recibir ayuda. Editado por Mihura - 26/Junio/2024 a las 16:39 |
|
![]() |
|
crowler
Nuevo
Unido: 25/Junio/2024 Localización: España Estado: Sin conexión Puntos: 10 |
Enviado: 27/Junio/2024 a las 08:09 |
|
Hola! Vale, disculpas!
Ayer comencé a investigar y en el Generador de macros encontré una acción llamada EnviarPorCorreoObjetoDeBaseDeDatos. Me venía perfecto para lo que deseo hacer, incluso la testeé y pude enviar un correo, el problema que estoy teniendo ahora es enviar el correo sin que obligatoriamente envíe un objeto adjunto (txt, tabla, form, etc.). Googleé y me topé con este tema del foro de Microsoft. Tengo exactamente el mismo problema que el usuario y por lo que veo nadie supo darle respuesta: https://answers.microsoft.com/en-us/msoffice/forum/all/microsoft-access-macro/ac9aa453-08ba-46e5-92e9-6bfa8b93b4fd En mi escritorio local tengo la versión 2208 de Access 365 y en el entorno donde trabajo la v2308. En el escritorio local puedo ejecutar la macro y no me obliga a enviar adjunto, es decir, funciona ok, en cambio en la del entorno (más nueva entiendo, ya que es 2308) me pasa exactamente lo mismo que al usuario del foro de Microsoft, me obliga a enviar un adjunto cuando incluso en la Ayuda el mismo Access te dice que dejando vacíos los campos de objeto debería enviar un mail sin adjunto. Sabes si puede ser un bug sin solución o podrá haber alguna solución? Por otra parte, si no encuentro solución a resolverlo mediante el Generador de macros, el código que tengo es el siguiente:
Private Sub btnEnvio_Click() If EnvioEmail Then MsgBox "MENSAJE ENVIADO", vbInformation, "Aviso" Call Limpiar End If End Sub Private Function EnvioEmail() As Boolean On Error GoTo ManipulaError Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem If Me.TxtDireccion <> "" Then Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) With oMail .To = Me.TxtDireccion .Subject = Nz(Me.TxtAsunto, "") .Body = Nz(Me.TxtMensaje, "") .Importance = olImportanceHigh .Send End With Set oApp = Nothing EnvioEmail = True Else MsgBox "ESPECIFIQUE UNA DIRECCION DE CORREO ELECTRONICO", vbExclamation, "Aviso" Me.Lista.SetFocus End If Salir: Exit Function ManipulaError: MsgBox Err.Number & " : " & Err.Description End Function Private Sub Limpiar() Me.Lista = Null Me.TxtAsunto = Null Me.TxtDireccion = Null Me.TxtMensaje = Null End Sub |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 27/Junio/2024 a las 10:16 |
|
De macros no te puedo decir nada ... no las uso
.El código tiene pinta de que te funcionará bien.
|
|
![]() |
|
crowler
Nuevo
Unido: 25/Junio/2024 Localización: España Estado: Sin conexión Puntos: 10 |
Enviado: 27/Junio/2024 a las 11:28 |
|
Si, debería funcionar, pero me falta agregar lo que pongo en el primer mensaje del tema: que el cuerpo del mensaje tome el valor de estos dos registros del formulario, ya que el mail debe decir, por ejemplo:
"buenos dias solicito informar el siguiente DNI "Campo1" y nombre "Campo2"". ¿Sabes como puedo lograr eso? |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 27/Junio/2024 a las 15:12 |
|
¿Desde dónde lanzas ese comando? ... ¿tienes los campos que necesitas en el formulario?, si no los tienes puedes acceder a ellos mediante un recordset o un dlookup.
|
|
![]() |
|
crowler
Nuevo
Unido: 25/Junio/2024 Localización: España Estado: Sin conexión Puntos: 10 |
Enviado: 27/Junio/2024 a las 15:14 |
|
Ya pude solucionarlo, la macro me quedó de la siguiente forma. Pueden cerrar el tema. Gracias!
Private Sub btnEnvio_Click()
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |