Visual Basic - Enviar archivo xlsm por gmail

Life is soft - evento anual de software empresarial
 
Vista:

Enviar archivo xlsm por gmail

Publicado por Jorge (1 intervención) el 22/03/2022 20:03:50
Buen dia, tengo una planilla .xlsm que tengo que enviarla por gmail por medio de una macro pero me esta tirando error, les dejo el codigo si me pueden ayudar

Dim NombreArchivo As String


NombreArchivo = ThisWorkbook.Sheets("FORMULARIO").Range("C11")


'RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo
Dim attBook$
attBook = ActiveWorkbook.Path & "\" & NombreArchivo
Worksheets.Copy
If Dir(attBook) <> "" Then Kill attBook
With ActiveWorkbook
.SaveAs Filename:=attBook, FileFormat:=51
.Close False
End With

Dim Email As CDO.Message



' mail = "


Set Email = New CDO.Message
correo = "
passwd = "
destino =
copia = Range("C43").Value
mensaje = NombreArchivo
cuerpo = "Se envia planilla de alta"
archivo = attBook & ".xlsx"
'Environ("temp") & "\" & NombreArchivo & ".xlsx"
'"C:\Users\RICARDO\AppData\Local\Temp\PT10505-Bolsa 22 Kg .xlsx"
Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.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/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 = destino
.From = correo
.Subject = mensaje
.CC = copia
.TextBody = cuerpo
.AddAttachment archivo
.Configuration.Fields.Update
On Error Resume Next
.Send
End With
If Err.Number = 0 Then
MsgBox "El mail se envió con éxito", vbInformation, "Informe"
Else
MsgBox "Se produjo el siguiente error: " & Err.Description, vbCritical, "Error nro " & Err.Number

'Para liberar memoria

Set Email = Nothing

End If




Kill attBook & ".xlsx"

ThisWorkbook.Close
Savechanges = True
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder