Windows10 64bit PCにて、Python3.6.8 64bit を用いて、Outlook2016のメールを仕分けしたく、
以下のサイトを参考にプログラミングを作成いたしました。
リンク内容
しかし、受信トレイにある会議開催通知にて、必須出席者と任意出席者が全て「受信者」となり、
それぞれの仕分けが行えません。
また、「cc」の部分でエラーが生じてしまいます。
python
1#ステップ1|ライブラリ 2from openpyxl import load_workbook 3import win32com.client 4import datetime 5import os 6 7#ステップ2|所定フォルダ内の「Book1.xlsm」を指定して読み込む 8filepath = 'C:/Users/user/Outlook_Book1.xlsx' 9wb = load_workbook(filename=filepath) 10ws1 = wb['データ'] 11 12#ステップ3|集計範囲の取得 13startdate=ws1['B2'].value 14enddate=ws1['B3'].value 15 16#ステップ4|Outlookの情報を取得 17outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 18inbox = outlook.GetDefaultFolder(6) 19messages=inbox.Items 20 21#ステップ5|Outlookのt添付ファイル保管用フォルダの作成 22now=datetime.datetime.now() 23foldermake=now.strftime("%Y/%m/%d %H:%M:%S") 24foldermake = foldermake.replace("/","-") 25foldermake = foldermake.replace(":","-") 26foldermake = foldermake.replace(" ","-") 27newfolder_path = 'C:/Users/---/Outlook_'+foldermake 28os.makedirs(newfolder_path) 29 30#ステップ6|Outlookの情報を取得 31a=0 32for message in messages: 33 RT=message.ReceivedTime 34 hiduketime = datetime.datetime(RT.year ,RT.month, RT.day, RT.hour, RT.minute, RT.second) 35 if startdate <= hiduketime <= enddate: 36 # カウント 37 ws1.cell(row=7+a, column=1).value = a+1 38 # 件名 39 ws1.cell(row=7+a, column=2).value = str(message.Subject) 40 # 日時 41 ws1.cell(row=7+a, column=3).value = hiduketime 42 # 送信者 43 ws1.cell(row=7+a, column=4).value = str(message.Sender) 44 # 受信者 45 ws1.cell(row=7+a, column=5).value = str(message.Recipients) 46 # cc 47 ws1.cell(row=7+a, column=6).value = str(message.CC) 48 # 本文 49 ws1.cell(row=7+a, column=7).value = str(message.body) 50 # 添付ファイル 51 if message.Attachments.Count > 0: 52 myDate = RT.strftime("%Y/%m/%d %H:%M:%S") 53 myDate = myDate.replace("/","-") 54 myDate = myDate.replace(":","-") 55 myDate = myDate.replace(" ","-") 56 datefolder_path = newfolder_path + '\' + myDate 57 os.makedirs(datefolder_path) 58 for myAttachment in message.Attachments: 59 print(myAttachment.FileName) 60 myAttachment.SaveAsFile(datefolder_path + '\' + myAttachment.FileName) 61 ws1.cell(row=7+a, column=8).value = '有' 62 else: 63 ws1.cell(row=7+a, column=8).value = '無' 64 a=a+1 65 66#ステップ7|所定フォルダ内の「Book1.xlsm」で保存する 67wb.save(filepath) 68print('保存しました')
申し訳ありませんが、
どのように対処したら良いかアドバイスを頂けないでしょうか?
回答2件
あなたの回答
tips
プレビュー