使用mailItem.Attachments.Add超出范围的索引

时间:2019-06-27 09:14:46

标签: outlook vsto

我们创建了一个Outlook加载项,以便用户可以按Outlook中的按钮并自动将pdf文件添加为附件,以节省他们在系统上尝试查找文件的时间

尝试了不同的使用mailItem.Attachments.Add的方式,但它们似乎都存在相同的问题

Private Sub OfficeAccount_Click(sender As Object, e As RibbonControlEventArgs) Handles OfficeAccount.Click

    Dim theAttachment = "http://webapps/Intranet/Home/Office/Documents/Template.pdf"

    Dim item = TryCast(Me.Context, Outlook.Inspector)
    Dim mailItem = TryCast(item.CurrentItem, Outlook.MailItem)

    mailItem.Attachments.Add(theAttachment, , , "Template")

    Marshal.ReleaseComObject(mailItem)

End Sub

通常会添加附件,但有时会停止添加附件,并说索引超出范围。

然后它也停止允许正常添加附件,并显示相同的错误消息

1 个答案:

答案 0 :(得分:0)

附件的来源可以是文件(由带有文件名的完整文件系统路径表示)或构成附件的 Outlook项目

>

您需要在本地下载文件,然后从硬盘驱动器附加文件。

Sub AddAttachment() 
 Dim myItem As Outlook.MailItem 
 Dim myAttachments As Outlook.Attachments  
 Set myItem = Application.CreateItem(olMailItem) 
 Set myAttachments = myItem.Attachments 
 myAttachments.Add "C:\Test.doc", olByValue, 1, "Test" 
 myItem.Display 
End Sub