首页 > 解决方案 > 创建电子邮件,附件上传后保存到草稿

问题描述

以下代码遍历文件夹,创建带有附件的电子邮件并保存到草稿。

Public Sub saveFileTodownload()

    Set draftItems = Outlook.Session.Folders("My Email").Folders("Drafts").Items

    strFile = Dir("d:\ga\localsdk\")

    Do While Len(strFile)
        Debug.Print strFile
        Set mail = draftItems.Add("IPM.NOTE")
        mail.Subject = "1downloadme" & Count
        mail.Attachments.Add ("d:\ga\localsdk\" & strFile)
        mail.Save
        strFile = Dir
    Loop

End Sub

我需要等到附件完全上传然后调用保存。

有什么办法可以等到附件上传完毕。

注意:如果我调试它并在该行后等待一分钟Attachment.Add,附件已上传并且保存工作。

标签: vbaoutlook

解决方案


用户93865

我测试了你的代码,它对我有用(没有错误消息)。但是,如果有很多附件上传,它会卡住。

你可以试试这段代码:

Public Sub saveFileTodownload()
Dim store As Outlook.store
Dim space As Outlook.NameSpace
Dim folder As Outlook.folder
Set space = Outlook.Application.GetNamespace("MAPI")
Set store = space.DefaultStore
Set folder = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDrafts)
Set Item = folder.Items.Add("IPM.NOTE")
Item.Subject = "1downloadme"
Item.Body = "one"
Dim r As Long
r = 0
Do While r < 100
Item.Attachments.Add ("C:\Users\temp\Desktop\notes\abd.docx")
r = r + 1
Loop
'Item.Display
Item.Save
Item.Close
End Sub

推荐阅读