Macro para enviar por gmail una hoja de excel

Me ayudan con lo siguiente, ahora necesito que una hoja de excel sea enviada pero no outlook, si no por el correo de gmail, la macro de outlook si me sirve, pero ahora requiero enviar correos por gmail usando macros.

Excelente página y también la contestación de los expertos

1 Respuesta

Respuesta
2

Te anexo la macro, de igual forma cambia la “hoja1” por el nombre de tu hoja que quieras enviar, en estos datos tienes que poner tu usuario de gmail y password

    correo = "[email protected]"

    passwd = "pwd"

Sub EnviarHoja()
'Por.Dante Amor
    hoja = "Hoja1"
    correo = "[email protected]"
    passwd = "pwd"
    '
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    ruta = ThisWorkbook.Path & "\"
    nombre = Sheets(hoja).Name
    Sheets(hoja).Copy
    ActiveWorkbook.SaveAs Filename:=ruta & nombre & ".xlsx"
    ActiveWorkbook.Close False
    '
    Dim Email As CDO.Message
    '
    Set Email = New CDO.Message
    Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
    Email.Configuration.Fields(cdoSendUsingMethod) = 2
    With Email.Configuration.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465)
        .Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(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
    End With
    With Email
        .To = "[email protected]"
        .From = correo
        .Subject = "Asunto del correo"
        '.TextBody = "Cuerpo del coreo"
        .AddAttachment ruta & nombre & ".xlsx"
        .Configuration.Fields.Update
        On Error Resume Next
        .Send
    End With
    If Err.Number = 0 Then
        MsgBox "El mail se envió con éxito"
    Else
        MsgBox "Se produjo el siguiente error: " & Err.Number & " " & Err.Description
    End If
    Set Email = Nothing
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas