2017-05-25 106 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 
相关问题