Control activex no puede crear el objeto

Utilizo la función que os copio para enviar emails desde access. Al principio funcionaba bien, pero desde hace un tiempo me salta el error 429 control activex no puede crear el objeto. En otros pcs funciona bien, en el que tengo la aplicación no (windows 10).

He probado todo lo que he visto por la red con regsvr32 ... Para volver a registrar bibliotecas DAO y sigue sin funcionar.

Intento referenciar DAO en VBA y me dice que el nombre entra en conflicto con un modulo, proyecto...

He probado a reparar Office 2007, y nada.

No se ya que hacer, ¿alguien puede ayudarme? Gracias

Este método utilizo:

Public Sub SendEMail(ByVal aSubject As String, ByVal aRecipients As String, Optional ByVal aBody As String = "", Optional ByVal aAttachments As String = "", Optional ByVal aRootPath As String = "")

Dim myO As Outlook.Application
Dim mobjNewMessage As Outlook.MailItem
Dim sRecipient, sAttachment, sDisplayName As String
Dim iMarker, iMarker2 As Integer
On Error GoTo Error_SendEMail
Set myO = CreateObject("Outlook.Application")
Set mobjNewMessage = myO.CreateItem(olMailItem)
mobjNewMessage.Subject = aSubject
mobjNewMessage.Body = aBody
Do
iMarker = InStr(1, aRecipients, ";", vbTextCompare)
If iMarker = 0 Then
sRecipient = aRecipients
Else
sRecipient = Mid(aRecipients, 1, iMarker - 1)
aRecipients = Mid(aRecipients, iMarker + 1)
End If
If Len(sRecipient) <> 0 Then mobjNewMessage.Recipients.Add sRecipient
Loop While iMarker <> 0
Do
iMarker = InStr(1, aAttachments, ";", vbTextCompare)
If iMarker = 0 Then
sAttachment = aAttachments
Else
sAttachment = Mid(aAttachments, 1, iMarker - 1)
aAttachments = Mid(aAttachments, iMarker + 1)
End If
If Len(sAttachment) <> 0 Then
iMarker2 = InStr(1, sAttachment, "***", vbTextCompare)
If iMarker2 <> 0 Then
sDisplayName = Mid(sAttachment, iMarker2 + 3)
sAttachment = aRootPath + Mid(sAttachment, 1, iMarker2 - 1)
If StrComp(Dir(sAttachment), "", vbTextCompare) <> 0 Then mobjNewMessage.Attachments.Add sAttachment, , , sDisplayName
Else
If StrComp(Dir(aRootPath + sAttachment), "", vbTextCompare) <> 0 Then mobjNewMessage.Attachments.Add aRootPath + sAttachment
End If
End If
Loop While iMarker <> 0
mobjNewMessage.Send
Exit_SendEMail:

Set mobjNewMessage = Nothing
Set myO = Nothing
Exit Sub

Error_SendEMail:
MsgBox Err.Description, , "Send Mail Error"
Resume Exit_SendEMail
End Sub

1 Respuesta

Respuesta
1

Miguel: Así por encima no creo que DAO tenga que ver en éste caso, que dicho sea de paso MIcrosoft hace tiempo que incorporó >>

Microsoft Office xx. 0 Access Database Engine Object Library, que sustituyó al DAO3.6 y que posiblemente al querer refererenciar éste entra en conflicto con el otro que ya tengas referenciado.

Donde pongo xx es una variable que depende de la Versión de Access

Asegura lo siguiente:

1.- Evidentemente el que tengas Outlook instalado

2.- Que tengas referenciado >>Microsoft Outlook xx.0 Object Library.

Un saludo >> Jacinto

Hola, si tengo instalado y referenciado Outlook. Ya te digo que he estado usándolo hasta hace unos días. Y efectivamente tengo también referenciado Microsoft Office xx. 0 Access Database Engine Object Library

por eso no se que puede estar pasando.....

Miguel: La verdad es que si tienes esas referencias, no sé de donde pueda venir.

Como sugerencia quita el control de errores (basta con que comentes las líneas)

´´´´

'On Error GoTo Error_SendEMail

...

...

'Error_SendEMail:
'MsgBox Err.Description, , "Send Mail Error"
'Resume Exit_SendEMail

Con eso miras la línea en la que te marca el amarillo.

Lo más probable es que sea >> myO As Outlook. Application

Lo único que se me ocurre es que la cambies por >> myO As Object

Mis saludos >> Jacinto

Nada, he probado a cambiar myO As Outlook.Application, por lo que me dices y nada.

El error me lo marca en :

Set myO = CreateObject("Outlook.Application")

Imaginaba que el tema no iba por ahí: Entonces solo me queda insistir en que no basta que tengas el Outlook instalado, sino que además hayas referenciado >> Microsoft Outlook xx.0 Object Library.

Si la tienes referenciada en Herramientas >> Referencias, sinceramente no sé de donde puede venir el fallo. Saludos >> Jacinto

nada, he probado a reinstalar OFFICE 2007 desde cero y sigue igual.....

gracias de todas formas

Bueno Miguel: Siento no haber podido ayudarte, pero entiendo que debo insistir de nuevo.

Aparte de haber reinstalado Access, en la BD que motiva el problema >> ¿Realmente has Referenciado la Librería de Outlook?.

Además si no tienes datos Confidenciales/Personales en esa BD y quieres enviármela a >> [email protected] le puedo dar una mirada. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas