我正在尝试自动创建一堆 Outlook 规则。我正在使用 Python 2.7、win32com 和 Outlook 2007。为此,我必须创建一个新的 Rule 对象并为其移动操作指定一个文件夹。但是,我无法成功设置 Folder 属性——尽管我给出了正确类型的对象,它仍然保持为 None 。
import win32com.client
from win32com.client import constants as const
o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
rules = o.Session.DefaultStore.GetRules()
rule = rules.Create("Python rule test", const.olRuleReceive)
condition = rule.Conditions.MessageHeader
condition.Text = ('Foo', 'Bar')
condition.Enabled = True
root_folder = o.GetNamespace('MAPI').Folders.Item(1)
foo_folder = root_folder.Folders['Notifications'].Folders['Foo']
move = rule.Actions.MoveToFolder
print foo_folder
print move.Folder
move.Folder = foo_folder
print move.Folder
# move.Enabled = True
# rules.Save()
印刷
<win32com.gen_py.Microsoft Outlook 12.0 对象库.MAPIFolder 实例位于 0x51634584> 没有任何 没有任何
我查看了makepy
在非动态模式下使用 win32com 时生成的代码。该课程在其字典中_MoveOrCopyRuleAction
有一个条目,但除此之外我很难过。'Folder'
_prop_map_put_