Boa tarde!!
Veja se ajuda.
Você pode ter apenas uma variável ao invés de (Fname, StrFile).
Cuidado ao apontar o diretório, eu recomendo fazer uma cópia de reserva dentro de um diretório a parte.
Sub AleVBA_26270()
Dim ws As Worksheet
Dim Fname As String
Dim mess_body As String, StrFile As String, StrPath As String
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next
'Cuidado com os nomes(para a variável >>> Fname) das guias, para mais informações leia:
'https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Fname = "C:UsersalevbaDownloads" & ws.Name
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Fname, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False
Next ws
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
'Altere esse caminho
StrPath = "C:UsersalevbaDownloads"
With MailOutLook
.BodyFormat = olFormatRichText
.To = "alevba@gmail.com"
.Subject = "Assunto..."
.HTMLBody = "Corpo do email..."
'Verifica as exteções .pdf
StrFile = Dir(StrPath & "*.pdf*")
Do While Len(StrFile) > 0
.Attachments.Add StrPath & StrFile
StrFile = Dir
Loop
'.DeleteAfterSubmit = True
'.Send 'Caso for enviar, descomentar essa linha e comentar a linha debaixo
.Display
End With
MsgBox "Relatórios enviados", vbOKOnly
'Deleta os arquivos dentro do diretório
On Error Resume Next
Kill "C:UsersalevbaDownloads*.pdf*"
On Error GoTo 0
End Sub
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 13/10/2017 10:23 am