Перейти до основного матеріалу

Як автоматично додавати контакти з електронної пошти під час відповіді в Outlook?

У програмі Outlook 2010 ви можете ввімкнути Запропоновані контакти функції та автоматично додавати одержувачів як нові контакти. Однак це Запропоновані контакти Ця функція не підтримується в Outlook 2013 та 2016 р. Тут я представив VBA для автоматичного додавання відправника та одержувачів електронного листа як нових контактів під час відповіді в Outlook.

Автоматично додавати контакти з електронної пошти Outlook під час відповіді за допомогою VBA

Вкладка Office - увімкніть редагування та перегляд із вкладками в Microsoft Office, що полегшить роботу
Kutools для Outlook - покращте Outlook за допомогою 100+ розширених функцій для надзвичайної ефективності
Покращіть свій Outlook 2021 - 2010 або Outlook 365 за допомогою цих розширених функцій. Насолоджуйтесь повною 60-денною безкоштовною пробною версією та покращте роботу електронної пошти!

Автоматично додавати контакти з електронної пошти Outlook під час відповіді за допомогою VBA

Цей VBA автоматично додасть відправника та всіх одержувачів електронного листа як нових контактів, коли ви відповідаєте на електронне повідомлення в Outlook. Будь ласка, виконайте наступне:

1. Прес інший + F11 клавіші, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Розгорніть Project1 і двічі клацніть ThisOutlookSession щоб відкрити його, а потім вставте нижче коду VBA у вікно ThisOutlookSession. Дивіться знімок екрана:

VBA: автоматично додавати контакти з електронного листа під час відповіді в Outlook

Public WithEvents xExplorer As Outlook.Explorer
Public WithEvents xMailItem As Outlook.MailItem
Sub Application_Startup()
Set xExplorer = Outlook.Application.ActiveExplorer
End Sub

Private Sub xExplorer_SelectionChange()
On Error Resume Next
Set xMailItem = xExplorer.Selection.Item(1)
End Sub

Private Sub xMailItem_Reply(ByVal Response As Object, Cancel As Boolean)
Dim xNameSpace As NameSpace
Dim xSenderAddress As String
Dim xContactItems As Outlook.Items
Dim i, k As Long
Dim xFilterAddress As String
Dim xContact As Outlook.ContactItem
Dim xNewContact As Outlook.ContactItem
Dim Arr() As String
Dim ArrName() As String
Dim xArrCount As Integer
On Error Resume Next
ReDim Arr(xMailItem.Recipients.Count + 1)
ReDim ArrName(xMailItem.Recipients.Count + 1)
xSenderAddress = xMailItem.SenderEmailAddress
Arr(0) = xSenderAddress
ArrName(0) = xMailItem.SenderName
For i = LBound(Arr) + 1 To UBound(Arr) - 1
Arr(i) = xMailItem.Recipients.Item(i).Address
ArrName(i) = xMailItem.Recipients.Item(i).Name
Next i
Set xNameSpace = Outlook.Application.GetNamespace("MAPI")
Set xContactItems = xNameSpace.GetDefaultFolder(olFolderContacts).Items
For i = LBound(Arr) To UBound(Arr) - 1
For k = 1 To 3
xFilterAddress = "[Email" & k & "Address] = " & Arr(i)
Set xContact = xContactItems.Find(xFilterAddress)
If Not (xContact Is Nothing) Then
Exit For
End If
Next k
If xContact Is Nothing Then
Set xNewContact = Outlook.Application.CreateItem(olContactItem)
With xNewContact
.FullName = ArrName(i)
.Email1Address = Arr(i)
.Categories = "From Email"
.Save
End With
End If
Next i
End Sub

3. Збережіть код VBA та перезапустіть Microsoft Outlook.

Відтепер, коли ви відповідаєте на електронне повідомлення в Outlook, відправник цього повідомлення та всі одержувачі автоматично зберігатимуться як нові контакти в папці контактів за замовчуванням для облікового запису електронної пошти за замовчуванням.


Статті по темі


Найкращі інструменти продуктивності офісу

Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP)  /  Розклад надсилання електронних листів  /  Автоматична копія/прихована копія за правилами під час надсилання електронної пошти  /  Автоматичне пересилання (розширені правила)   /  Автоматично додавати привітання   /  Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...

📨 Управління електронною поштою: Легко відкликайте електронні листи  /  Блокуйте шахрайські електронні листи за темами та іншими  /  Видалити повторювані електронні листи  /  розширений пошук  /  Консолідація папок ...

📁 Вкладення ProПакетне збереження  /  Пакетне від'єднання  /  Пакетний компрес  /  Автозавантаження   /  Автоматичне від'єднання  /  Автокомпресія ...

???? Магія інтерфейсу: 😊Більше красивих і класних смайликів   /  Підвищте продуктивність Outlook за допомогою вкладок  /  Згорніть Outlook замість того, щоб закривати ...

👍 Дива в один клік: Відповісти всім із вхідними вкладеннями  /   Антифішингові електронні листи  /  🕘Показувати часовий пояс відправника ...

👩🏼‍🤝‍👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів  /  Розділіть групу контактів на окремі групи  /  Видаліть нагадування про день народження ...

більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, thank you for this code.
But it duplicates (in my case at least) the contacts as many times as I write to them. Any idea?
By the way, in outlook options, the box "search for duplicates when saving a new contact" is checked.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations