【发布时间】:2018-02-06 12:32:42
【问题描述】:
我正在尝试使用以下代码更新其中一个数据框中可用的电子邮件类别。
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
i = 0
for message in messages:
try:
message.Categories = output.iat[i,2]
except:
message.Categories = 'No Category'
i = i + 1
以下脚本用于将更新的电子邮件从收件箱移动到另一个文件夹,然后删除到收件箱
donebox = outlook.GetDefaultFolder(6).Folders[20]
def delay(time):
for j in range(time):
j=j+1
i = 0
while (messages.Count > 0):
print(i,messages.Count)
message = messages.GetLast()
message.Move(donebox)
delay(1000000)
i = i + 1
messages = donebox.Items
i = 0
while (messages.Count > 0):
print(i,messages.Count)
message = messages.GetLast()
message.Move(inbox)
delay(1000000)
i = i + 1
在 Outlook 更新后的电子邮件输出数据框中的类别仅在选择电子邮件后才可见。是否有任何选项可以刷新 Outlook 和类别将自动更新。请指教。
【问题讨论】:
-
我找到了一些解决方案,但不确定它是否更有效,我已将电子邮件从收件箱移动到另一个文件夹,然后我将这些电子邮件删除到原始收件箱文件夹,然后我能够查看更改电子邮件中的类别。我在原始问题中添加了其他脚本。