【VBA】Excelの表をOutlookの予定表へ挿入する方法!画像貼り付けも可!

Outlook VBAでExcelの表をOutlookの予定本文へ自動挿入したいときはないでしょうか。

けど、そんな中で悩むことは、

・Excelの表をOutlookの予定本文したいが方法がわからない。
・VBAを使いExcelの表をOutlookの予定本文へ挿入する処理をしたいが複雑でわからない。

ですよね。

今回はそんなお悩みを解決する
VBAでExcelの表をOutlookの予定本文へ表データと画像形式で挿入する方法について
まとめます!

VBAを使いExcelの表をOutlookの予定本文へ挿入するイメージ

VBAを使いExcelの表をOutlookの予定本文へ挿入するイメージについて説明をします。

まず、Excel側にOutlookの予定へ貼り付けたい表を用意します。

続いて、以下の記事にて紹介しましたOutlook予定を自動作成するデータを同じExcelの1シート目に入力します。

VBAをExcel側へ実装し、マクロを実行します。

実行後、Outlookの予定が作成され、表データが本文に挿入されます。

また表を画像形式で挿入することもできます。

宛先を入力して、会議通知としてそのまま送ることもできます。

手作業ですと何回も操作が必要になることが、ワンクリックでできるのでとても便利ですね!

さっそく実装して試してみましょう。

Outlookの予定本文へ挿入する表を用意する

Excel側にOutlookの予定本文へ挿入する表を用意しましょう。

表形式はなんでもよいですが、サンプルの表は以下のように「Sheet2」シートへA列を産地、B列を商品名、C列を売上月の合計にしました。

Outlookの予定を作成するデータを用意する

Excel側にOutlookの予定を作成するデータを用意しましょう。

サンプルのデータは以下のように「Sheet1」シートへA列を件名、B列を場所、C列を開始日時、D列を終了日時、E列を予定の本文にしました。

タカヒロ
タカヒロ
まずは登録のみのため必須出席者と任意出席者は空欄にしてください。

件名 場所 開始日時 終了日時 予定の本文 必須出席者 任意出席者 EntryID
実績報告(2021年11月) Teams会議 2021/12/11 15:00:00 2021/12/11 16:00:00 実績報告会(2021年11月)を実施致しますのでご参加ください。

表1
<貼り付け位置>

こちらもご参照ください。

必須出席者のメールアドレスを指定します。 任意出席者のメールアドレスを指定します。 ブランク EntryIDが自動で入ります。

使用するVBAの種類と処理の流れ

Excelの表をOutlookの予定本文へ挿入するVBAについて説明をします。

タカヒロ
タカヒロ
今回使うVBAはExcel、Outlook、Wordの3種類になります。

処理の流れは以下の通りです。

 

①Excel VBA→ 予定表へスケジュールを登録して→ Outlook VBA

②Excel VBA ←スケジュールを登録したよ ←Outlook VBA

③Excel VBA?→ クリップボードの表貼り付けて →Outlook VBA→ 機能ないのでWordエディタで貼り付けよろしく→ Word VBA 貼り付けたよ

Excelの予定データを取り出しOutlookの予定表へ登録、本文をWordエディタで開き、表データまたは画像を挿入するという処理の流れとなります。

 

Excel VBAからOutlookを操作するための下準備

①まずExcelを起動し、「開発」タブをクリックします。

②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。

③「Microsoft Outlook XX.X Object Library」と「Microsoft Word XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。

以上です。

Excelの表データをOutlookの予定本文へ挿入するVBA

VBAの準備

Excelの表データをOutlookの予定本文へ挿入するVBAの実装方法について説明をします。

今回のサンプルコードは以下の通りです。

Sub Outlookの予定表へ登録する_表データ本文挿入()

    'Outlook用の定義
    Dim olApp As Outlook.Application
    Dim olNamespace As Outlook.Namespace
    Dim olFolder As Folder
    Dim olConItems As Outlook.Items
    Dim olItem  As AppointmentItem
    Dim checkFlg As Long
    
    '重複チェックフラグ初期値設定
    checkFlg = 0

    'Excel用の定義
    Dim wbBook As Workbook
    Dim wsSheet As Worksheet
    Dim lnContactCount As Long
    
    '抽出期間の定義
    Dim strStart As String
    Dim strEnd As String
    Dim intKikan As Integer
    
    '表貼り付け用定義
    Dim objSheet As Sheet2
    Dim objTableRG As Range
    Dim objWRG As Word.Range
    Dim strPastePos As String
    
    
    '表貼り付けの位置となる文字列を指定します。
    Set objSheet = Sheets("Sheet2")
    Set objTableRG = objSheet.Range("A1:C9")
    
    '表貼り付けの位置となる文字列を指定します。""内の文字列は適宜変更してください。
    strPastePos = "<貼り付け位置>"


    '対象予定表の抽出期間を月単位で指定します。
    '※抽出期間が短いと予定アイテムのチェックができず登録できない場合がありますので注意してください。
    intKikan = 12  '抽出期間を12か月にしています。
    
    strStart = Format(DateAdd("m", -intKikan, Date), "yyyy/mm/dd") '抽出するスケジュールの開始日を指定
    strEnd = Format(DateAdd("m", intKikan, Date), "yyyy/mm/dd") '抽出するスケジュールの終了日を指定
    
    
    'スクリーンの更新は行われません。
    Application.ScreenUpdating = False
    
    'Excelのブックとワークシートのオブジェクトを設定します。
    Set wbBook = ThisWorkbook
    Set wsSheet = wbBook.Worksheets(1)
    
    wsSheet.Activate
    
    'Outlookオブジェクトを設定し、MAPI名前空間を介してOutlookの予定表を取得します。
    Set olApp = New Outlook.Application
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set olFolder = olNamespace.GetDefaultFolder(olFolderCalendar)
    Set olConItems = olFolder.Items

    'Restrictメソッドで期間指定して抽出するメールアイテムを絞り込む
    Set olConItems = olConItems.Restrict("[Start] >= '" & strStart & "' And [End] < '" & strEnd & "'")


    '取得結果を記述する行番号を指定します。2行目のセルから開始されることになります。
    lnContactCount = 2

    Dim rc As Integer
    rc = MsgBox("予定表へ登録しますか?", vbYesNo + vbQuestion, "確認")
    
    If rc = vbYes Then
    
        '予定表一覧の件数分繰り返す。
        For i = lnContactCount To Cells(1, 1).End(xlDown).Row
            Set olItem = olApp.CreateItem(olAppointmentItem)

            '重複チェック&更新処理
            For Each olItemBefor In olConItems
                If TypeName(olItemBefor) = "AppointmentItem" Then
                
                    'ExcelI列のEntryIDと登録されているEntryIDが一致していたら該当予定表を更新
                    If olItemBefor.EntryID = Cells(i, 9) Then
                    
                        '比較用に一時的に作成
                        With olItem
                            .Subject = Cells(i, 1)
                            .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                            .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                        End With
    
                    
                        '重複フラグ1をセット
                         checkFlg = 1
                    
                        '登録されている予定表の件名と開始日時及び終了日時が一致していなかった場合のみ更新
                        '※更新の条件はご都合に応じて変更してください。この条件が無い場合はExcelの予定表すべて更新されますので、ご注意ください。
                        If olItemBefor.Subject = olItem.Subject And olItemBefor.Start = olItem.Start And olItemBefor.End = olItem.End Then

                        Else

                            '定期アイテムは除外します。
                            If Not olItemBefor.IsRecurring Then
                                 With olItemBefor
                                    .Subject = Cells(i, 1)
                                    .Location = Cells(i, 2)
                                    .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                                    .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                                    .Body = Cells(i, 5)
                                    .RequiredAttendees = Cells(i, 6)
                                    .OptionalAttendees = Cells(i, 7)
                                    
                                    'Excel表貼り付け処理----ここから
                                    
                                    '本文に表貼り付けの位置を示す文字があるかチェックします。
                                    If InStr(.Body, strPastePos) Then
                                    
                                        'Excel表をコピーします。
                                        objTableRG.Copy
                                        
                                        'メールアイテムをWordEditor経由で編集します。
                                        Set objWRG = olItemBefor.GetInspector.WordEditor.Range(0, 0)
                                        
                                        'カーソルを対象位置に移動します。※うまくカーソル移動がされない場合あり、Findメソッドへ変更しました。
                                        'objWRG.MoveUntil (strPastePos)
                                        
                                        '対象位置の文字列を選択します。
                                        objWRG.Find.Text = strPastePos
                                        objWRG.Find.Execute
                                        
                                        '予定表本文へ貼り付けます。
                                        objWRG.Paste
                                        
                                    End If
                                    
                                    'Excel表貼り付け処理----ここまで
                                    
                
                                    If Cells(i, 7) = "" Then
                                        .Save '予定を保存(登録)します。
                                    Else
                                        .MeetingStatus = 1  '予定を "会議" に設定します。 ※「olMeeting」でもOK
                                        .Display '一旦予定を表示します。
                                        .Send  '会議を送信します。
                                    End If

                                End With
                            End If
                        End If
                        
                    End If
                End If
            Next
            'EntryIDが空である場合のみ新規登録をすることにしました。
            If checkFlg <> 1 And Cells(i, 9) = "" Then
                With olItem
                    .Subject = Cells(i, 1)
                    .Location = Cells(i, 2)
                    .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                    .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                    .Body = Cells(i, 5)
                    .RequiredAttendees = Cells(i, 6)
                    .OptionalAttendees = Cells(i, 7)

                    'Excel表貼り付け処理----ここから
                    
                    '本文に表貼り付けの位置を示す文字があるかチェックします。
                    If InStr(.Body, strPastePos) Then

                        'Excel表をコピーします。
                        objTableRG.Copy
                        
                        'メールアイテムをWordEditor経由で編集します。
                        Set objWRG = olItem.GetInspector.WordEditor.Range(0, 0)
                        
                        'カーソルを対象位置に移動します。※うまくカーソル移動がされない場合あり、Findメソッドへ変更しました。
                        'objWRG.MoveUntil (strPastePos)
                        
                        '対象位置の文字列を選択します。
                        objWRG.Find.Text = strPastePos
                        objWRG.Find.Execute
                        
                        '予定表本文へ貼り付けます。
                        objWRG.Paste
                    End If
                    'Excel表貼り付け処理----ここまで

                    If Cells(i, 7) = "" Then
                        .Save '予定を保存(登録)します。
                    Else
                        .MeetingStatus = 1  '予定を "会議" に設定します。 ※「olMeeting」でもOK
                        .Display '一旦予定を表示します。
                        .Send  '会議を送信します。
                    End If
 
               End With
    
               'ExcelI列へ発行されたEntryIDを書き込み
               Cells(i, 9) = olItem.EntryID
                
            End If
    
        
        '重複フラグリセット
        checkFlg = 0
    
    Next
    
    Else
        MsgBox "処理を中断します"
    End If
    
    'オブジェクトを解放します。
    Set olItem = Nothing
    Set olApp = Nothing
    Set wbBook = Nothing
    Set wsSheet = Nothing
    Set olNamespace = Nothing
    Set olFolder = Nothing
    Set olConItems = Nothing
    Set objTableRG = Nothing
    Set objWRG = Nothing
    Set objSheet = Nothing
    
            
    'スクリーンの更新を再開します。
    Application.ScreenUpdating = True
    
    MsgBox "Outlook予定表の登録が完了しました!", vbInformation
    
