Довод "против" Envío automático de email Excel [cerrada]

Necesito hacer una macro que envíe un correo electrónico automáticamente. El problema es que parece que todo el código está bien, никакой aparece ningún ошибка en tiempo de ejecución, pero никакой envía el correo.

Podría alguien decirme СИ ve algún fallo??

    Public Sub correoeVpagsPDF() 'Envia correo electrónico con hoja activa en pdf
'***--Declaración de variables--***
Dim nfac, cliente, Email, ruta, LIBRO, ahora, ArchivoPdf As String
Dim ProgCorreo, CorreoSaliente As Object 'Objetos de outlock

With Application
    .ScreenUpdating = False 'Excel no refresca la pantalla
    .EnableEvents = False 'Deshabilita eventos
    .DisplayAlerts = False 'Deshabilita las alertas
End With

Set nfac = Range("D2") 'Nombre de la orden
Set cliente = Range("B2") 'Nombre del técnico
Set Email = Range("G3") 'Email del remitente

ruta = "E:\Para copia de seguridad\Quique\" 'Ruta para guaradar el archivo
ahora = Application.WorksheetFunction.Text(Now(), "dd.mm.yy- hh.mm") 'Consigue la fecha actual
LIBRO = nfac & "-" & cliente & "-" & ahora & ".pdf" 'nombre del pdf
ArchivoPdf = ruta & LIBRO 'ruta con el nombre del archivo incluido

'**--Objeto outlook--**
Set ProgCorreo = CreateObject("Outlook.Application")
Set CorreoSaliente = ProgCorreo.CreateItem(0)

'**--Crea el pdf con la hoja activa y lo guarda en la carpeta seleccionada--**
With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=ArchivoPdf, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
End With

On Error Resume Next

'**--Envio de email--**
With CorreoSaliente
    .To = Email 'Dirección
    .CC = "Correo@prueba" 'Copia
    .BCC = ""
    .Subject = "Envío de su factura nº " & nfac 'Asunto
    .Body = "Correo de prueba" 'Cuerpo del email
    .Attachments.Add ArchivoPdf 'Archivo adjunto. El pdf creado
    .Display 'Para ver el mensaje antes de enviarlo - para enviar sin ver Send
End With

On Error GoTo 0
'**--Se borran los objetos outlook--**
Set CorreoSaliente = Nothing
Set ProgCorreo = Nothing

With Application
    .ScreenUpdating = True 'Excel no refresca la pantalla
    .EnableEvents = True 'Deshabilita eventos
    .DisplayAlerts = True 'Deshabilita las alertas
End With

End Sub
2
задан 12.04.2017, 04:58
1 ответ

Проблема я думаю, что он уезжает, в котором не estÃ: s посылая, тебе не хватает instrucci¦n .Send. В самом деле у тебя есть в комментарии, что display это отображает, но не env¦ - в.

Пытается с этим:

With CorreoSaliente
    .To = Email
    .CC = "Correo@prueba"
    .BCC = ""
    .Subject = "Envío de su factura nº " & nfac
    .Body = "Correo de prueba"
    .Attachments.Add ArchivoPdf
    .Display
    .Send
End With
0
ответ дан 30.10.2019, 03:16
  • 1
    Спасибо Давид, уже está решенный, вдруг оно начало функционировать, я думаю, что это была проблема интранета предприятия. – Fco. Javier 12.04.2017, 02:41

Теги

Похожие вопросы