質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

1回答

2845閲覧

IncludeRecurrences = Trueの入れ方を教えてください

skel

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2021/02/17 15:06

編集2021/02/17 15:11

Outlookのカレンダーから今日の予定一覧を取得して
日報のメールにするマクロを下記のように組みました。
とりあえずは動くのですが、これだと過去に作成された
定期的な予定が取得されません。
おそらく
IncludeRecurrences = True
を入れるべきだと思うのですが、お恥ずかしながら
構文の組み立て方ががうまくいきません。
アドバイスをよろしくお願いいたします。 ]
Win10, Outlook2016です。

Private Sub Nippou() DoEvents Dim lst As Object Dim msg As Object Dim ns As NameSpace Dim fld As Folder Dim item As Object Dim appo As AppointmentItem Set lst = CreateObject("System.Collections.ArrayList") Set msg = CreateObject("System.Collections.ArrayList") Set ns = GetNamespace("MAPI") Set fld = ns.GetDefaultFolder(olFolderCalendar) For Each item In fld.Items If item.Class = olAppointment Then Set appo = item If DateValue(appo.Start) = Date Then lst.Add Format(appo.Start, "hh:mm ") & appo.Subject End If End If Next lst.Sort msg.Add Join(lst.toarray, vbCrLf) Dim Mail As Outlook.MailItem Set Mail = Application.CreateItemFromTemplate("oftのファイルパス") Mail.Body = Replace(Mail.Body, "<<今日の予定>>", Join(msg.toarray, vbCrLf)) Mail.Display End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Itemsクラスのプロパティーなので、
fld.Items.IncludeRecurrences = Trueですが、For Each item In fld.Itemsでの列挙に効くのかどうか不明。

私は、IncludeRecurrences プロパティ (Outlook) | Microsoft Docs のサンプルのように、Findで列挙してます。

投稿2021/02/17 15:57

otn

総合スコア84798

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2021/02/17 15:58

Excel VBAならともかく、リファレンス見ずにOutlook VBAを書くのは無謀だと思います。
skel

2021/02/22 06:03 編集

For Each item In fld.Itemsでの列挙に効くのかどうか不明。 →残念ながらこの挙動には効きませんでした。 リンク先のFindで定期的な予定を含めて項目の取得ができているのは確認できたので、 Findeでもう一回組みなおしてみます。アドバイスありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問