Outlook VBA 送信アカウントの切り替え
.SendUsingAccount = Session.Accounts("アカウント名")でハマってる・・
下記の質問をいただいたので、試してます。
VBAでOutlookのメールを立ち上げることに成功しました。
差出人をデフォルトではなく、
別のアカウントで使いたいのですが、
単純にsendusingaccountを入れるだけではダメなんですね。
どうすればうまくいくんでしょうか。
複数メールアドレスを登録して、
テスト中ですが、私もうまくいっていなかったり・・・
テストしてみました
#Outlook #VBA 送信アカウント 切り替え SendUsingAccount = Session.Accounts("アカウント名") 試行錯誤 Accounts.Item("アドレス") - YouTube
youtu.be
.SendUsingAccount = Session.Accounts("アカウント名")
ではまった。※はまってます、現在進行形。
あれ、急にうまくいった・・・なぜだろう。。
Excelでテスト
'今回のテスト 送信元を変更する?
mITEM.SendUsingAccount = oApp.Session.Accounts.Item("qa2016@ken3.org")または、
Dim oAccount As Outlook.Account
Set oAccount = oApp.Session.Accounts.Item("qa2017@ken3.org")
mITEM.SendUsingAccount = oAccount
どちらでもうまくいきました。
まぁ、頭からテストしてみます。
VBSだけ、うまくいかない・・・
何か、ケアレスミスがありそうな。。
OutlookのVBA立ち上げて、途中で止めて、
? Session.Accounts.Count
3
でアカウント件数を確認したり、
? Session.Accounts.Item(1)
qa2017@ken3.org
で中身を確認、
Set oAccount = Session.Accounts.Item("qa2016@ken3.org")
mITEM.SendUsingAccount = oAccount
? oAccount.DisplayName
qa2016@ken3.org
qa2017@ken3.org
? oAccount.UserName
メールテスト
qa2017 KEN
など、イロイロテストしてみてください。
ken3memo.hatenablog.com
↑のコメント欄より
通りすがり
いつも参考にさせて頂いております。
当方のOutlook2010ではうまく動かず、エラーにはならないのですが送信元が変更されない減少となってました。一度Displayで表示した後に手動で送信元を変更するとコードからSendUsingAccount で切り替えることが出来るのでてっきりセキュリティか何かの制限かと諦めていたのですが、本日試しに
set .SendUsingAccount = Session.Accounts("アカウント名")
とオブジェクトを代入してみたところうまく設定することが出来ました。
ご参考まで。
Set が 必要?なのかな?う~ん・・・
なんでしょうね・・・
2022/03/25 追記
SentOnBehalfOfName を意図せずに発見→ https://youtu.be/u4sLe5J2Tms?t=80
ken3memo.hatenablog.com