Win32comを介したOutlookの相互作用をよりよく理解しようとしています。現在の調査から、win32comを使用して電子メールを効果的に読むことができる明確なドキュメントを見つけることができませんでした。これはユーザーによるかなり定期的な感情のようです。したがって、次の情報と要求が来ます。
誰かできますか。
1。明確なドキュメントの場所へのリンクを提供します(存在する場合)
2。以下を展開
以下は、他の人のコードを読むことに基づいて私が見つけた現在の機能です。
以下のコードを使用してください。
import win32com
Outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox=Outlook.GetDefaultFolder(6)
messages=inbox.Items
for message in messages:
attachments = message.attachments
for attachment in attachments:
pass
上記で使用したオブジェクトには、私が知っている次の機能があります。
受信トレイ-
.Folders
.Items
メッセージ-
.GetFirst()
.GetLast()
.GetNext()
.GetPrevious()
.Attachments
メッセージ-
.Subject
.Body
.To
.Recipients
.Sender
.Sender.Address
添付ファイル-
.item()
.Count
添付ファイル-
.filename
さらに機能がわかっている場合は、回答にこれを追加してください。
アプリケーションリファレンスのビジュアルベーシックは、あなたの友人です。このリンクから始めてみてください...
Interop Outlook Mailitem Properties
たとえば、メッセージにはおそらく上にリストしたものよりも追加のプロパティがあることがわかります。例えば。
「受信トレイ」だけでなく、デフォルトのフォルダにどのようにアクセスするのか疑問に思っている人のために、リストを示します。
3 Deleted Items
4 Outbox
5 Sent Items
6 Inbox
9 Calendar
10 Contacts
11 Journal
12 Notes
13 Tasks
14 Drafts
さらにあります(リマインダー、同期エラーなど)。このコードでリスト全体を取得できます( John Cookのソリューション to Folders):
import win32com
Outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
for i in range(50):
try:
box = Outlook.GetDefaultFolder(i)
name = box.Name
print(i, name)
except:
pass
リスト全体をここに貼り付けているのは、私のものがポーランド語であり、あまり役に立たないからです。
フォルダーのナビゲートにも何かを追加すると思いました-これはすべて上記のMicrosoftのドキュメントから派生したものですが、特に受信トレイを除くOutlookフォルダー構造のどこかに移動しようとしている場合は、ここにあると便利です。
folders
を使用してフォルダコレクションをナビゲートできます。この場合、GetDefaultFolder
の後にGetNamespace
がないことに注意してください(そうしないと、おそらく受信トレイになります)。
Outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace('MAPI')
folder = Outlook.Folders[1]
番号は、アクセスするフォルダーのインデックスです。そこにあるサブフォルダーの数を確認するには:
folder.Count
さらにサブフォルダーがある場合は、別のFolders
を使用してさらに深くすることができます。
folder.Folders[2]
Folders
はサブフォルダーのリストを返すため、現在のディレクトリ内のすべてのフォルダーの名前を取得するには、クイックループを使用できます。
for i in range(folder.Count):
print (folder[i].Name)
各サブフォルダーには.Items
メソッドを使用して、電子メールのリストを取得します。
すべてのライブOutlookオブジェクトとそのデータを OutlookSpy で見ることができます。
MailItem
オブジェクトのプロパティ、メソッド、およびイベントは https://msdn.Microsoft.com/en-us/library/office/ff861332.aspx で完全に文書化されています