vba - MS Outlook VBA 通过身份验证将电子邮件附件上传到 Sharepoint
问题描述
我仍然是使用 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)’:无法保存附件。文件名或目录名无效。”
我认为可能的原因是我上传到的共享点每次访问时都需要用户名和密码。我使用不需要登录凭据的相同代码尝试了另一个共享点,它工作得很好。我似乎找不到解决方法,我将不胜感激!
解决方案
传递给SaveAsFile方法的路径不能由 URL 字符串或网络位置表示。您需要指定一个本地文件夹,您可以从该文件夹开始上传文件。Outlook 对象模型不提供将文件上传到任何 Web 服务器的任何功能,因此您必须自己完成。为了让它工作,我建议开发一个 COM 加载项。例如,基于 VSTO 的加载项构建在 .net 框架之上,可以使用 BCL 类来处理。请参阅演练:为 Outlook 创建您的第一个 VSTO 外接程序以快速入门。
推荐阅读
- dialogflow-es - 使用多个响应在 Dialogflow 中构建响应
- excel - 为特定单元格打开突出显示宏
- ios - Xcode iOS Notability “缩放框”
- javascript - 如何在 Fancybox 3 中使用 Plyr for vimeo?
- python - 无法正确打印 CSV 列
- azure - Azure 上的静态 HTML 站点;500.19 错误;无法读取配置部分“customerrors”...缺少部分声明
- swift - Swift Codable:嵌套对象错误后继续解析对象
- node.js - 提交两次相同请求时 HTTP 标头出错
- java - 合并列表中的多个 JObject - Json4s
- .net - 如果文件尚不存在,如何使用 Nuget 和 nuspec 文件添加文件