如何使用vba创建规则以将已发送的项目移动到文件夹?

时间:2018-01-31 20:59:57

标签: vba outlook outlook-vba outlook-2016

在Outlook(2016或365)中,我想使用VBA创建一个规则来移动我发送给特定人员的项目。

我已完成大部分代码(取自Microsoft代码示例),但我无法弄清楚条件字段应该得到什么。我知道这是不对的(在这种类型的对象中没有" .sender")但我不知道我应该把它放在那里。 ToOrFromRuleCondition上只有七个属性(Application,Class,ConditionType,Enabled,Parent,Recipients和Session),并且它们都不与发件人打交道。

在下面的代码中:

  • colRules,objRuleSend是Outlook.Rules对象
  • objToCondition是一个Outlook.ToOrFromRuleCondition
  • RuleName是一个只包含字母的字符串
  • Address是一个字符串变量,其名称为name.name@company.com。
Set colRules = Application.Session.DefaultStore.GetRules()
Set objRuleSend = colRules.Create(RuleName & "Send", olRuleSend)

Set objToCondition = objRuleSend.Conditions.SentTo
With objToCondition
  .Enabled = True
  .Sender = Address ' <-- this is the line that fails.
  .Recipients.ResolveAll
End With

2 个答案:

答案 0 :(得分:1)

您可以截取Application.ItemSend事件,检查收件人是否正确,然后将MailItem.SaveSentMessageFolder属性设置为正确的文件夹。

答案 1 :(得分:0)

这应该有效

setTimeout