プロが教えるわが家の防犯対策術!

vbaでメールを送信したいのですが、
アウトルックに二つのアカウントを登録しています。

その時

Sub メール作成()
Dim OlApp As Outlook.Application
Dim mItem As Outlook.MailItem

Set OlApp = New Outlook.Application
Set mItem = OlApp.CreateItem(olMailItem)
With mItem
.To = "test2@docomo.ne.jp"
.Subject = "メモ"
.Display
End With
End Sub

は、問題なくできるのですが、
差出人(送信者)の部分をどうすればいいかわからないです。
差出人(送信者)の部分とは、画像の部分です。

.Sender = "test@.co.jp"
にすると
"test@.co.jp"が、コンパイルエラー 型が一致しません。になります。

ヘルプを見ると、
MailItem の送信元のアカウントのユーザーに対応する AddressEntry オブジェクトを取得または設定します。
と書いてあります。

何を言ってるかよくわかりませんが、差出人(送信者)の指定ではないようです。

なので、
.SenderEmailAddress = "test@.co.jp"
にしてみましたが、
値の取得のみ可能とのことなので、エラーになりました。

どうやって差出人の指定をすればいいのでしょうか?
バージョンは2010です。
よろしくお願いします。

「アウトルックvba 差出人を指定したい」の質問画像

A 回答 (1件)

Outlook 2007の情報ですが、


http://msdn.microsoft.com/en-us/library/office/b …
というMSDNのページに参考になることが書いてあります。
説明は英語なのでいまいち読めていないのですが、
VBAのコードは見ればすぐわかると思います。

わかる範囲で上記ページのコードの要点を説明すると、
1.Outlook.Application.Session.Accountsのアイテムは個々のアカウントである。
2.AccountTypeがolPop3のものを選ぶ
3.メッセージのオブジェクトのSendUsingAccountにAccountオブジェクトの値を代入
  (Setしておらず通常の代入なのでおそらく文字列)
だと思います。(間違っていたら申し訳ありません)

なお、上記ページの例ではAccountTypeで判別していますが、POP3のアカウントが複数あるような場合はDisplayNameプロパティやAccountオブジェクトの値を使えばいいと思います。

以上、時間的余裕がなく動作確認サンプル作成等を行っておりませんがまずはこれでご検討いただければ、と思います。

参考URL:http://msdn.microsoft.com/en-us/library/office/b …
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/06/02 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A