VBA Outlook メール作成と送信

  • デル株式会社
  • 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のデジタル証明書の話。(備忘)

    その後、VBA画面で、[ツール]-[デジタル署名] の順に選択し、署名をアタッチます。
    これやらないと、Outlook再起動時に、VBA使用できなくなります。

    関連記事

    ページ上部へ戻る