Visual Basicを使用して受信トレイ内のサブフォルダーにアクセスしますか?

StackOverflow https://stackoverflow.com/questions/8322432

質問

Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Items

上記のコードを使用してメインのOutlook Inboxにアクセスしましたが、Inboxのフォルダーにアクセスする方法と、VBAを使用してメールです!

役に立ちましたか?

解決

とても近い :)

受信トレイの下にある「TEMP」と呼ばれるフォルダー内のすべてのメールアイテムを取得するには、これを試してください

Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim msg As Outlook.MailItem

Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("Temp")

For Each msg In olFolder.Items
    Debug.Print msg.Subject
Next

他のヒント

受信トレイに、スクリプトを停止させるメールアイテムではないアイテムがいくつかあることがわかりました。この小さな変更により、会議のような招待状が見つかった場合、スクリプトが実行され続けることができました。

Sub getmail()

Dim olApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder

'Dim msg As Outlook.MailItem
Dim InboxItem As Object

Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("temp")

For Each InboxItem In olFolder.Items
    Debug.Print InboxItem.Subject
    Debug.Print InboxItem.EntryID
Next

End Sub

ご回答有難うございます!私をとても助けてくれました!

(私の謝罪 - コメントしたかったのですが、十分な担当者がいません。)

さらに下にドリルするには、設定されたOlfolderラインを追加し続けます。

Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("temp")
Set olFolder = olFolder.Folders("temp2")
Set olFolder = olFolder.Folders("temp3")

inbox temp temp2 temp3 に入手してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top