我正在寻找 Outlook(2003)脚本。
我需要的: 我想将邮箱 A(通过 PC)中的所有电子邮件转发到邮箱 B(通过手机)。问题是:只有当我向邮箱 A 发送“请求”时,此规则才会运行。
我做了什么: 我在 Outlook 2003 中创建了两条规则。
规则 1- 此规则将所有电子邮件从邮箱 A 转发到邮箱 B。此规则有效,但不是自动的(仅当我按下“运行规则”按钮时才运行)。我只想在“需要时”接收电子邮件。
规则 2- 我在 Outlook 中创建了第二条规则。当邮箱 A 收到一封以“get_mail”为邮件主题的邮件时,此规则(自动)启动。
我的目标: 我想要规则2启动一个脚本。显然,这个脚本应该运行规则1。
结果: 来自邮箱 A 的所有电子邮件都被转发到邮箱 B。
背景: 我的目标是在上下班途中用手机阅读工作邮件。通过从手机向 PC 发送电子邮件(邮件主题为 get_mail),我的 PC(邮箱-A)会将所有邮件转发到我的手机(邮箱-B)。
使用 VBA 可以实现吗?代码应该是什么样子的?我没有编写脚本的经验,但我对 PC 和软件很在行。所以当有人提供代码时我应该能够安装它。
(附言无法简单地在我的手机上安装 pop/imap 帐户)
答案1
是的,可以让一条规则触发另一条规则。以下是适用于 Outlook 的 VBA 程序,应该可以运行:
Sub RunRuleToForwardEmail(MyMail As MailItem)
Dim st As Outlook.Store
Dim myRule As Outlook.Rule
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rule
Set myRule = st.GetRules("change_this_to_whatever_the_the_name_of_rule1_is") 'change this line
myRule.Execute
End Sub
请记住更改此文本:change_this_to_whatever_the_the_name_of_rule1_is
。
保存 Outlook VBA 项目后,编辑规则 2 的操作。然后,您应该能够在选项列表中选择上述脚本。