タカヒロ@extan【VBA】一瞬でExcelのスケジュールをOutlookの予定表へ登録/変更する方法Outlookの予定表で予定を登録する機会は多いかと思います。アイテム更新処理<高速版>【追加】予定表の公開方法を指定するVBA【追加】終日の予定を登録するさいごにExcelにまとめたスケジュール一覧をOutlook予定表へ一括登録する処理の方法についてExcelにまとめたスケジュール一覧をOutlook予定表へ一括登録する処理の方法について説明をします。Excelにまとめたスケジュール一覧は以下のようにします。任意出席者のアドレスを入力マクロを実行すると、Outlookの予定表へExcelにまとめたスケジュールが登録されます!今回のマクロ実行環境はスケジュール一覧があるExcel側となります。タカヒロExcelからOutlookの操作を行いますので、Outlookを起動していなくても予定の登録が可能です。実行することで、Excelのスケジュールデータを一件づつ取り出しOutlookの予定表へ登録する流れとなります。VBAからOutlookを操作するための下準備1まずExcelを起動し、「開発」タブをクリックします。2VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。Library」を探してチェックボックスにチェックし「OK」をクリックします。VBAを実装する続いてVBAを実装します。今回VBAは以下の通りとなります。'スクリーンの更新は行われません。'Excelのブックとワークシートのオブジェクトを設定します。'Outlookオブジェクトを設定し、MAPI名前空間を介してOutlookの予定表を取得します。'取得結果を記述する行番号を指定します。2行目のセルから開始されることになります。'予定表一覧の件数分繰り返す。Sub実装手順は以下の通りです。今回はExcel側にこのVBAを実装します。1Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。ショートカットキー「Alt」+「F11」でもOKです。2標準モジュールを追加します。モジュール」を選択します。3右ペインのウインドウに上記のマクロを入力します。VBAを実行する1データを準備します。サンプルでは前回取得したデータを元に、「開始日時」と「終了日時」に変更を加えています。手動で入力する際には以下の項目に沿って記入をしてください。タカヒロ特に「開始日時」と「終了日時」の形式に入力間違えがないように注意してください。任意出席者のアドレスを入力2「開発」タブの「マクロ」をクリックし「Outlookの予定表へ登録する」を選択し、「実行」をクリックします。3Outlookの予定表へ登録されたら完成です!念のためスケジュール表の中身も見てみましょう。スケジュールの各項目も反映されていますね。今回は仕様上会議出席者を指定しても出席者へ連絡がされません。2回同じ情報で登録した場合は、既存のスケジュールを変更するのではなく追加となりますのでご注意ください。2回実施した場合はこうなります。タカヒロやっぱり予定アイテムの重複は困るよとの意見があり、重複スキップ版を作成してみました。1点目は件名と開始日時で重複判定、2点目は予定IDで判定し、更新も可能にしてみました。会議出席依頼の送信をする場合タカヒロ会議出席依頼の送信を行いたい場合は以下の記事をご参照ください。予定表の中で、これから登録する件名と開始日時が登録済み予定アイテムと一致していたら処理をスキップする処理を追加しました。VBAは以下の通りとなります。'スクリーンの更新は行われません。'Excelのブックとワークシートのオブジェクトを設定します。'Outlookオブジェクトを設定し、MAPI名前空間を介してOutlookの予定表を取得します。'取得結果を記述する行番号を指定します。2行目のセルから開始されることになります。'予定表一覧の件数分繰り返す。更新をExcelからできるようにしました。タカヒロ今までは新規登録のみでしたが、登録した既存予定アイテムの更新を可能にしたわけです。新規登録の場合はOutlook予定表に登録され、ExcelのI列に予定アイテムのIDが登録されます。hh:mm:ss”形式で入力予定の本文を入力必須出席者のアドレスを入力任意出席者のアドレスを入力空欄EntryIDが自動で入ります。EntryID更新の場合はその予定アイテムのIDと一致した場合に実施されるようにしました。Thenこちらのif文の条件を緩和してください。if文を外すと問答無用にExcelリスト分の予定アイテムが更新されますのでご注意ください。VBAは以下の通りとなります。'スクリーンの更新は行われません。'Excelのブックとワークシートのオブジェクトを設定します。'Outlookオブジェクトを設定し、MAPI名前空間を介してOutlookの予定表を取得します。'取得結果を記述する行番号を指定します。2行目のセルから開始されることになります。'予定表一覧の件数分繰り返す。'※更新の条件はご都合に応じて変更してください。この条件が無い場合はExcelの予定表すべて更新されますので、ご注意ください。Subタカヒロ複数ユーザで登録する場合は予定ID(EntryID)が重複したり更新されますので、1ユーザのみで利用するようお願いします。>>続いて、予定登録処理の高速版、終日予定の登録方法について説明します!12この記事の関連キーワードこちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。「予定表」の関連記事こちらの記事の内容「予定表」に関連する記事一覧です。AMいつもご利用ありがとうございます。予定表をデフォルトの予定表ではなく、新しく作成した別の予定表を指定し登録する方法について以下の記事にまとめておりますので、ご参考いただきたくお願いいたします。AMご指摘ありがとうございます。olItemBeforの宣言は入れるべきでした。掲載のコードも修正させていただきました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Outlookへ終日の予定を登録する方法!複数日指定も!RECOMMENDこちらの記事も人気です。76「パスが見つかりません。