MS Outlook VBA通​​过身份验证将电子邮件附件上载到Sharepoint

时间:2018-07-03 12:51:33

标签: vba sharepoint outlook

我还是使用VBA的初学者,我一直在尝试弄清楚如何通过MS Outlook中的VBA将文件上传到Sharepoint。我尝试将Sharepoint映射到我的网络驱动器等,但无济于事。

我的代码如下:

Public Sub saveAttachSentDate(MItem As Outlook.MailItem)

Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
Dim file As String
Dim DateFormat As String

sSaveFolder = "(URL of the sharepoint along with the folder to save it on)"


For Each oAttachment In MItem.Attachments
DateFormat = Format(MItem.SentOn - 1, "mm.dd.yy ")
file = sSaveFolder & DateFormat & oAttachment.DisplayName
oAttachment.SaveAsFile sSaveFolder & DateFormat & oAttachment.DisplayName
Next

End Sub

“我的文件名”被这样标记:“ [我的部门]-(客户名)电话摘要”

我总是会收到此错误

“运行时错误'2147024735(800700a1)':无法保存附件。文件名或目录名无效。”

我认为可能的原因是我上载到的共享点每次访问都需要用户名和密码。我使用不需要登录凭据的完全相同的代码尝试了另一个共享点,并且工作正常。我似乎找不到解决方法,希望对您有所帮助!

1 个答案:

答案 0 :(得分:0)

传递给ActiveRecord::Relation#new方法的路径不能由URL字符串或网络位置表示。您需要指定一个本地文件夹,您可以从中开始上传文件。 Outlook对象模型不提供任何将文件上传到任何Web服务器的功能,因此您必须自己完成操作。为了使它正常工作,我建议您开发一个COM加载项。例如,基于VSTO的加载项构建在.net框架之上,并且可以使用BCL类进行处理。请参阅SaveAsFile以快速入门。