2016-05-17 1 views
0

Я написал код, который разбивает отчет, заполненный поставщиками, в отдельные отчеты для каждого провайдера, а затем записывает их в папку на моем рабочем столе, которая будет отправлена ​​по электронной почте поставщикам. Теперь я хотел бы добавить код, который автоматически отправил бы по электронной почте этих поставщиков для меня, но позволил бы мне сначала взглянуть перед отправкой. Вот мой старый код.Код VBA для отправки по электронной почте выбора с листа на поставщика

Sub VendorSeperate() 

    Application.DisplayAlerts = False 

    wb1 = ActiveWorkbook.Name 


    SaveFolder397 = Format(Now(), "mm.dd.yy hh mm ss AM/PM") 
    SaveFolder400 = "C:\Users\johndoe\Desktop\Test\" & SaveFolder397 

    On Error Resume Next 
    MkDir SaveFolder400 
    On Error GoTo 0 



    [A2].Select 
    ActiveWindow.FreezePanes = True 

    batchdate = Format(Cells(2, 1), "mm.dd.yy") & " Sent " & Format(Now(), "mm.dd.yy") 


    LR1 = Columns(1).Find("*", SearchDirection:=xlPrevious).Row 

    For I = 2 To LR1 + 2 


     If Cells(I, 1) = "" And Cells(I - 1, 1) <> "" Then 

       providername = Trim(Cells(I - 1, 7)) 
       ActiveSheet.Copy 
       Cells.AutoFilter Field:=7, Criteria1:="<>*" & providername & "*", Operator:=xlAnd 
       Rows("2:" & LR1 + 100).SpecialCells(xlCellTypeVisible).Delete 
       Cells.AutoFilter 
       ActiveWindow.ScrollColumn = 1 
       ActiveWindow.ScrollRow = 1 
       ActiveWorkbook.SaveAs Filename:=SaveFolder400 & "\JD2.0 " & providername & " Ck Batch Date " & batchdate & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
       ActiveWorkbook.Close 
       Workbooks(wb1).Activate 


     End If 


    Next I 

End Sub 
+0

Что у вас есть до сих пор для отправки части? – Moosli

+0

Прошу ввести код для отправки по электронной почте. – findwindow

ответ

1

Это действительно простой код для отправки электронной почты с Outlook. Может быть, это может вам помочь.

Sub mail() 
Dim OutApp As Object 
Dim OutMail As Object 

Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 

On Error Resume Next 
With OutMail 
    .to = "[email protected]" 
    .CC = "" 
    .BCC = "" 
    .Subject = "Subject line" 
    .Body = "Email text." 
    .Attachments.Add ActiveWorkbook.FullName 
    .Display 
End With 
On Error GoTo 0 

Set OutMail = Nothing 
Set OutApp = Nothing 

End Sub 
+0

.Attachments.Add ActiveWorkbook.FullName Это часть, которую я искал, так как отчет поставщика является активной книгой, прежде чем ее сохранить и закрыть и вернуться к исходному отчету. – KnowMeNot

+0

@KnowMeNot: вы приветствуете – Moosli

Смежные вопросы