End Sub

タカヒロ
タカヒロ
まずは表データをExcelのテーブル構造のままOutlook予定本文へ挿入します。

VBAの設定

VBAの設定箇所は以下の通りです。

本文へ貼り付けたい表の範囲を指定します。

Set objSheet = Sheets("Sheet2")
Set objTableRG = objSheet.Range("A1:C9")

表貼り付けの位置となる文字列を指定します。

タカヒロ
タカヒロ
“”内の文字列は適宜変更してください。

strPastePos = "<貼り付け位置>"

 

VBAの実装

下記「VBAの実装手順」をご参照ください。

VBAの実行

VBAをExcel側から実行してみましょう。

Outlookへの接続許可のポップアップウインドウが表示されたら「許可」をクリックします。

「”Outlook予定表の登録が完了しました!”」と表示されたら完了です。

登録された予定を開いてみましょう。

はい、本文の指定箇所に表が挿入されていますね!

VBAの説明

予定登録の内容についてはこちらをご参照ください。

【VBA】一瞬でExcelワークシートからOutlookの予定表へスケジュールを登録する

本文に表貼り付けの位置を示す文字があるかチェックします。

If InStr(.Body, strPastePos) Then

Excel表をコピーします。

objTableRG.Copy

メールアイテムをWordEditor経由で編集します。

Set objWRG = olItem.GetInspector.WordEditor.Range(0, 0)

対象位置の文字列を選択します。

objWRG.Find.Text = strPastePos
objWRG.Find.Execute

タカヒロ
タカヒロ
以前はMoveUntilメソッドでカーソル移動をしていましたが、位置指定がうまくいかない場合があり、また位置指定文字が残るので、Findメソッドで位置決め、位置指定文字列を削除するようにしました。

予定表本文へ貼り付けます。

objWRG.Paste

Excelの表画像をOutlookの予定本文へ挿入するVBA

VBAの準備

Excelの表画像をOutlookの予定本文へ挿入するVBAの実装方法について説明をします。

今回のサンプルコードは以下の通りです。

Sub Outlookの予定表へ登録する_表画像本文挿入()

    'Outlook用の定義
    Dim olApp As Outlook.Application
    Dim olNamespace As Outlook.Namespace
    Dim olFolder As Folder
    Dim olConItems As Outlook.Items
    Dim olItem  As AppointmentItem
    Dim checkFlg As Long
    
    '重複チェックフラグ初期値設定
    checkFlg = 0

    'Excel用の定義
    Dim wbBook As Workbook
    Dim wsSheet As Worksheet
    Dim lnContactCount As Long
    
    '抽出期間の定義
    Dim strStart As String
    Dim strEnd As String
    Dim intKikan As Integer
    
    '表貼り付け用定義
    Dim objSheet As Sheet2
    Dim objTableRG As Range
    Dim objWRG As Word.Range
    Dim strPastePos As String
    
    ' 本文へ貼り付けたい表の範囲を指定します。
    Set objSheet = Sheets("Sheet2")
    Set objTableRG = objSheet.Range("A1:C11")
    
    '表貼り付けの位置となる文字列を指定します。""内の文字列は適宜変更してください。
    strPastePos = "<貼り付け位置>"


    '対象予定表の抽出期間を月単位で指定します。
    '※抽出期間が短いと予定アイテムのチェックができず登録できない場合がありますので注意してください。
    intKikan = 12  '抽出期間を12か月にしています。
    
    strStart = Format(DateAdd("m", -intKikan, Date), "yyyy/mm/dd") '抽出するスケジュールの開始日を指定
    strEnd = Format(DateAdd("m", intKikan, Date), "yyyy/mm/dd") '抽出するスケジュールの終了日を指定
    
    
    'スクリーンの更新は行われません。
    Application.ScreenUpdating = False
    
    'Excelのブックとワークシートのオブジェクトを設定します。
    Set wbBook = ThisWorkbook
    Set wsSheet = wbBook.Worksheets(1)
    
    wsSheet.Activate
    
    'Outlookオブジェクトを設定し、MAPI名前空間を介してOutlookの予定表を取得します。
    Set olApp = New Outlook.Application
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set olFolder = olNamespace.GetDefaultFolder(olFolderCalendar)
    Set olConItems = olFolder.Items

    'Restrictメソッドで期間指定して抽出するメールアイテムを絞り込む
    Set olConItems = olConItems.Restrict("[Start] >= '" & strStart & "' And [End] < '" & strEnd & "'")


    '取得結果を記述する行番号を指定します。2行目のセルから開始されることになります。
    lnContactCount = 2

    Dim rc As Integer
    rc = MsgBox("予定表へ登録しますか?", vbYesNo + vbQuestion, "確認")
    
    If rc = vbYes Then
    
        '予定表一覧の件数分繰り返す。
        For i = lnContactCount To Cells(1, 1).End(xlDown).Row
            Set olItem = olApp.CreateItem(olAppointmentItem)

            '重複チェック&更新処理
            For Each olItemBefor In olConItems
                If TypeName(olItemBefor) = "AppointmentItem" Then
                
                    'ExcelI列のEntryIDと登録されているEntryIDが一致していたら該当予定表を更新
                    If olItemBefor.EntryID = Cells(i, 9) Then
                    
                        '比較用に一時的に作成
                        With olItem
                            .Subject = Cells(i, 1)
                            .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                            .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                        End With
    
                    
                        '重複フラグ1をセット
                         checkFlg = 1
                    
                        '登録されている予定表の件名と開始日時及び終了日時が一致していなかった場合のみ更新
                        '※更新の条件はご都合に応じて変更してください。この条件が無い場合はExcelの予定表すべて更新されますので、ご注意ください。
                        If olItemBefor.Subject = olItem.Subject And olItemBefor.Start = olItem.Start And olItemBefor.End = olItem.End Then
    
    
                        Else

                            '定期アイテムは除外します。
                            If Not olItemBefor.IsRecurring Then
                                 With olItemBefor
                                    .Subject = Cells(i, 1)
                                    .Location = Cells(i, 2)
                                    .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                                    .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                                    .Body = Cells(i, 5)
                                    .RequiredAttendees = Cells(i, 6)
                                    .OptionalAttendees = Cells(i, 7)
                                    'Excel表貼り付け処理----ここから
                                    
                                    '本文に表貼り付けの位置を示す文字があるかチェックします。
                                    If InStr(.Body, strPastePos) Then
                                    
                                        ' 範囲指定された部分を画像としてコピーします。
                                        objTableRG.CopyPicture Appearance:=xlScreen, Format:=xlPicture
                                        
                                        
                                        'メールアイテムをWordEditor経由で編集します。
                                        Set objWRG = olItemBefor.GetInspector.WordEditor.Range(0, 0)
                                        
                                        'カーソルを対象位置に移動します。※うまくカーソル移動がされない場合あり、Findメソッドへ変更しました。
                                        'objWRG.MoveUntil (strPastePos)
                                        
                                        '対象位置の文字列を選択します。
                                        objWRG.Find.Text = strPastePos
                                        objWRG.Find.Execute
                                        
                                        '予定表本文へ貼り付けます。
                                        objWRG.Paste
                                        
                                    End If
                                    
                                    'Excel表貼り付け処理----ここまで
                
                                    If Cells(i, 7) = "" Then
                                        .Save '予定を保存(登録)します。
                                    Else
                                        .MeetingStatus = 1  '予定を "会議" に設定します。 ※「olMeeting」でもOK
                                        .Display '一旦予定を表示します。
                                        .Send  '会議を送信します。
                                    End If
                                End With
                            End If
                        End If
                        
                    End If
                End If
            Next
            'EntryIDが空である場合のみ新規登録をすることにしました。
            If checkFlg <> 1 And Cells(i, 9) = "" Then
                With olItem
                    .Subject = Cells(i, 1)
                    .Location = Cells(i, 2)
                    .Start = Format(Cells(i, 3), "yyyy/mm/dd hh:mm:ss")
                    .End = Format(Cells(i, 4), "yyyy/mm/dd hh:mm:ss")
                    .Body = Cells(i, 5)
                    .RequiredAttendees = Cells(i, 6)
                    .OptionalAttendees = Cells(i, 7)

                    'Excel表貼り付け処理----ここから
                    
                    If InStr(.Body, strPastePos) Then
                    
                        ' 範囲指定された部分を画像としてコピーします。
                        objTableRG.CopyPicture Appearance:=xlScreen, Format:=xlPicture
                        
                        
                        'メールアイテムをWordEditor経由で編集します。
                        Set objWRG = olItem.GetInspector.WordEditor.Range(0, 0)
                        
                        'カーソルを対象位置に移動します。※うまくカーソル移動がされない場合あり、Findメソッドへ変更しました。
                        'objWRG.MoveUntil (strPastePos)
                        
                        '対象位置の文字列を選択します。
                        objWRG.Find.Text = strPastePos
                        objWRG.Find.Execute
                        
                        '予定表本文へ貼り付けます。
                        objWRG.Paste
                    
                    End If
                    
                    'Excel表貼り付け処理----ここまで

                    If Cells(i, 7) = "" Then
                        .Save '予定を保存(登録)します。
                    Else
                        .MeetingStatus = 1  '予定を "会議" に設定します。 ※「olMeeting」でもOK
                        .Display '一旦予定を表示します。
                        .Send  '会議を送信します。
                    End If

                    
               End With
    
               'ExcelI列へ発行されたEntryIDを書き込み
               Cells(i, 9) = olItem.EntryID
                
            End If
    
        
        '重複フラグリセット
        checkFlg = 0
    
    Next
    
    Else
        MsgBox "処理を中断します"
    End If
    
    'オブジェクトを解放します。
    Set olItem = Nothing
    Set olApp = Nothing
    Set wbBook = Nothing
    Set wsSheet = Nothing
    Set olNamespace = Nothing
    Set olFolder = Nothing
    Set olConItems = Nothing
    Set objTableRG = Nothing
    Set objWRG = Nothing
    Set objSheet = Nothing
    

            
    'スクリーンの更新を再開します。
    Application.ScreenUpdating = True
    
    MsgBox "Outlook予定表の登録が完了しました!", vbInformation
    
End Sub

タカヒロ
タカヒロ
次はExcelの表をキャプチャし、表を画像形式でOutlook予定本文へ挿入していきます。

VBAの設定

VBAの設定箇所は以下の通りです。

本文へ貼り付けたい表の範囲を指定します。

Set objSheet = Sheets("Sheet2")
Set objTableRG = objSheet.Range("A1:C9")

表貼り付けの位置となる文字列を指定します。

タカヒロ
タカヒロ
“”内の文字列は適宜変更してください。

strPastePos = "<貼り付け位置>"

VBAの実行

VBAをExcel側から実行してみましょう。

接続許可のポップアップウインドウが表示されたらOKをクリックします。

「”Outlook予定表の登録が完了しました!”」と表示されたら完了です。

登録された予定を開いてみましょう。

はい、本文の指定箇所に表が画像形式で挿入されていますね!

VBAの説明

予定登録の内容についてはこちらをご参照ください。

【VBA】一瞬でExcelワークシートからOutlookの予定表へスケジュールを登録する

本文に表貼り付けの位置を示す文字があるかチェックします。

If InStr(.Body, strPastePos) Then

範囲指定された部分を画像としてコピーします。

objTableRG.CopyPicture Appearance:=xlScreen, Format:=xlPicture

メールアイテムをWordEditor経由で編集します。

