как получить адрес электронной почты из сообщений в outlook 2003 - PullRequest
0 голосов
/ 07 февраля 2011
Sub GetALLEmailAddresses()

Dim objFolder As Folders
Set objFolder = Application.ActiveExplorer.Selection



Dim dic As New Dictionary
Dim strEmail As String
Dim strEmails As String

Dim objItem As MailItem
For Each objItem In objFolder.Items

strEmail = objItem.SenderEmailAddress
If Not dic.Exists(strEmail) Then
strEmails = strEmails + strEmail + ";"
dic.Add strEmail, ""
End If

Next

Debug.Print strEmails
End Sub

Я использую этот код для получения адреса электронной почты из тела сообщения.Я не префект в VB.Есть ли какие-либо, чтобы помочь, как получить адрес электронной почты из сообщений в Outlook 2003?

1 Ответ

1 голос
/ 07 февраля 2011

В этом случае я не думаю, что что-то встроено, поэтому я бы посоветовал вам не беспокоиться о SenderEmailAddress, а вместо этого просто достать Body и затем искать в тексте адреса электронной почты,Это будет несколько сложнее, хотя, возможно, будет трудно определить, что является частью адреса электронной почты, а что нет.

Самое простое место, с которого нужно начать, - это просто найти любой @ в тексте, а затем найти следующий пробел по обе стороны от @ и получить все между этими пробелами.Но есть много вопросов для размышления.Что, если пользователь набрал @ по какой-то другой причине или если электронное письмо содержит что-то вроде The first email is xxx@test.com.The second email is xxx2@test.com (обратите внимание на пробел между . и The), где ваше приложение может подумать, что электронная почта должна бытьxxx@test.com.The.

Отредактировано, поскольку мой ответ основывался на полном недоразумении вопроса.

...