gpt4 book ai didi

vba - 将当前电子邮件中的附件保存到派生文件夹。

转载 作者:行者123 更新时间:2023-12-04 06:58:47 26 4
gpt4 key购买 nike

我正在这里寻找一个起点,所以恐怕没有代码可以发布!

我希望(如果可能)能够在 Outlook 中打开一封电子邮件(以正常方式,从前端),然后单击一个按钮来运行一个宏,该宏将从该电子邮件中提取附件并保存它们到目录路径(从主题派生)。

听起来可行吗?

欢迎任何指针,链接代码片段!

最佳答案

好的,我已经保存到本地文件夹并从消息中删除。我还没有设计出按钮,但我相信这不是世界上最难的事情......

所以我会查看 Attachment Methods 上的 VBA 文档。 ,特别是 SaveAsFile 上的那个,因为它有一个完整的例子,我用来测试事情。可用的两种方法正是您需要的方法:

SaveAsFile


Delete

但是由于 VBA 使任何事情都不简单,因此使用这两行需要另外 15 行。

还有一个非常棒的网站叫 outlookcode.com .站点管理员是 VBA/Outlook 向导,如果他们在论坛上坐了一天以上,她将亲自回答您的问题(不是保证,只是我的经验)。该站点充满了源代码和其他人的代码等。

以下是我写的内容,以尝试您的想法,基于我添加了删除方法的 MSDN 示例,使其成为一键保存/删除:
Sub getAttatchment()
Dim myInspector As Outlook.Inspector
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments

Set myInspector = Application.ActiveInspector
If Not TypeName(myInspector) = "Nothing" Then
If TypeName(myInspector.CurrentItem) = "MailItem" Then
Set myItem = myInspector.CurrentItem
Set myAttachments = myItem.Attachments
If myAttachments.Item(1).DisplayName = "" Then
Set myAttachments.Item(1).DisplayName = myAttachments.Item(1).FileName
End If
myAttachments.Item(1).SaveAsFile Environ("HOMEPATH") _
& "\My Documents\" & myAttachments.Item(1).DisplayName
myAttachments.Item(1).Delete
Else
MsgBox "The item is of the wrong type."
End If
End If
End Sub

请注意,原始示例有一个对话框,询问用户是否确定要保存,因为它会覆盖任何具有相同名称的文件。我删除了它以简化代码。

关于vba - 将当前电子邮件中的附件保存到派生文件夹。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com