適材適所

パソコン作業の自動化・効率化のための情報を発信するブログ(VBA,PowerShellなど)

VBAでNotesメールを作成・送信する_CC/BCCの追加

この記事では

  • VBAを使ってNotesのメール操作を自動化するためのアイディアを書いています。
  • Notesを使った日々の業務を自動化したい人に向けて書いています。

VBAでIBM Notesを操作する2

前回(VBAでNotesのメールを作成・送信する_最も簡単なサンプル - 適材適所)は、とても単純なメールの送信サンプルを紹介しました。 今回は前回のサンプルにCCとBCCを追加したいと思います。

CCとBCCを追加する

CCを追加するためには、NotesDocumentのAppendItemValueのフィールド名をCopyToにします。値は、メールアドレスを設定します。 複数のCCを設定する場合は、メールアドレスを格納した配列を設定します。

BCCの場合はフィールド名をblindCopyToに設定します。

コード

Option Explicit
'定数は環境に合わせて設定
Const DB_PATH As String = "○○.nsf"
Const SERVER_NAME As String = "SERVER"
Const PASSWORD As String = "pass"
'参照設定:Louts Domino Object
Sub sample2()
     'セッションを開始する
    Dim ntSession As NotesSession: Set ntSession = New NotesSession
    ntSession.Initialize PASSWORD
    
    'データベースのオープン
    Dim ntDB As NotesDatabase: Set ntDB = ntSession.GetDatabase(SERVER_NAME, DB_PATH)
    
    '新規文書を作成
    Dim ntDoc As NotesDocument: Set ntDoc = ntDB.CreateDocument()
    
    '件名の設定
    ntDoc.AppendItemValue "Subject", "件名を設定します"
    
    '送信先
    ntDoc.AppendItemValue "SendTo", "sample@mail.co.jp"

    'CC設定(複数設定する場合は配列を与える)
    ntDoc.AppendItemValue "CopyTo", "cc@mail.co.jp"
    
    'BCC設定
    Dim bccAry(2) as String
    bccAry(0)="bcc1@mail.co.jp"
    bccAry(1)="bcc2@mail.co.jp"
    ntDoc.AppendItemValue "blindCopyTo", bccAry

    '本文の設定
    Dim ntRtItem As NotesRichTextItem: Set ntRtItem = ntDoc.CreateRichTextItem("Body")
    
    '本文の設定
    ntRtItem.AppendText "本文を設定します"

    '送信するメールを送信済みフォルダに保存する設定
    ntDoc.SaveMessageOnSend = True    

     '送信
    ntDoc.Send False
    
    '送信せずに下書きする場合はこちら
    ntDoc.Save True,False
        
End Sub

使う前に

前提条件として、IBM Notesのクライアントが端末にインストールされている必要があります。 VBEの標準モジュールにこのコードをコピーします。また、実行前に、Louts Domino Objectの参照設定にチェックします。

定数を環境に合わせて編集します。 また、送信先も任意のアドレスに変更してください。 プログラムの細かい解説は前回(VBAでNotesのメールを作成・送信する_最も簡単なサンプル - 適材適所)をご覧ください。

次回は、添付ファイルを送付するサンプルを紹介したいと思います。

ここまでお読みいただき、ありがとうございました。

関連記事

www.tekizai.net