python outlook calendar_Python读取Outlook的日历

本文介绍了如何使用Python的pywin32模块在Windows环境下连接Outlook,读取并过滤日历中的会议预订记录。通过GetDefaultFolder获取Calendar文件夹,使用Find和Restrict方法进行条件筛选,以及解决读取共享日历的授权问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司的会议预订系统使用Outlook,要读取这些预订记录传到部署在阿里云的数据库。Exchange服务器没办法从外网访问,就在内网某台机器上写了一个脚本,定时执行,来从Outlook中读取日历上的预订记录。

模块:pywin32 (http://sourceforge.net/projects/pywin32/)

环境:Windows 2008 + Outlook 2013 + Python 2.7.8

Filder & Items

因为从来没做过Windows开发,所以先看了一遍文档,主要的概念是Folder(https://msdn.microsoft.com/EN-US/library/ff866772.aspx)。

所以其实就是要读取Outlook中名为Calendar的Folder,要获得会议预订记录,取出Folder的Items进行迭代就可以了:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import datetime

import win32com.client

namespace = win32com.client.Dispatch('Outlook.Application').GetNamespace('MAPI')

if __name__ == '__main__':

calendar = namespace.GetDefaultFolder(9)

for item in calendar.Items:

print(item.Subject)

获取一个Namespace对象 (https://msdn.microsoft.com/EN-US/library/office/ff869368.aspx),Calendar是默认的Folder,所以使用了GetDefaultFolder这个方法。Folder是层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值