¿Como adjuntar varios archivos en un e-mail desde Excel con una macro?

Ahora mismo tengo un código que me permite adjuntar el archivo Excel que tengo abierto a un e-mail convertiéndolo en pdf, lo que necesitaría a parte de adjuntar dicho archivo poder seleccionar otros archivos desde un cuadro de dialogo para poderlos adjuntarlos al mismo correo.

Os adjunto el código que uso ahora:

Application.ScreenUpdating = False
Application.DisplayAlerts = False
des = Range("A1")
Set h2 = ThisWorkbook
wpath = ThisWorkbook.Path & "\"
Nombre = h2.Name
Sheets("edicion").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=wpath & Nombre & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Set dam1 = CreateObject("outlook.application")
Set dam2 = dam1.createitem(olmailitem)
dam2.to = ""
dam2.cc = ""
dam2.Subject = "" 
dam2.Body = ""
dam2.Attachments.Add wpath & Nombre & ".pdf"
dam2.display
DoEvents
Kill wpath & Nombre & ".pdf"
DoEvents

Set OutMail = Nothing
Set OutApp = Nothing

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro actualizada.

Sub EnviarCorreo()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    des = Range("A1")
    Set h2 = ThisWorkbook
    ruta = h2.Path & "\"
    Nombre = h2.Name
    Sheets("edicion").ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & Nombre & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    '
    'seleccionar archivos
    Set dam = CreateObject("outlook.application").createitem(0)
        dam.To = ""
        dam.Cc = ""
        dam.Subject = ""
        dam.Body = ""
        dam.Attachments.Add ruta & Nombre & ".pdf"
        With Application.FileDialog(msoFileDialogFilePicker)
            .Title = "Seleccione uno o varios archivos"
            .Filters.Clear
            .Filters.Add "Todos los archivos", "*.*"
            .AllowMultiSelect = True
            .InitialFileName = ruta
            If .Show Then
                For Each ar In .SelectedItems
                    dam.Attachments.Add ar
                Next
            End If
        End With
        dam.display
    Set dam = Nothing
    '
    Kill ruta & Nombre & ".pdf"
End Sub

PERFECTO!!! Muchas gracias Dante, una última cosa, cual sería el código para guardar, esos mismos archivos que he seleccionado y adjuntado al e-mail, en una ruta específica llamada X.

¿Cómo guardar?

Es decir, ¿ya los tienes en un ruta y quieres copiarlos a otra ruta?

Crea una nueva pregunta y me comentas lo que quieres hacer, en el desarrollo de la pregunta escribe "para Dante Amor"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas