このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】ExcelからOutlook会議を設定するプログラム

2024年11月20日

Excelファイル
Outlook会議アイテム

今回は、VBAでExcelからOutlook会議を作成するプログラムを紹介します。

上の画像のようにExcelファイルに諸情報を入力すると、Outlookの会議を自動作成することができます。

参加者も含めて一瞬で設定することができるので、毎週たくさんの会議を設定しているという人はぜひ活用してみてください。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

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に貼り付けて実行してみてください。

Excelファイル

この画像のように、A~H列の情報を利用してOutlook会議を作成→表示してくれます。

あとは送信ボタンを押すだけで会議設定の完了です。

このプログラムでは2行目を対象としていますが、下記の部分を変更すれば行を変更することができます。

For文などを使えば、一気に複数のOutlook会議の作成が可能です。

    Dim itemRow As Long: itemRow = 2

開始時刻と終了時刻について

開始時刻と終了時刻ですが、Excelのデフォルトだと「2022/4/11」のように日付までしかセルに表示されません。

セルの書式設定

このようにセルの書式設定を変更すれば、時刻まで表示することができるので表示形式を変更して使用してみてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/11/24 20:41:17時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい