- ベストアンサー
エクセルVBAでアウトルックメールの差出人変更
- エクセルからVBAでアウトルックメールの差出人を変更する方法を知りたいです。
- ネット検索してみると、SendUsingAccount = Session.Accounts('アカウント名')で差出人を変更できるようですが、具体的なアカウント名がわかりません。
- 手動で差出人を変更する際に指定する部門の名前やアドレスを試してみましたが、エラーが発生しました。どうすれば差出人を変更できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Outlookは2010ですよね。 まず始めにおことわりいたしますが、当方の環境がOffice2007でり、また質問者様の状況をきちんと把握できていないと思われ、さらに何より当方のOutlookの知識はかなり貧弱です。そのため、解決する可能性がある方法を書かせてはいただきますが、不適切な回答かもしれません。 最初に考えられるのは、MailItemのSenderプロパティに差出人の情報を設定することで達成できると思います。 で、何を設定するかですが、下記のリンクを見るとAddressEntryオブジェクトであるとのこと。 http://msdn.microsoft.com/ja-jp/library/office/microsoft.office.interop.outlook._mailitem.sender%28v=office.14%29.aspx じゃあAddressEntryはどこにあるかというと、Session→AddresLists→AddressList→AddressEntries→AddressEntryのようです。 http://msdn.microsoft.com/en-us/library/office/aa210890%28v=office.11%29.aspx http://msdn.microsoft.com/en-us/library/office/aa210895%28v=office.11%29.aspx Sessionオブジェクトにアクセスできる場所はいくつかありますが、とりあえず上記リンク先の例に従いOutlook.Application.Sessionを使ってみます。 (MailItemオブジェクトの直下にもSessionがあるので、もしかしたらこちらの方がいいかもしれません) ということで前置きが長くなりましたが、たとえば差出人にしたいアドレスがOutlookの連絡先の「ABC Gyomubu」にあるとして、以下のようにしてみてはいかがでしょうか。 objMAIL.Sender = oApp.Session.AddressLists("連絡先").AddressEntries("ABC Gyomubu") ただし、SenderプロパティはOutlook2010で新設されたものとのことです。 http://msdn.microsoft.com/ja-jp/library/office/ee692174%28v=office.14%29.aspx そのため、当方の環境では検証できません。 もう1つ可能性のある方法としては、MailItemオブジェクトのSentOnBehalfOfNameプロパティに文字列で差出人を設定する、というのがあるようです。 objMAIL.SentOnBehalfOfName = "ABC Gyomubu" としてみてはいかがでしょう。(表示名よりメールアドレスそのものの方が確実かもしれません) 当方の環境では、Outlook2007で差出人欄に入るところまでは確認できたのですが、システムの都合でこの状態では送信できないため検証できていません。 以前、似たような質問に回答したのですが、どうやらその時は的外れな回答をしてしまったようです。 http://okwave.jp/qa/q8095478.html というのは、質問内容はSenderプロパティに関するものだったのですが、SendUsingAccountについて答えてしまったからです。 もしもメール送受信のためのアカウントを複数設定していてそれを選択するということなら、そこに回答したようにSendUsingAccountを使えばいいと思います。 でもおそらくそういう問題ではないですよね。もしもこれをご覧になっていたなら、的外れな情報で申し訳ありません。 うまくいかない場合や不明な点がある場合など、何かありましたら補足いただければ再検討いたします。
お礼
SentOnBehalfOfNameプロパティ! 代理送信ですね。 こんなのがあったんですね、ありがとうございます。 ここに直接文字列でアドレスを指定したところ完璧に送信可能なメールができました。 ありがとうございます!!
補足
実際に送信もできました。 ありがとうございます。