Отсканируйте почтовый ящик не по умолчанию для электронной почты?
Я использую следующий код vba, который проверяет любые электронные письма с определенным заголовком темы.
Проблема в том, что он проверяет мою папку входящих почтовых ящиков по умолчанию, когда мне это нужно, чтобы проверить почтовый ящик моей другой учетной записи электронной почты [email protected]
Может кто-нибудь, пожалуйста, покажите мне, как я это сделаю? заранее спасибо
- Отправка писем с помощью Outlook 2013 / Excel 2013
- выберите, на какую учетную запись отправить адрес электронной почты Outlook?
- Как сохранить исходный формат ячейки в макросе Excel?
- Попытка открыть шаблон электронной почты Outlook с помощью excel VBA
- Вставка таблицы Excel в электронном письме Outlook: он оглядывается назад
Sub Macro1() Set olApp = CreateObject("Outlook.Application") Dim olNs As Outlook.Namespace Dim Fldr As Outlook.MAPIFolder Dim myItem As Outlook.MailItem Dim myAttachment As Outlook.Attachment Dim I As Long Dim olMail As Variant Set olApp = New Outlook.Application Set olNs = olApp.GetNamespace("MAPI") Set Fldr = olNs.GetDefaultFolder(olFolderInbox) Set myTasks = Fldr.Items Set olMail = myTasks.Find("[Subject] = ""New Supplier Request: Ticket""") If Not (olMail Is Nothing) Then For Each myItem In myTasks If myItem.Attachments.Count <> 0 Then For Each myAttachment In myItem.Attachments If InStr(myAttachment.DisplayName, ".txt") Then I = I + 1 myAttachment.SaveAsFile "\\uksh000-file06\Purchasing\NS\Unactioned\" & myAttachment End If Next End If Next For Each myItem In myTasks myItem.Delete Next Call Macro2 Else MsgBox "There Are No New Supplier Requests." End If End Sub
Структура папок Outlook:
[email protected] Inbox Drafts Sent [email protected] Inbox Drafts Sent
- Копирование Вставка определенных ячеек Excel в автоматическую почтовую почту Outlook
- Как я могу создавать электронные письма только для уникальных адресов из столбца в excel?
- Форма PHP для Excel
- Ошибка отправки электронной почты (gmail) через python с вложением excel xlsx
- Захват графов (объектов) в пределах выделения
- VBA: выберите первую отфильтрованную ячейку, затем перейдите на следующую
- Раскрывающийся список исчезает, когда рабочая книга отправляется по электронной почте.
- Программно подавить сообщение электронной почты электронной почты Outlook с помощью Excel VBA
Вы должны использовать следующее, считая, что папка, которую вы хотите, находится на том же уровне в иерархии папок
Set Items = Session.GetDefaultFolder(olFolderCalendar).Parent.Folders("YouFolderName").Items
Подробнее см. Здесь … http://www.slipstick.com/developer/working-vba-nondefault-outlook-folders/
Вы пробовали следующую функцию из приведенной выше ссылки …
Function GetFolderPath(ByVal FolderPath As String) As Outlook.Folder Dim oFolder As Outlook.Folder Dim FoldersArray As Variant Dim i As Integer On Error GoTo GetFolderPath_Error If Left(FolderPath, 2) = "\\" Then FolderPath = Right(FolderPath, Len(FolderPath) - 2) End If 'Convert folderpath to array FoldersArray = Split(FolderPath, "\") Set oFolder = Application.Session.Folders.item(FoldersArray(0)) If Not oFolder Is Nothing Then For i = 1 To UBound(FoldersArray, 1) Dim SubFolders As Outlook.Folders Set SubFolders = oFolder.Folders Set oFolder = SubFolders.item(FoldersArray(i)) If oFolder Is Nothing Then Set GetFolderPath = Nothing End If Next End If 'Return the oFolder Set GetFolderPath = oFolder Exit Function GetFolderPath_Error: Set GetFolderPath = Nothing Exit Function End Function
Возможно, вам понадобится сначала использовать технику, чтобы узнать фактическое имя папки … https://msdn.microsoft.com/en-us/library/office/ff184607.aspx
На изображении ниже папки «Черновики», «Клиенты» и «Исходящие» находятся на одном уровне (они имеют одну и ту же родительскую папку james @ … com), но папка ChildFolder не является (это родительский элемент «Черновики»).
Вы должны просто указать имя своего второго почтового ящика как папку.
Set Fldr = olNs.Folders("My 2nd mailbox").Folders("Sub Folder")
Если вы хотите, чтобы основной почтовый ящик второй учетной записи, вы указываете это как подпапку учетной записи.
Set Fldr = olNs.Folders("My 2nd Inbox").Folders("Inbox")
Обратите внимание, что это имя используемого почтового ящика, а не адрес электронной почты. Дайте мне знать, как вы поживаете.