VBAから
・Outlookの会議依頼メールを送信
できます!
前提
VBAからOutlookの会議依頼メールを送信するためには、以下が必要です。
VBAコード
ここでは例として、以下を設定した会議依頼メールを送信します。
No. | 項目 | 設定値 |
---|---|---|
1 | 参加者(必須) | hogehoge@gmail.com |
2 | 参加者(任意) | piyopiyo@gmail.com |
3 | 件名 | XXXXの件について |
4 | 場所 | 第1会議室 |
5 | 開始時刻 | 2021/3/2 9:00 |
6 | 終了時刻 | 2021/3/2 18:00 |
7 | 終日のチェック有無 | 無し:False |
8 | 返信依頼の有無 | あり:True |
9 | 公開方法 | 空き時間 :0 |
10 | アラームあり/無し | あり:Trueで15分 |
11 | 本文 | 任意のメッセージ |
12 | 添付ファイル | 会議資料.txt |
添付用のファイル「会議資料.txt」をデスクトップ上に作成します。
Option Explicit
Sub sample()
Dim objApp As Object
Dim objAppt As Object
Dim objAttendee As Object
Set objApp = CreateObject("Outlook.Application")
Set objAppt = objApp.CreateItem(1)
With objAppt
'種類
'┗会議依頼メール :1
'┗会議キャンセル通知メール:5
.MeetingStatus = 1
'参加者(必須)
Set objAttendee = .Recipients.Add("hogehoge@gmail.com")
objAttendee.Type = 1
'参加者(任意)
Set objAttendee = .Recipients.Add("piyopiyo@gmail.com")
objAttendee.Type = 2
'件名
.Subject = "XXXXの件について"
'場所
.Location = "第1会議室"
'開始時刻
.start = "2021/3/2 9:00"
'終了時刻
.End = "2021/3/2 18:00"
'終日のチェック有無
'┗あり:True
'┗無し:False
.allDayEvent = False
'返信依頼の有無
'┗あり:True
'┗無し:False
.ResponseRequested = True
'公開方法
'┗空き時間 :0
'┗仮の予定 :1
'┗予定あり :2
'┗外出中 :3
'┗他の場所で作業中:4
.BusyStatus = 0
'アラームあり
'┗15分:15
'┗30分:30
'┗60分:60
.ReminderSet = True
.ReminderMinutesBeforeStart = 15
'本文
.Body = "各位" & vbCrLf & vbCrLf & "お忙しい中恐れ入りますが、よろしくお願い致します。"
'添付ファイル
.Attachments.Add "C:\Users\user\Desktop\会議資料.txt"
'送信
.Send
'表示
'.Display
End With
'会議依頼メール送信完了メッセージ
MsgBox ("会議依頼メールを送信しました!")
'後片付け
Set objApp = Nothing
Set objAppt = Nothing
Set objAttendee = Nothing
End Sub
実行結果
●会議依頼メールを送信できました。
●Outlookのスケジュールに登録されていることも確認できました。
●会議依頼メールの内容が、設定した通りであることも確認できました。
参考①
Excel VBAから普通のメールを送信する方法については、以下の記事をご確認ください。
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「AppointmentItemオブジェクト」の各プロパティ、「Send」メソッド等