- 締切済み
Excelからメール作成方法
仕事の業務でExcelからoutlookを利用してメール送信出来るように資料を作成したいと思っております。 しかし、ハイパーリンクやマクロを利用してメールの作成ができるとまでは分かったのですが、私が理想する形にならないので質問させて頂きます。 (1)入力規則で文字を選択したら、メールが自動的に起動。 (2)宛先、本文がテンプレートで記載してある。 (3)入力規則で選択した文字によって、宛先が違うメールが自動的に作成されるようにしたい 入力規則での選択ではなくても、セルに入力した文字別に異なるメールが自動的に作成 されるようにしたいです。 宜しくお願い致します
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kkkkkm
- ベストアンサー率66% (1725/2595)
No1の追加です。 マクロの参照設定で Microsoft Outlook xx.x Object Library にチェックを入れておいてください。
- kkkkkm
- ベストアンサー率66% (1725/2595)
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