【VBA】ExcelからOutlook会議を設定するプログラム
今回は、VBAでExcelからOutlook会議を作成するプログラムを紹介します。
上の画像のようにExcelファイルに諸情報を入力すると、Outlookの会議を自動作成することができます。
参加者も含めて一瞬で設定することができるので、毎週たくさんの会議を設定しているという人はぜひ活用してみてください。
ExcelからOutlook会議を設定するプログラム
Sub MakeMTG()
'会議アイテムを作成⇒表示
'対象行
Dim itemRow As Long: itemRow = 2
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
Dim olAppItem As Object
Set olAppItem = olApp.CreateItem(1) 'olAppointmentItem
With olAppItem
.MeetingStatus = 1 '会議アイテム(olMeeting)
.Subject = Cells(itemRow, 1) '会議名
'時間設定(エラーが発生する場合は終了)
On Error GoTo TimeError
.Start = Cells(itemRow, 2)
.End = Cells(itemRow, 3)
On Error GoTo 0
.Location = Cells(itemRow, 4) '場所
.ReminderSet = True 'アラームをセット
.ReminderMinutesBeforeStart = 1440 '1日前にアラーム
End With
'必須出席者
Call AddRcpReq(olAppItem, Cells(itemRow, 5))
Call AddRcpReq(olAppItem, Cells(itemRow, 6))
Call AddRcpReq(olAppItem, Cells(itemRow, 7))
Call AddRcpReq(olAppItem, Cells(itemRow, 8))
olAppItem.Display '会議アイテムを表示
Set olApp = Nothing: Set olAppItem = Nothing
Exit Sub
TimeError:
MsgBox "開始or終了時刻の値を修正してください"
End Sub
Private Sub AddRcpReq(olAppItem As Object, mailAddress As String)
'mailAddressを必須出席者に追加
'mailAddressが""の場合は追加しない
If mailAddress = "" Then Exit Sub
With olAppItem.Recipients.Add(mailAddress)
.Type = 1 '必須出席者(olRequired)
End With
End Sub
このプログラムをExcelのVBEに貼り付けて実行してみてください。
この画像のように、A~H列の情報を利用してOutlook会議を作成→表示してくれます。
あとは送信ボタンを押すだけで会議設定の完了です。
このプログラムでは2行目を対象としていますが、下記の部分を変更すれば行を変更することができます。
For文などを使えば、一気に複数のOutlook会議の作成が可能です。
Dim itemRow As Long: itemRow = 2
開始時刻と終了時刻について
開始時刻と終了時刻ですが、Excelのデフォルトだと「2022/4/11」のように日付までしかセルに表示されません。
このようにセルの書式設定を変更すれば、時刻まで表示することができるので表示形式を変更して使用してみてください。