よくもらう質問で、アウトルックのVBAで、
Outlookで送信アカウントをVBAで標準から変更したい
と聞かれるのですが、
下記のようにほったらかしにしていたら、
メモ outlookで送信元を切り替える。
http://d.hatena.ne.jp/ken3memo/20091121/1258764480
↑放置の証拠(笑)
で、解決策を読者より教えてもらう
読者の Yさんよりアドバイスをもらう。
>
>SendUsingAccountを色々探って、試行錯誤しましたところ
>
>.To = " info@abc.co.jp "
>.BCC = " master@abc.co.jp "
>.SendUsingAccount = Session.Accounts("アカウント名")
>.Subject = " 件名 "
>
>上記で無事アカウントの変更ができました。
>最初はアカウント名ではなくメールアドレスを入れていて
>うまく動作しませんでしたが
>Outlookのアカウントのユーザー情報の名前の欄に表示されている文字列
>を入れたら動作しました。
>
>ちなみにバージョンはOutlook2010です。
Outlook2007,2010 で 使えそうなので、使ってみてください。
最近、放置が多い三流プログラマーのken3でした。
(未解決、迷宮入りの質問が多いので三流なんだけど(ぉぃぉぃ)って開き直るなよ)
2018/07/21 テストしてみました
#Outlook #VBA 送信アカウント 切り替え SendUsingAccount = Session.Accounts("アカウント名") 試行錯誤 Accounts.Item("アドレス") - YouTube
youtu.be
.SendUsingAccount = Session.Accounts("アカウント名")
ではまった。※はまってます、現在進行形。
下記の質問をいただいたので、試してます。
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
VBAでOutlookのメールを立ち上げることに成功しました。
差出人をデフォルトではなく、
別のアカウントで使いたいのですが、
単純にsendusingaccountを入れるだけではダメなんですね。
どうすればうまくいくんでしょうか。
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
複数メールアドレスを登録して、
テスト中ですが、私もうまくいっていなかったり・・・
'今回のテスト 送信元を変更する?
mITEM.SendUsingAccount = oApp.Session.Accounts.Item("xxxx@ken3.org")
または、
Dim oAccount As Outlook.Account
Set oAccount = oApp.Session.Accounts.Item("xxxxx@ken3.org")
mITEM.SendUsingAccount = oAccount
どちらでもうまくいきました。
あれ、急にうまくいった・・・なぜだろう。。
まぁ、頭からテストしてみます。
VBSだけ、うまくいかない・・・
何か、ケアレスミスがありそうな。。
OutlookのVBA立ち上げて、途中で止めて、
? Session.Accounts.Count
3
でアカウント件数を確認したり、
? Session.Accounts.Item(1)
xxxx@ken3.org
で中身を確認、
Set oAccount = Session.Accounts.Item("xxxx@ken3.org")
mITEM.SendUsingAccount = oAccount
? oAccount.DisplayName
? oAccount.UserName
メールテスト
qa2017 KEN
など、イロイロテストしてみてください。
2022/03/25 追記

SentOnBehalfOfName を意図せずに発見→ https://youtu.be/u4sLe5J2Tms?t=80
ken3memo.hatenablog.com