Excel 2007 , tengo conflicto con una macro para enviar mail por gmail

Esta misma macro me funciona en otro libro, pero cuando cree un libro nuevo usando la misma macro del libro que me funciona me tira el siguiente error "ERROR DE COMPILACIÓN NO SE HA DEFINIDO EL TIPO DEFINIDO POR EL USUARIO"

Y SE FRENA EN : Dim Email As CDO. Message

¿Dejo pegada la macro acá quizás( no puedo copiar toda la macro aca me da error?

Sub GuardarEnviarGmail()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
'Por.Dante Amor
    'Enviar por GMAIL
    Dim Email As CDO.Message
    '
    Set h2 = l1.Sheets("MAIL")
    correo = h2.Range("D9").Value
    passwd = h2.Range("D11").Value
    '
    Set Email = New CDO.Message
    Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
    'Email.Configuration.Fields(cdoSMTPServer) = "smtp.mail.yahoo.com"
    'Email.Configuration.Fields(cdoSMTPServer) = "smtp.live.com"
    'Email.Configuration.Fields(cdoSMTPServer) = "smtp-mail.outlook.com"
    Email.Configuration.Fields(cdoSendUsingMethod) = 2
    With Email.Configuration.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
        '.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465)
        '.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(587) ' hotmail
        '.Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(1)
        .Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = correo
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = passwd
        '.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
        .Update
    End With
    With Email
        .To = h2.Range("D16").Value & ";" & h2.Range("D18").Value & ";" & h2.Range("D20").Value & ";" & h2.Range("D22").Value
        .From = correo
        .Subject = nomb
        .TextBody = Range("G15").Value
        .AddAttachment rut2 & "\" & nomb & ".xls"
        .Configuration.Fields.Update
        On Error Resume Next
        .Send
    End With
    If Err.Number = 0 Then
        MsgBox "Hoja Guardarda y enviada por gmail", vbInformation, "CREAR CARPETA Y GUARDAR HOJA"
    Else
        MsgBox "Se produjo el siguiente error: " & Err.Number & " " & Err.Description
    End If
    Set Email = Nothing
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowSorting:=True, AllowFiltering:=True
          'se vuelve a habilitar la macro CHANGE de la hoja
    Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
End Sub

1 respuesta

Respuesta
1

Realiza lo siguiente en el menú de VBA. Entra a Herramientas, Referencias y busca la Referencia "Microsoft CDO for Windows 2000 Library; y activa la casilla.

Si es lo que necesitas, recuerda valorar la respuesta.

¡Gracias! Recién hoy pude ver tu respuesta una consulta el orden tiene que ser ese, porque

microsoft cdo for windows 2000 library al agregarlo me aparece en ultimo lugar y no lo puedo subiar.

¿No pasa nada si lo tengo así?

No importa el orden.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas