Outlook2016 を Python から制御してみる (2)
前回の実験で、デフォルトの受信フォルダにはアクセスできました。
今回は、その他のフォルダへのアクセスを試してみます。
受信フォルダ配下のフォルダ一覧を調べてみる
まず最初に、Outlook を使って、受信トレイ配下に "folderA, B, C" の3つのフォルダを作ってみました。
方法1: ループで回して、すべてを表示する。
受信トレイ配下のフォルダ一覧は、『受信トレイ』の "Folders" を順にアクセスすることで、取得することができました。
: inbox = mapi.GetDefaultFolder(win32com.client.constants.olFolderInbox) for f in inbox.Folders: print(f.Name) ------------------------------- folderA folderB folderC
方法2: フォルダ名が事前に分かっていれば、直接フォルダ名を指定する。
フォルダ名が事前に分かっていれば、直接フォルダ名を指定することで、目的の子フォルダへアクセスできました。
: inbox = mapi.GetDefaultFolder(win32com.client.constants.olFolderInbox) f = inbox.Folders['folderB'] print(f.Name) ------------------------------- folderB
では、 "folderD" というのが存在するか? というのは、どうやって調べるのでしょう?
そこは、まだ勉強不足で分からなかったので、try ~ except を利用しました。
: inbox = mapi.GetDefaultFolder(win32com.client.constants.olFolderInbox) try: f = inbox.Folders['folderD'] print('folderDは存在する') expect: print('folderDは存在しない')
受信フォルダ配下に、新しいフォルダを作成する。
新しいフォルダの追加は、 "Add()" を使うようです。
inbox.Folders.Add('folderD')
folderD が作られました。