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
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


0