
エクセル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にてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本
Visual Basic(VBA)
-
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
-
-
4
Excel VBA Outlookメール作成について
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
8
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
9
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
10
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
11
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
12
ACCESSでの改行コード
その他(データベース)
-
13
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
14
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
15
[VBA]CDOメッセージ送信エラー
Visual Basic(VBA)
-
16
VBA+VBSによる別インスタンスBookOpen時のVBSエラーに関して
Excel(エクセル)
-
17
OUTLOOKのメールアカウントの受信フォルダーへVBAでアクセスするには。
Visual Basic(VBA)
-
18
VBAからPDFファイルにパスワードを設定したい
Visual Basic(VBA)
-
19
VBAでOutlookを終了させたい ExcelVBAで既に起動されているOutlookを終了させる
Visual Basic(VBA)
-
20
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差出人]を[宛先]に変更する...
-
Outlookで差出人の表示が消えま...
-
Outlook2010 仕分けルールにつ...
-
ヤマト宅急便の伝票の書き方。
-
友達に手紙を書くので、100均で...
-
ポルトガル語での~様(郵便宛...
-
筆まめver22差出人の件
-
送信者と差出人の違い
-
日付の分からない消印
-
筆王で差出人のフォントサイズ...
-
Thunderbird メッセージフィルタ
-
outlook2010 仕訳ルールについて
-
年賀状は住所しか分からなくて...
-
OUTLOOKで差出人、件名が2行で...
-
二刀流宛名印刷のファイルの保存
-
大学生の持っていく香典について
-
筆まめで 郵便番号の位置調整を...
-
筆まめで電話番号を印刷したい
-
お店で領収書を発行してもらっ...
-
筆ぐるめで郵便番号の枠や宛名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookで差出人の表示が消えま...
-
Outlook2010 仕分けルールにつ...
-
差出人]を[宛先]に変更する...
-
友達に手紙を書くので、100均で...
-
ときどき、空メールが届くのは?
-
OUTLOOKで差出人、件名が2行で...
-
また、宅配便で箱が開けられた...
-
メッセージアプリに差出人不明 ...
-
Outlook2016で差出人中の任意の...
-
差出人不明のSMSはどうしたら良...
-
エクセルVBAでアウトルックメー...
-
年賀状は住所しか分からなくて...
-
ヤマト宅急便の伝票の書き方。
-
ポルトガル語での~様(郵便宛...
-
".ru"で終わる迷惑メール
-
受信したメールの差出人の名前...
-
年賀状の差出人欄が画面に出ない
-
outlook2010 仕訳ルールについて
-
最近、ワイモバイルに変えました。
-
居候(いそうろう)の差出名の...
おすすめ情報