こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

Excelからメール作成方法

仕事の業務でExcelからoutlookを利用してメール送信出来るように資料を作成したいと思っております。
しかし、ハイパーリンクやマクロを利用してメールの作成ができるとまでは分かったのですが、私が理想する形にならないので質問させて頂きます。
(1)入力規則で文字を選択したら、メールが自動的に起動。
(2)宛先、本文がテンプレートで記載してある。
(3)入力規則で選択した文字によって、宛先が違うメールが自動的に作成されるようにしたい

入力規則での選択ではなくても、セルに入力した文字別に異なるメールが自動的に作成
されるようにしたいです。

宜しくお願い致します

投稿日時 - 2019-02-10 20:59:24

QNo.9586535

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

No1の追加です。
マクロの参照設定で
Microsoft Outlook xx.x Object Library
にチェックを入れておいてください。

投稿日時 - 2019-02-11 07:28:43

ANo.1

Vlookup関数で入力規則でそれぞれ選択した文字の宛先、タイトル、本文が表示されるように設定してください。
(マクロ内で直接 Application.WorksheetFunction.VLookupもいいですね)
以下はA1に入力規則で選択入力、上記がB1,C1,D1に表示されるとした場合です。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ObjOutlook As Outlook.Application
Dim ObjMail As Outlook.MailItem

If Target.Address <> Range("A1").Address Then
Exit Sub
End If

Set ObjOutlook = New Outlook.Application
Set ObjMail = ObjOutlook.CreateItem(olMailItem)

With ThisWorkbook.Sheets("Sheet1")
ObjMail.SendUsingAccount = Session.Accounts("アカウント名") 'Outlookのアカウント名を記載
ObjMail.SentOnBehalfOfName = "差出人メールアドレス" 'メールアドレスを記載
ObjMail.To = .Range("B1").Value 'メール宛先のあるセル
ObjMail.Subject = .Range("C1").Value 'メール件名のあるセル
ObjMail.Body = .Range("D1").Value 'メール本文のあるセル
ObjMail.Display '上記の設定でメール作成画面が開きます
' objMail.Send '←作成画面表示させることなく送信トレイに入れる場合上と入れ替えてください
End With

Set ObjMail = Nothing
Set ObjOutlook = Nothing

End Sub

投稿日時 - 2019-02-10 23:23:37

あなたにオススメの質問