首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用vba创建规则以将已发送的项移动到文件夹?

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

Stack Overflow用户
提问于 2018-01-31 20:59:56
回答 2查看 584关注 0票数 1

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

我已经完成了大部分代码(从Microsoft代码示例中提取),但是我不知道条件字段应该得到什么。我知道这是不对的(在这种类型的对象中没有".sender“这样的东西),但是我不知道我应该把什么放在那里。ToOrFromRuleCondition上只有七个属性(应用程序、类、ConditionType、已启用、父级、收件人和会话),它们都不处理发送方。

在以下守则中:

  • colRules,objRuleSend是Outlook.Rules对象
  • objToCondition是Outlook.ToOrFromRuleCondition
  • RuleName是一个只有字母的字符串。
  • Address是一个具有name.name@company.com格式的字符串变量。
代码语言:javascript
运行
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-31 21:11:41

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

票数 1
EN

Stack Overflow用户

发布于 2019-03-13 08:38:07

这应该能行

代码语言:javascript
运行
复制
Set colRules = Application.Session.DefaultStore.GetRules()
Set objRuleSend = colRules.Create(RuleName & "Send", olRuleSend)

Set objToCondition = objRuleSend.Conditions.SentTo
With objToCondition
  .Enabled = True
  .Recipients.Add Address ' <-- this is the line that is fixed.
  .Recipients.ResolveAll
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48551325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档