2016-05-02 7 views
0

転送電子メールアドレスの数が多く、同じ電子メールアカウントに転送するように設定されています。ビジネスがハッキングされ、メールアドレスが盗まれた場合、そのビジネスのメールアドレスだけが変更されるため、これは便利です。たとえば、「[email protected]」、「[email protected]」、「[email protected]」はすべて「[email protected]」に転送されます。VBAを使用したOutlook 2010のアカウント設定の変更

私はビジネスにメールを送りたいときは、Outlookに入り、転送先のメールアドレスをメールアドレスにするようにアカウントを変更する必要があります。私はこれを迷惑にしています。私はメールを書くときに誰が変更できるのか知っていますが、受信者は[email protected]の代わりに "J Smith"を見ます。私は、アカウントに設定してそこに電子メールアドレスを変更すると、Fromフィールドで使用しているアドレスを表示しています。

マクロを設定して、使用したい電子メールアドレスを尋ねた後、私に電子メールを送信してもらえます。 VBAで電子メールアカウントの詳細を変更する方法を調べましたが、詳細がすべて読み取り専用であるかのように見えます。私の "from"電子メールアドレスをきれいに変更する方法はありますか?あるいは、VBAで新しい電子メールアカウントを設定し、それを送信した直後に削除することさえできますか?

答えて

0

コンボボックスとボタンでユーザーフォームを作成してみてください。そこから選択できるようにコンボボックスにすべての利用可能なアカウントをロードします。

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

関連する問題