VBA Outlook メール作成
あんまり使うことないと思うけど、Outlook VBA で、メールの作成をする。
まぁ、同じメール内容で固定の場所のみ変更して送信するとかには役立つかも。
ソース
Sub Main()
Dim sSubject As String
sSubject = InputBox("件名を入力してください")
'実行してみる
CreateMail "xxxx@zero0nine.com", "ゲスト", sSubject
End Sub
Sub CreateMail(sMailTo As String, _
sSubject As String)
Dim oOutlook As Outlook.Application
Dim oMail As Outlook.MailItem
Dim sBody As String
'Outlookのオブジェクトを生成する
Set oOutlook = CreateObject("Outlook.Application")
'メール本体のオブジェクト作成
Set oMail = oOutlook.CreateItem(olMailItem)
sBody = "〇〇さん" & vbCrLf & vbCrLf & _
"こんにちは。" & vbCrLf & vbCrLf & _
"テストメールです。" & vbCrLf & vbCrLf
' メールを作成する
With oMail
.To = sMailTo ' 宛先
.Subject = sSubject ' 件名
.Display ' 表示
.Body = sBody ' 本文
.BodyFormat = olFormatPlain ' メールの形式
End With
'**************************************************************
'
' oMail.Send で作成されたメールが送信されてしまうので、
' VBAテストを十二分に行ってから、oMail.Sendを実行する。
'
' このコードを使用して、問題が起きても責任とれません。。。
'
'**************************************************************
'送信 → 送信する場合はコメント解除
'oMail.Send
Set oMail = Nothing
Set oOutlook = Nothing
End Sub
実行画面
件名画面に入力して、メール本文
※ちなみに、件名入力しても本文でます。。。
補足
VBAは、デジタル証明書がないと継続して使用できないため、
下記のページを参考にデジタル証明書を作成してください。
その後、VBA画面で、[ツール]-[デジタル署名] の順に選択し、署名をアタッチます。
これやらないと、Outlook再起動時に、VBA使用できなくなります。