Set objWRG = olItem.GetInspector.WordEditor.Range(0, 0)

対象位置の文字列を選択します。

objWRG.Find.Text = strPastePos
objWRG.Find.Execute

タカヒロ
タカヒロ
以前はMoveUntilメソッドでカーソル移動をしていましたが、位置指定がうまくいかない場合があり、また位置指定文字が残るので、Findメソッドで位置決め、位置指定文字列を削除するようにしました。


予定表本文へ貼り付けます。

objWRG.Paste

Excelの表データをOutlookの予定本文へ挿入し、送信する

次はExcelの表をOutlookの予定本文へ挿入した上に、会議通知として送信してみましょう。

データの準備

Excel1シート目のF列に必須出席者、G列に任意出席者のアドレスを指定します。

VBAの実行

VBAを実行しましょう。

はい、会議通知がされていますね。

表データ版

表画像版

VBAの説明

会議通知の箇所について説明をします。

もし必須出席者が空であれば予定を保存(登録)します。入力してある場合は会議通知を実施します。

If Cells(i, 7) = "" Then.Save

予定を “会議” に設定します。 ※「olMeeting」でもOKです。

.MeetingStatus = 1

タカヒロ
タカヒロ
非表示の状態で処理をすると表がうまく張られないため一旦予定を表示しています。


予定を表示します。

.Display

会議を送信します。

.Send

VBAの実装手順

実装手順は以下の通りです。

Excel側にVBAを実装していきます。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。

さいごに

いかがでしょうか。

今回は、
VBAでExcelの表をOutlookの予定本文へ表データと画像形式で挿入する方法について
まとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。



タカヒロ

タカヒロ
実質無料で読めるExcelVBA本についてまとめました。
もしVBA本購入を検討されていたら、どれだけお得か確かめてみてください。

【¥0】実質無料のExcelVBAおすすめ本25選!初級~中級まで網羅!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です