Error de automatización en tiempo de ejecución

Tengo una macro que genera unos correos en outlook. Funciona bien pero a veces presenta el siguiente error cuando llega a la parte de la creación del correo:

Cuando le doy "Depurar" va a la parte del error, le doy F5 y sigue ejecutándose normalmente.

No siempre ocurre la anterior situación. Siempre que ejecuto la macro tengo abierto el correo de outlook. ¿Habrá alguna manera de solucionar tal situación?

1 respuesta

Respuesta
2

H o l a:

Supongo que llega un momento en que outlook está ocupado y no se puede establecer la aplicación.

Prueba con lo siguiente.

Cambia esta línea:

Set AppOutlook = CreateObject("outlook.application")

Por estas:

    Set AppOutlook = Nothing
    On Error Resume Next
    Do While True
        Set AppOutlook = CreateObject("outlook.application")
        If Not AppOutlook Is Nothing Then
            Exit Do
        Else
            MsgBox "e"
        End If
    Loop
    On Error GoTo 0

Prueba y me comentas.


':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

¡Gracias! Dante. Me funcionó perfecto. Eres el mejor. Más abajo tenía esta línea:

Set Mensaje = AppOutlook.createitem(0)

e implementé lo que me habías dicho más arriba para que no me generara error:

Set Mensaje = Nothing
On Error Resume Next
Do While True
Set Mensaje = AppOutlook.createitem(0) 'Crea un nuevo mensaje de Outlook
If Not Mensaje Is Nothing Then
Exit Do
End If
Loop

Muchas gracias.

Hola Dante. Te vuelvo a preguntar algo. Con la solución que me diste me funcionó bien pero lo había probado en paso a paso. Pero ahora cuando ejecuto todo el programa a la vez, me sale el siguiente error y no me pega el rango al correo y no me genera los otros correos que me debe crear.

¿Sabrías ayudarme con eso?

Muchas gracias.

Revisa tus datos.

Prueba con otros datos.

¿Sabes en cuál fila de excel se detuvo?

Tendría que revisar tus datos, envíame tu archivo.

¡Gracias! Mil gracias Dante. Solucioné el asunto de la siguiente forma: el asunto y una parte del texto del correo de outlook los tenía en 2 celdas COMBINADAS de Excel y al parecer no podía procesar esas celdas combinadas. Entonces cree 2 varibles para asignar el contenido de esas celdas combinadas y funcionó perfecto.

Muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas