質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

6113閲覧

メールを自動保存するコードを作りたい

Yushishi

総合スコア20

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/08/16 23:23

編集2019/09/17 04:16

前提・実現したいこと

面談議事録共有メールを案件名に従って、フォルダに振り分けて、メールの件名で自動保存するコードを作っているのですが、保存する際のファイル名をメールの件名に出来ず(message.Subjectがメールの件名に変換されずそのまま英語(message.Subjectのまま)で保存されてしまいます)、改善方法が分かるようでしたら、教えて頂けますでしょうか?

該当のソースコード

#ステップ1|ライブラリ from openpyxl import load_workbook import win32com.client import datetime import os #ステップ2|所定フォルダ内の「Book1.xlsm」を指定して読み込む filepath = r'C:\Users\gerra\Desktop\python_lesson\Outlook_Book1.xlsx' wb = load_workbook(filename=filepath) ws1 = wb['データ'] #ステップ3|集計範囲の取得 startdate=ws1['B2'].value enddate=ws1['B3'].value #ステップ4|Outlookの情報を取得 outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") inbox = outlook.GetDefaultFolder(6) messages = inbox.Items a=0 Mailcontent =[] Mailcontent2 =[] Mailcontent3 =[] Subject_list=[] for message in messages: RT=message.ReceivedTime hiduketime = datetime.datetime(RT.year ,RT.month, RT.day, RT.hour, RT.minute, RT.second) if startdate <= hiduketime <= enddate: if "面談" in message.Subject: print(message.Subject) Mailcontent.append(message.body) print("確認1",Mailcontent) if "案件" in message.body: revMail = Mailcontent[a].replace("案件","案件⇒").split("⇒") Mailcontent2.append(revMail) print("確認2",Mailcontent2) if "\r\n" in Mailcontent2[a][1]: revMail2 = Mailcontent2[a][1].split("\r\n") Mailcontent3.append(revMail2) print("確認3",Mailcontent3[a][0]) if os.path.exists(r'C:\Users\gerra\Desktop\仕事関連\これまでの資料\【案件名】'+ Mailcontent3[a][0]) is False: os.mkdir(r'C:\Users\gerra\Desktop\仕事関連\これまでの資料\【案件名】'+ Mailcontent3[a][0]) folderpath = r'C:\Users\gerra\Desktop\仕事関連\これまでの資料\【案件名】'+ Mailcontent3[a][0] #タイトルをメールタイトルにしたい。 message.saveAs(folderpath +'\message.Subject' + '.msg') print("完了") a += 1

試したこと

パスの記載方法を色々変えてみましたが、ダメでした。。。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/08/16 23:33

件名が変換されずって、具体的にどういう名前になるんでしょうか
guest

回答1

0

ベストアンサー

message.saveAs(folderpath +'\message.Subject' + '.msg')

message.saveAs(folderpath +''+message.Subject + '.msg')
ってことかな?

#同一件名だと上書きされちゃいますね

投稿2019/08/16 23:37

編集2019/08/16 23:39
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yushishi

2019/09/22 06:59

出来ました!! 「日付_面談名」でメール送信しているので、同一件名のメールが送られることはないのですが、今は件名に該当Wordがあるかでメールを引っ張ってきているので、議事録送信メールへの返信もとってきて保存してしまうので、そこを修正したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問