我正在尝试自动创建一堆Outlook规则。我正在使用Python
2.7,win32com和Outlook2007。为此,我必须创建一个新的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_
使用comtypes.client
代替,win32com.client
您可以执行以下操作:
import comtypes.client
o = comtypes.client.CreateObject("Outlook.Application")
rules = o.Session.DefaultStore.GetRules()
rule = rules.Create("Python rule test", 0 ) # 0 is the value for the parameter olRuleReceive
condition = rule.Conditions.Subject # I guess MessageHeader works too
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
move.__MoveOrCopyRuleAction__com__set_Enabled(True) # Need this line otherwise
# the folder is not set in outlook
move.__MoveOrCopyRuleAction__com__set_Folder(foo_folder) # set the destination folder
rules.Save() # to save it in Outlook
我知道不是用win32com.client,也不是用IronPython!
我有以下代码: 我想删除脚本,我尝试使用c: set与不同的范围,但它不起作用。是否可以使用JSTL标签设置请求属性? 我试过了,但没有成功: 而且还 之后有一个包括: 显然,在包含的JSP中,请求属性不可见。
问题内容: 使用Gradle执行JUnit 5测试时,我找不到如何设置系统属性。标准任务可以配置如下: 但是,任务似乎没有这种选择。 问题答案: 更新: 请注意,JUnit团队开发的JUnit Platform 1.2中已弃用,而在1.3中不再使用。请在Gradle 4.6或更高版本中切换到Gradle的标准任务。详细信息在这里。 正如我在这里提到的,如果您仍然使用过时的话,可以像这样设置系统属性
问题内容: 这段代码返回一个错误:AttributeError:无法设置属性这真的很遗憾,因为我想使用属性而不是调用方法。有谁知道为什么这个简单的例子不起作用? 问题答案: 这是你想要的吗? 取自http://docs.python.org/library/functions.html#property。
问题内容: 配置 : Spring 2.5,Junit 4,Log4j 从系统属性中指定log4j文件位置 在运行时,使用-D java选项设置系统属性。一切都很好。 问题/我需要什么: 在单元测试时,未设置系统属性,并且文件位置未解析。 App使用Spring,想简单地配置Spring以 设置 系统属性。 更多信息: 要求仅用于配置。无法引入新的Java代码或IDE中的条目。理想情况下,Spri
我想根据“配置文件”设置注释的值。 让我举个例子来解释; 在上面的例子中,我们可以看到活动的“配置文件”是PROD,但是假设我们想要使用DEV配置文件,我们将不得不注释来自PROD的@Table注释,并取消注释DEV@Table注释。 如果这只针对一个实体,那不会是一个问题,但我有很多实体都有这种情况,所以我不认为这是处理这种即兴“简介”的方式。 你知道有什么办法可以解决这种情况吗?
例如,我有一个bean类 我想设置这个属性的值。 在Xml配置中,我可以 我如何实现同样的事情,即设置属性的值使用Java注释?现在我已经读到,我们可以使用@Value注释使用一些属性文件,但它不能不使用属性文件,做的方式,我通过xml文件?或者使用属性文件是必要的? 我可以通过包含
了解在 Dreamweaver 中如何使用文本属性检查器应用 HTML 格式或 CSS 格式。 可以使用文本属性检查器应用 HTML 格式或层叠样式表 (CSS) 格式。应用 HTML 格式时,Dreamweaver 会将属性添加到页面正文的 HTML 代码中。应用 CSS 格式时,Dreamweaver 会将属性写入文档头或单独的样式表中。 注意:在创建 CSS 内联样式时,Dreamweave