Excel - Envío de Email

 
Vista:
sin imagen de perfil

Envío de Email

Publicado por Fco. Javier (2 intervenciones) el 12/04/2017 08:00:08
Hola a todos y gracias de antemano a quien pueda ayudarme.

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, no aparece ningún error en tiempo de ejecución, pero no envía el correo.

Podría alguien decirme si ve algún fallo??

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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

Gracias por la ayuda, saludos.
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
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Envío de Email

Publicado por Andres Leonardo (1583 intervenciones) el 12/04/2017 17:41:34
Esto funciona si tienes un perfil de outlook cargado en la maquina donde se ejecuta

esto lo tinees??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar