Outlook - получить текст письма в VBA

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Есть папка, в папке энное количество писем. В тексте писем встречаются email-адреса. Требуется - выцепить все эти адреса. Интересует, собственно, как в объектной модели получить текст очередного письма, остальное сам сделаю.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Хыиуду
Outlook 2003 или 2007?
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Хыиуду
этот код для MS Outlook 2007. Если установлен 2003, то в коде надо вместо Folder использовать MAPIFolder.
Код собирает в переменную текст всех писем, находящихся в папке Входящие и содержащих символ "@":

Код: Выделить всё

Sub m_2()
Dim oNameSpace As Outlook.NameSpace
Dim oFolder As Outlook.Folder
Dim oItem As Object
Dim vАдреса As String
Set oNameSpace = Application.GetNamespace("MAPI")
Set oFolder = oNameSpace.GetDefaultFolder(olFolderInbox)
For Each oItem In oFolder.Items
    If InStr(oItem.Body, "@") > 0 Then
        vАдреса = vАдреса & vbCr & oItem.Body
    End If
Next
Debug.Print vАдреса
Set oNameSpace = Nothing
Set oFolder = Nothing
Set oItem = Nothing
End Sub
Ответить