2017-05-25 113 views
0

我創建了Excel文件,並且希望在Outlook電子郵件中附加相同的文件而不保存excel文件。一旦它被保存在文件夾中,我就可以附加文件,但我不想將它保存在任何地方。請協助。VBA附加Excel文件而不保存

Dim wkb As Workbook 
Dim wkb1 As Worksheet 

Set wkb = Workbooks.Add 
Set wkb1 = Worksheets(1) 
wkb1.Name = "Training Tracker" 

Dim OutApp As Object 
Dim OutMail As Object 

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

    With OutMail 
     .To = Sheet5.Range("B2").Value 
     wkb.Activate 
     .Attachments.Add (ActiveWorkbook) 
     .Display 
    End With 

回答

0

您需要在某處保存一份副本才能發送它。你可以做的是將其副本保存到臨時文件夾。該文件夾被操作系統定期清除,不會干預用戶文件夾(在Windows上不可用mac)

Dim wkb As Workbook 
Dim wkb1 As Worksheet 

Set wkb = Workbooks.Add 
Set wkb1 = Worksheets(1) 
wkb1.Name = "Training Tracker" 

Dim OutApp As Object 
Dim OutMail As Object 

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

With OutMail 
    .To = Sheet5.Range("B2").Value 
    wkb.Activate 
    wkb.SaveCopyAs Environ("temp") & "\TempFileName.xls" 
    .Attachments.Add (Environ("temp") & "\TempFileName.xls") 
    .Display 
End With