2

フォルダ番号ではなく、名前でフォルダを取得する必要があります。いろいろな方法でやってみました。

Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
'Dim OlFolder As Outlook.MAPIFolder
Dim objFolder As Outlook.Folder
Dim myolItems As Outlook.Items
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
'Set myOlItems = objNS.GetDefaultFolder(37).Folders("Vijay Baswal").Items
'Open the folder
Set objFolder = olApp.Session.GetDefaultFolder("Vijay Baswal")
4

2 に答える 2

3

Inbox の下に Clients という名前のフォルダーがあり、その下に Vijay Baswal という名前のフォルダーがあるとします。

objFolder = objNS.GetDefaultFolder(olFolderInbox).Folders("Clients").Folders("Vijay Baswal") を設定します。

OlDefaultFolders 列挙http://msdn.microsoft.com/en-us/library/office/bb208072(v=office.12).aspx

Inbox は olFolderInbox または 6 です。37 はないようです。

于 2013-10-26T12:14:21.820 に答える
2

以下のvbaスニペットを参照して、特定のフォルダーからメールを読み取る方法を確認してください

 Dim olApp As Outlook.Application
Dim olNs As Outlook.NameSpace
Dim olFldr As Outlook.MAPIFolder
Dim olItms As Outlook.Items
Dim olMail As Variant
Dim outFolder As Outlook.Folder

 Dim olItem As Outlook.MailItem


Dim i As Long

Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.Folders("folder1").Folders("fol2")
Set olItms = olFldr.Items


olItms.Sort "Subject"

i = 1

For Each olItem In olItms
    'If InStr(olMail.Subject, "Criteria") > 0 Then

       Dim szVar As String
      szVar = olItem.Body
        szVar1 = olItem.Subject
        i = i + 1
    'End If
Next olItem

Set olFldr = Nothing
Set olNs = Nothing
Set olApp = Nothing
于 2015-12-15T06:03:54.733 に答える