Hi,
I am having trouble with a macro to export two sheets and attached to an email.
I have two tabs that I need to attach to an email to number of email address' (addresses' can be in cells A1,A2,A3 etc.). I can have the tab names to attach also in cells if needs be. Ideally I would the sheets to copy their current display settings (rows and columns are filtered).
I have the below code from a previous project that attaches a pdf copy and send to email address in a certain cell, but I am having trouble adapting to this task.
Any assistance anyone can provide is very much appreciated.
Thanks,
Pad
I am having trouble with a macro to export two sheets and attached to an email.
I have two tabs that I need to attach to an email to number of email address' (addresses' can be in cells A1,A2,A3 etc.). I can have the tab names to attach also in cells if needs be. Ideally I would the sheets to copy their current display settings (rows and columns are filtered).
I have the below code from a previous project that attaches a pdf copy and send to email address in a certain cell, but I am having trouble adapting to this task.
VBA Code:
Sub AttachActiveSheetPDF()
Dim IsCreated As Boolean
Dim i As Long
Dim PdfFile As String, Title As String
Dim OutlApp As Object
' Not sure for what the Title is
Title = Range("B10")
' Define PDF filename
PdfFile = ActiveWorkbook.FullName
i = InStrRev(PdfFile, ".")
If i > 1 Then PdfFile = Left(PdfFile, i - 1)
PdfFile = PdfFile & "_" & ActiveSheet.Name & ".pdf"
' Export activesheet as PDF
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, FileName:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
' Use already open Outlook if possible
On Error Resume Next
Set OutlApp = GetObject(, "Outlook.Application")
If Err Then
Set OutlApp = CreateObject("Outlook.Application")
IsCreated = True
End If
OutlApp.Visible = True
On Error GoTo 0
' Prepare e-mail with PDF attachment
With OutlApp.createitem(0)
.Subject = CStr(Range("A8").Value)
Dim Mailadress As String
Mailadress = CStr(Range("B40").Value)
.to = Mailadress
.CC = ""
.Body = "Dear " & ActiveSheet.Range("B34 ").Value & " " & ActiveSheet.Range(" C34").Value & "," & vbLf & vbLf _
& "Please find attached document from *****." & vbLf & vbLf _
& "Should you have any questions or queries, do not hesitate to contact theoffice." & vbLf & vbLf _
& "Kind regards," & vbLf & vbLf _
& Application.UserName & vbLf & vbLf
.Attachments.Add PdfFile
.Attachments.Add "****Y:\TERMS AND CONDITIONS etc....****.pdf"
On Error Resume Next
.Display
Application.Visible = True
If Err Then
MsgBox "E-mail was not sent", vbExclamation
Else
MsgBox "E-mail successfully Exported to Outlook. Remeber to press send!", vbInformation
End If
On Error GoTo 0
End With
Kill PdfFile
If IsCreated Then OutlApp.Quit
Set OutlApp = Nothing
End Sub
Any assistance anyone can provide is very much appreciated.
Thanks,
Pad