エクセル2010です。
エクセルからVBAでアウトルックメールを作成するのですが、差出人を自分ではなく部門名のアドレスにしたいのです。
手動ではなんなく差出人を変更できるのですが、VBAでの方法がわかりません。
ネット検索してみると、
SendUsingAccount = Session.Accounts("アカウント名")
でできるようなのですが、アカウント名がよくわかりません。
アカウント名に、手動で差出人を変更する際に「名前の選択」で指定する部門の名前や部門のアドレスなどを入れてみましたがオブジェクトが必要とのエラーになってしまいます。
どうすればよいのでしょうか?
Sub TEST001()
Dim oApp As Object
Dim objMAIL As Object
Dim strMOJI(1) As String
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If oApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
Set objMAIL = oApp.CreateItem(0)
strMOJI(0) = "こんにちは!" & vbCrLf & _
"差出人変更のテストです。。" & vbCrLf & _
"よろしくおねがいします。" & vbCrLf
strMOJI(1) = vbCrLf & _
"以上です。" & vbCrLf & _
"ABC株式会社" & vbCrLf & _
"emaxemax"
objMAIL.To = ""
objMAIL.CC = "xxxx@xxx.co.jp"
objMAIL.Subject = "テスト"
objMAIL.Body = strMOJI(0) & strMOJI(1)
' objMAIL.SendUsingAccount = Session.Accounts("ABC Gyomubu")'ここでエラー
objMAIL.Display
End Sub
No.1ベストアンサー
- 回答日時:
Outlookは2010ですよね。
まず始めにおことわりいたしますが、当方の環境がOffice2007でり、また質問者様の状況をきちんと把握できていないと思われ、さらに何より当方のOutlookの知識はかなり貧弱です。そのため、解決する可能性がある方法を書かせてはいただきますが、不適切な回答かもしれません。
最初に考えられるのは、MailItemのSenderプロパティに差出人の情報を設定することで達成できると思います。
で、何を設定するかですが、下記のリンクを見るとAddressEntryオブジェクトであるとのこと。
http://msdn.microsoft.com/ja-jp/library/office/m …
じゃあAddressEntryはどこにあるかというと、Session→AddresLists→AddressList→AddressEntries→AddressEntryのようです。
http://msdn.microsoft.com/en-us/library/office/a …
http://msdn.microsoft.com/en-us/library/office/a …
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/e …
そのため、当方の環境では検証できません。
もう1つ可能性のある方法としては、MailItemオブジェクトのSentOnBehalfOfNameプロパティに文字列で差出人を設定する、というのがあるようです。
objMAIL.SentOnBehalfOfName = "ABC Gyomubu"
としてみてはいかがでしょう。(表示名よりメールアドレスそのものの方が確実かもしれません)
当方の環境では、Outlook2007で差出人欄に入るところまでは確認できたのですが、システムの都合でこの状態では送信できないため検証できていません。
以前、似たような質問に回答したのですが、どうやらその時は的外れな回答をしてしまったようです。
http://oshiete.goo.ne.jp/qa/8095478.html
というのは、質問内容はSenderプロパティに関するものだったのですが、SendUsingAccountについて答えてしまったからです。
もしもメール送受信のためのアカウントを複数設定していてそれを選択するということなら、そこに回答したようにSendUsingAccountを使えばいいと思います。
でもおそらくそういう問題ではないですよね。もしもこれをご覧になっていたなら、的外れな情報で申し訳ありません。
うまくいかない場合や不明な点がある場合など、何かありましたら補足いただければ再検討いたします。
SentOnBehalfOfNameプロパティ!
代理送信ですね。
こんなのがあったんですね、ありがとうございます。
ここに直接文字列でアドレスを指定したところ完璧に送信可能なメールができました。
ありがとうございます!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
アウトルックvba 差出人を指定したい
PowerPoint(パワーポイント)
-
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
-
エクセルでエラーが出て困っています。
Excel(エクセル)
-
-
4
Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
Outlookにマクロの記録はないのでしょうか?
Word(ワード)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
9
エクセルVBAでOutlookメールの書式を変える
Excel(エクセル)
-
10
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
11
ExcelVBAでOutlookにセル内容を送る
その他(プログラミング・Web制作)
-
12
VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本
Visual Basic(VBA)
-
13
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
14
フォントの大きさ
Visual Basic(VBA)
-
15
エクセルからアクセスにインポートする際のエラーについて
Access(アクセス)
-
16
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
<EXCEL/VBA> OUTLOOKのウインドを閉じる方法
Visual Basic(VBA)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差出人]を[宛先]に変更する...
-
友達に手紙を書くので、100均で...
-
Outlook2016で差出人中の任意の...
-
ときどき、空メールが届くのは?
-
送信者と差出人の違い
-
Outlookで差出人の表示が消えま...
-
郵便
-
受信したメールの差出人の名前...
-
OUTLOOKで差出人、件名が2行で...
-
Outlook2010 仕分けルールにつ...
-
詐欺メール
-
エクセルVBAでアウトルックメー...
-
登録していないのに名前が表示...
-
G-mailのフィルタ
-
差出人無しの迷惑メールの撃退法
-
WLMailの受信拒否対策が効かない
-
筆王で差出人のフォントサイズ...
-
差出人が表示されないメールっ...
-
知らない人から荷物などが届い...
-
メッセージアプリに差出人不明 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookで差出人の表示が消えま...
-
差出人]を[宛先]に変更する...
-
OUTLOOKで差出人、件名が2行で...
-
ときどき、空メールが届くのは?
-
友達に手紙を書くので、100均で...
-
Outlook2010 仕分けルールにつ...
-
エクセルVBAでアウトルックメー...
-
Outlook2016で差出人中の任意の...
-
また、宅配便で箱が開けられた...
-
ヤマト宅急便の伝票の書き方。
-
受信したメールの差出人の名前...
-
差出人不明のSMSはどうしたら良...
-
ポルトガル語での~様(郵便宛...
-
送信者と差出人の違い
-
郵便
-
知らない人から荷物などが届い...
-
最近、妙な配達が続いています。
-
メッセージアプリに差出人不明 ...
-
JavaMailでメールアドレスに人...
-
".ru"で終わる迷惑メール
おすすめ情報