Enviar cita a calendario Outlook desde formulario ACCESS

Necesito saber de que manera puedo enviar por correo citaciones e invitaciones que se agenden en el calendario Outlook del destinatario del mensaje desde un formulario Access donde se cargará la fecha de dicha citación en un campo.

Respuesta
1

Si que lo es yo uso ese código y me funciona bien solo configura una cuenta en el outlook de tu pc y desde esa cuenta saldrá tus citas reunión le llega a su correo y a su calendario se agrega como una reunión puede mandarlo a uno o más correos

Private Sub CmdEnviar_Click()

Dim outMail As Outlook.AppointmentItem

Set outMail = Outlook.CreateItem(olAppointmentItem)

outMail.Subject = Forms![FrmCitas]![TxtCliente]
outMail.Location = Forms![FrmCitas]![txtLocation]
outMail.MeetingStatus = olMeeting

'Si este es un evento de todo el día, entonces la Fecha de inicio será igual a la Fecha de finalización
'De lo contrario, se aplica la fecha / hora de inicio normal y la fecha / hora de finalización
If Me![chkAllDay] = -1 Then
outMail.Start = Forms![FrmCitas]![FechaInicio]
outMail.End = Forms![FrmCitas]![FechaInicio]
outMail.AllDayEvent = True 'Establece el indicador de evento de todo el día en verdadero
Else
outMail.Start = Forms![FrmCitas]![FechaInicio] & Space(1) & Forms![FrmCitas]![HoraInicio]
outMail.End = Forms![FrmCitas]![FechaFin] & Space(1) & Forms![FrmCitas]![HoraFin]
End If

'Utiliza el cuadro de texto oculto para calcular para qué se debe configurar el recordatorio (minutos, horas, días, semanas)
'Todo debe convertirse en minutos
Select Case Forms![FrmCitas]![txtInterval]
Case "Minutes"
outMail.ReminderMinutesBeforeStart = Me![cmboReminderIntervals]
Case "Hours"
outMail.ReminderMinutesBeforeStart = Me![cmboReminderIntervals] * 60
Case "Days"
outMail.ReminderMinutesBeforeStart = (24 * Me![cmboReminderIntervals]) * 60
Case "Weeks"
outMail.ReminderMinutesBeforeStart = (24 * 60) * (7 * Me![cmboReminderIntervals])
Case Else
outMail.ReminderMinutesBeforeStart = 0
End Select
outMail.RequiredAttendees = Forms![FrmCitas]![CorreoProfecional] 'Direcciones de correo electrónico de los asistentes requeridos
If Not IsNull(Forms![FrmCitas]![Correo]) Then
outMail.optionalAttendees = Forms![FrmCitas]![Correo] 'Direcciones de correo electrónico de los asistentes a la opción
End If
outMail.Body = Forms![FrmCitas]![Nota] 'El cuerpo de la cita.
outMail.ReminderSet = True 'Enciende los recordatorios
outMail.Send

MsgBox "Su solicitud de cita ha sido enviada", vbInformation, "PROCESO COMPLETO"

Set outMail = Nothing
DoCmd.Close
End Sub

1 respuesta más de otro experto

Respuesta
2

Oscar: Mira si quieres éste enlace que lo explica bien y tiene el Código de como hacerlo.

http://www.devhut.net/2017/01/15/vba-add-appointment-to-outlook-calendar/ 

Un saludo >> Jacinto

Oscar: El código que hay en el enlace que te he enviado, no lo he probado personalmente, aunque supongo que funcionará bien.

Un código que si he probado es el de un ejemplo de Neckkito que está en éste enlace.

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/95-ejemplos-explicados/ejemplos-de-codigo/138-exportar-citas-a-outlook 

Un saludo >> Jacinto

Hola Jacinto, los códigos guardan la cita en mi calendar, pero también necesito enviarlo vía e-mail a las personas que invitaré a dicha cita, ¿esto es posible?

Oscar: Como ya tendrás los elementos en el Formulario, mira el método DoCmd. SendObject

https://msdn.microsoft.com/es-es/library/office/ff197046.aspx 

Un saludo >> Jacinto

Te entiendo Jacinto, pero lo que necesito es que al recibir el correo a ellos también se les agende en sus calendar, tal como cuando se hace la invitación desde outlook.

Oscar: Por lo que yo sé, esa parte no creo que sea posible. Ahora releyendo tu pregunta original, veo que está muy claro lo que quieres y en mi primera respuesta, lo interpreté de otra manera.

Lo que si creo que se puede hacer, aunque personalmente no lo llevado a la práctica, es que el destinatario, por configuración de Outlook o por automatización pase los eMails a su agenda.

Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas