2016-05-02 2 views
0

У меня есть большое количество пересылающих адресов электронной почты, которые все настроены для пересылки на ту же учетную запись электронной почты. Я считаю, что это полезно, потому что, если бизнес взломан и мой адрес электронной почты украден, тогда у меня есть только изменение адреса электронной почты для этого бизнеса. Например, «[email protected]», «[email protected]» и «[email protected]» будут отправлены на адрес «[email protected]».Изменение настроек учетной записи в Outlook 2010 с использованием VBA

Когда я хочу отправить электронное письмо в компанию, я должен войти в Outlook и изменить учетную запись, настроенную на отправку адреса электронной почты в качестве адреса электронной почты. Я нахожу это неприятностью. Я знаю, что могу изменить, от кого письмо, когда я его пишу, но затем получатель видит «J Smith от имени [email protected]». Я бы предпочел, чтобы он просто показывал адрес, который я использую в поле from, так же, как если бы я зашел в настройку учетной записи и изменил там адрес электронной почты.

Было бы неплохо создать макрос, который спросил меня, какой адрес электронной почты я хотел использовать, а затем отправил электронное письмо для меня. Я посмотрел, как изменить данные учетной записи электронной почты в VBA, но похоже, что все данные доступны только для чтения. Есть ли способ изменить мой «от» адрес электронной почты чисто? Или даже настроить новую учетную запись электронной почты в VBA и удалить ее сразу после ее отправки?

ответ

0

Попробуйте создать пользовательскую форму с помощью combobox и кнопки на нем. Загрузите все доступные учетные записи в выпадающий список, чтобы иметь возможность выбрать из него:

Private Sub UserForm_Initialize() 

Dim acc As Account 

For Each acc In ThisOutlookSession.Session.Accounts 

    Me.ComboBox1.AddItem acc.UserName 
Next acc 
End Sub 

Затем добавить код кнопки, которая выбирает правильную учетную запись:

Dim objApp As Outlook.Application 
Dim objMail As Outlook.MailItem 

Set objApp = ThisOutlookSession.Application 

Set objMail = objApp.CreateItem(olMailItem) 

With objMail 

    .To = "[email protected]" 
    .CC = "" 
    .BCC = "" 
    .Subject = "Test" 
    .Body = "Test" 

    Dim i As Integer 

    For i = 1 To ThisOutlookSession.Session.Accounts.Count Step 1 

     If ThisOutlookSession.Session.Accounts.Item(i).UserName = Me.ComboBox1.Value Then 

      .SendUsingAccount = ThisOutlookSession.Session.Accounts.Item(i) 
     End If 
    Next i 

    .Display 
End With 

Может быть, есть событие, которое когда вы создаете новое электронное письмо, в противном случае вам нужно добавить кнопку или что-то, чтобы принести форму.

+0

Спасибо gizlmeier, но я боюсь, что это не сработает. У меня так много адресов пересылки, что я не хочу настраивать учетную запись Outlook для каждого из них. То, что я хочу сделать, - это изменить существующую учетную запись, чтобы содержать адрес электронной почты, из которого я хочу отправить сообщение. Затем, когда я отправлю сообщение в другой бизнес, я снова изменим ту же учетную запись и так далее. – Zajonc

Смежные вопросы