【问题标题】:VBA outlook script save attachments as they hit subfolderVBA Outlook 脚本在附件命中子文件夹时保存附件
【发布时间】:2021-11-14 03:37:32
【问题描述】:

这可能吗?

为了实现无纸化,与采购分类账有关,我想制定一个脚本规则,发送到子文件夹,标记为某个类别并将附件(90% 的时间 PDF)保存在某个 g:drive 中具有文件命名约定的文件夹。

子文件夹:

Direct
PO
Confirmation
Delivery Notes
Invoices
Statements

分类:

PO
Confirmation
Delivery Note
Invoice
Statement

;不需要“直接类别”

我可以使用普通的 Outlook 规则来移动到文件夹并分配类别.....有大约 30 个基于供应商名称等的独立规则可以实现这一点。

查看了一些 vba 脚本,但我是否必须有 30 个差异脚本才能标记到我当前的 30 个移动到文件夹/分配 cat 脚本。要分配单独的文件名路径?

或者我可以修改一个脚本,它知道电子邮件是否点击“发票”并将其保存到 G:\My Drive\Outlook 附件\发票

电子邮件点击它保存到 G:\My Drive\Outlook 附件\Delivery Notes 的 Delivery Notes

文件命名约定;还没想太多

收到电子邮件的日期和时间以及供应商是谁。乔博客有限公司 17.09.21 11.34am

如果有任何重复文件,也是一种标记方式 Joe Bloggs Ltd 17.09.21 11.34am (2)

非常感谢 加雷斯

【问题讨论】:

标签: vba outlook


【解决方案1】:

您可以创建一个 VBA 宏,您可以在其中订阅每个文件夹的 ItemAdd 事件,并且根据目标文件夹,您可以运行不同的代码。 ItemAdd 事件在将一个或多个项目添加到指定集合时触发。例如:

Public WithEvents myOlItems As Outlook.Items 

Private Sub myOlItems_ItemAdd(ByVal Item As Object) 
 
 Dim myOlMItem As Outlook.MailItem 
 Dim myOlAtts As Outlook.Attachments
 Set myOlMItem = myOlApp.CreateItem(olMailItem) 
 
 myOlMItem.Save 
 
 Set myOlAtts = myOlMItem.Attachments 
 
 ' Add new contact to attachments in mail message 
 
 myOlAtts.Add Item, olByValue 
 myOlMItem.To = "Sales Team" 
 myOlMItem.Subject = "New contact" 
 
 myOlMItem.Send 
 
End Sub

注意,添加的项目实例作为参数传递给事件处理程序,因此您可以提取所需的信息或附件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多