【VBA】 Outlookメールを作成して下書きに保存する

Outlookメールを作成して下書きに保存する関数です。

関数概要

  • 関数名: FNCCreateOutlookDraftMail
  • 入力引数; P_IN_Subject ( String 型 ) : 件名を指定します。
  • P_IN_TO ( String 型 ) : 宛先アドレスを指定します。複数存在する場合は、カンマ ( , ) で区切ります。
  • P_IN_CC ( String 型 ) : CCアドレスを指定します。複数存在する場合は、カンマ ( , ) で区切ります。
  • P_IN_BCC ( String 型 ) : BCCアドレスを指定します。複数存在する場合は、カンマ ( , ) で区切ります。
  • P_IN_MailBody ( String 型 ) : メール本文を指定します。
  • 出力引数: ありません。
  • 返り値:リターンコードが返却されます。

ソースコード

    '-----------------------------------------------------------------
    ' Outlookメールを作成して下書きに保存する
    '-----------------------------------------------------------------
    Function FNCCreateOutlookDraftMail(P_IN_Subject As String, P_IN_TO As String, P_IN_CC As String, P_IN_BCC As String, P_IN_MailBody As String) As Integer
    On Error GoTo ErrorHandler
        FNCCreateOutlookDraftMail = 9 'Error
        Dim ObjOutlook As Outlook.Application
        Dim ObjMail As Outlook.MailItem
        Set ObjOutlook = New Outlook.Application
        Set ObjMail = ObjOutlook.CreateItem(olMailItem)
        ObjMail.To = P_IN_TO
        ObjMail.CC = P_IN_CC
        ObjMail.BCC = P_IN_BCC
        ObjMail.Subject = P_IN_Subject
        ObjMail.Body = P_IN_MailBody
        ObjMail.Save
        FNCCreateOutlookDraftMail = 0 'Nomal End
        Exit Function
    ErrorHandler:
        MsgBox Err.Number & : & Err.Description, vbCritical & vbOKOnly, エラー
        FNCCreateOutlookDraftMail = Err.Number
        Exit Function
    End Function

ソースコード説明

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

Outlook.Applicationオブジェクトと そのメールオブジェクトを作成しています。

Application object (Outlook) | Microsoft Office Dev Center

CreateItemメソッドは以下に情報が掲載されています。

Application.CreateItem method (Outlook)

CreateItemメソッドの引数の詳細は以下に記載されています。

OlItemType enumeration (Outlook)

        ObjMail.To = P_IN_TO
        ObjMail.CC = P_IN_CC
        ObjMail.BCC = P_IN_BCC
        ObjMail.Subject = P_IN_Subject
        ObjMail.Body = P_IN_MailBody

メールオブジェクトに対してプロパティを設定しています。ここでは、以下のプロパティを設定しています。

  • To(宛先)
  • CC(CC)
  • BCC(BCC)
  • Subject(件名)
  • Body(メール本文)

メールオブジェクトのプロパティは以下に記載されています。

MailItem object (Outlook)

        ObjMail.Save

作成したメールを下書きに保存します。


カテゴリー: VBA

コメントを残す

メールアドレスが公開されることはありません。