MENU

Accessのデータを使ってOutlookで送信する

Accessに格納しているデータを使い、Outlookを経由してメール送信できるようにしました。
送信前の情報を実際の送信画面で確認や編集ができるようにして、効率化だけではなく誤送信も防ぎます。

目次

AccessからOutlookに連携できるようにする

デフォルト状態だと連携ができません。
以下の手順でライブラリを参照してください。

  1. Visual Basicの画面を開く
  2. ツールの「参照設定」を開く
  3. 「Microsoft Outlook 16.0 Object Library」にチェックを入れる
    • A-Z順に並んでいます
    • 16.0はバージョン名なので異なる可能性があります

専用フォームを作る

便宜上、項目と名前を同一とした以下項目を作成

項目名前
メルアドメルアド
CCCC
BCCBCC
件名件名
本文本文
起動ボタン起動ボタン
point

「名前」とは、プロパティシートで「すべて」にしたとき一番上にある物のことです。

VBAを書く

Option Compare Database

Private Sub 起動_Click()

  Dim olApp As Outlook.Application
  Dim olMailMessage As Outlook.MailItem
  Dim olRecipient As Outlook.Recipient
  Dim blnKnownRecipient As Boolean
  Dim strRecip As String
  Dim strCc As String
  Dim strBcc As String
  Dim strSubject As String
  Dim strBody As String

  '送信先メールアドレスの設定
  strRecip = Me.メルアド
  'CCの設定
  strCc = Me.CC
  'BCCの設定
  strBcc = Me.BCC
  '件名の設定
  strSubject = Me.件名
  'メール本文の設定
  strBody = Me.本文

  'Outlookのインスタンスを作成
  Set olApp = New Outlook.Application
  'メッセージを新規作成
  Set olMailMessage = olApp.CreateItem(olMailItem)
  'メッセージの内容を設定して送信メール作成
  With olMailMessage
    Set olRecipient = .Recipients.Add(strRecip)
    blnKnownRecipient = olRecipient.Resolve
    .CC = strCc
    .BCC = strBcc
    .Subject = strSubject
    .Body = strBody
    If blnKnownRecipient Then
      'ソフト表示
      .Display
    End If
  End With
  Set olMailMessage = Nothing

End Sub

https://tsware.jp/tips/tips_255.htmを参考にさせて頂きました

下書きを確認しないで送信することも可能です。
最後の方にある「.Display」を「.Send」に変更し、最後の記述も少し変更すると送信されます。

社外メールの場合は怖いですが、定型テンプレしか送らない社内メールだったら有かもしれません。

イメージ

今回の例をそのまま使うと以下のようになります

留意事項

  • 送信先(宛先、CC、BCC)にメールアドレス形式が投入されていないと機能しない
  • CCが不要な場合は「Dim strCc As String」「strCc = Me.CC」「.CC = strCc」を削除
  • テキストボックス値ではなく固定値しか利用しない場合、例えば「Me.CC」のところに「”aa@aaaa”」と投入する
  • 固定値を投入していく中で改行が必要な場合は以下のように「chr(13)+chr(10)」を入れる。
    例:”ここに本文” & chr(13)+chr(10) & “2行目本文”
  • 表示するテキストボックスを連結させる場合は以下のように半角「&」を入れる。
    例:strCc = Me.CC1 & Me.CC2
  • 起動ボタンを押下してもメーラーが起動しない場合、メルアドの形式が異なっている可能性があります。
    例:@が大文字、@後がドメイン形式になっていない、など

関連

広告

目次