VBA - Abrir Correos desde Access (Error)

He estado diseñando un formularios en Access, que lista los correos que llegan a una bandeja de Outlook, y el objetivo es que desde el formulario de Access abra cada correo cuando el usuario le da un click.

Sin embargo en algunas ocasiones cuando llegan correos, con caracteres especiales en el "Subject" como lo es una coma, el aplicativo me da un error y me dice lo siguiente: No se puede analizar la condición, error en "," .

De hecho si nos llegan correos con singos de admiración (¡!) También da error.

¿Cómo puedo administrar este tipo de correos para que Access permita abrirlos?

Nota: Algo para agregar e que he detectado que los correos que empiezan con RV o RE me dan error y tengo que setearlos con un REPLACE para que el FIND los encuentre.

Desde ya agradezco su enorme ayuda.

Dim outlookApp
 Dim olMail As Outlook.MailItem
 Dim StoreCollections As Stores
 Dim StoreTarget As Store
 Set outlookApp = New Outlook.Application
 Set outlookApp = CreateObject("Outlook.Application")
Set StoreCollections = Session.Stores
  For Each StoreTarget In StoreCollections
   If StoreTarget.DisplayName = "Correo A" Then
       Dim Folder As Folder, Correos As Items, MiCorreo As MailItem, cSubject As String
       cSubject = RTrim(LTrim(Me.Asunto.Value))
       Set Folder = Session.Folders("Correo A").Folders("Bandeja de entrada")
       Set Correos = Folder.Items
       Correos.Sort "ReceivedTime", True
       Set olMail = Correos.Find("[Subject] = " & cSubject & "")
        '-- Correos que empiezan con RE:
       If (olMail Is Nothing) Then
        cSubject2 = RTrim(LTrim(Replace(cSubject, "RE: ", "")))
        Set olMail = Correos.Find("[Subject] = " & cSubject2 & "")
        '-- Correos que empiezan con RV:
       If (olMail Is Nothing) Then
        cSubject2 = RTrim(LTrim(Replace(cSubject, "RV: ", "")))
        Set olMail = Correos.Find("[Subject] = " & cSubject2 & "")
       End If
        olMail.Display
       Else
         With olMail
          .Display
         End With
       End If
   End If
  Next
  Set outlookApp = Nothing
  

Añade tu respuesta

Haz clic para o