本ページには広告が含まれています。
目次
- 構文
- Folder = Outlook.Folders.[_Default]( Index )
- 引数
- Index省略可
- 戻り値
Folders オブジェクト を返すメソッド・プロパティ
- Outlook.Folders
- Folders オブジェクトに定義されている検索フォルダを表すFolders オブジェクトを返します。
プログラム実行例
アカウント毎に迷惑メールの件数を集計(Outlook)
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folders = NameSpace.Folders
FOR oFolder IN Folders
//PRINT "■" + oFolder.Name
Folder = NameSpace.Folders(oFolder.Name).Folders("迷惑メール")
PRINT oFolder.Name + ":" + Folder.Items.Count + "件"
NEXT
結果
Yahoo!: 42516件
Android: 0件
使用関数
すべてのフォルダの項目と件数を取得する
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folders = NameSpace.Folders
FOR Folder IN Folders
PRINT "■" + Folder.Name
Folders2 = NameSpace.Folders(Folder.Name).Folders
FOR Folder2 IN Folders2
PRINT "・" + Folder2.Name + ":" + Folder2.Items.Count + "件"
NEXT
PRINT
NEXT
結果
■Android_旧
・受信トレイ:7698件
・削除済みアイテム:8件
・送信済みアイテム:0件
・迷惑メール:0件
・送信トレイ:0件
・連絡先候補:0件
・ニュース フィード:0件
・予定表:1件
・連絡先:0件
・履歴:0件
・メモ:0件
・タスク:0件
・下書き:0件
・RSS フィード:0件
・スレッド アクション設定:0件
・クイック操作設定:0件
■Yahoo!_旧
・削除済みアイテム:1件
・受信トレイ:323518件
・送信トレイ:0件
・送信済みアイテム:1件
・予定表:34件
・連絡先:620件
・履歴:0件
・メモ:0件
・タスク:0件
・下書き:1件
・RSS フィード:0件
・スレッド アクション設定:0件
・クイック操作設定:0件
・迷惑メール:44025件
・連絡先候補:0件
・ニュース フィード:0件
■Android_新
・受信トレイ:10902件
・削除済みアイテム:0件
・送信済みアイテム:0件
・迷惑メール:0件
■Yahoo!_新
・削除済みアイテム:1件
・受信トレイ:410292件
・送信トレイ:0件
・送信済みアイテム:1件
・予定表:34件
・連絡先:620件
・履歴:0件
・メモ:0件
・タスク:0件
・下書き:1件
・RSS フィード:0件
・スレッド アクション設定:0件
・クイック操作設定:0件
・迷惑メール:51607件
・連絡先候補:0件
・ニュース フィード:0件
使用関数
過去7日間に受信した迷惑メールの受信日時とメールアドレスを取得
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folders = NameSpace.Folders("Yahoo!_新").Folders("迷惑メール")
DIM startDate = dateAdd("d", -7, today())
DIM endDate = dateAdd("d", -1, today())
DIM Items = Folders.Items.Restrict("[ReceivedTime] >= '" + startDate + "' AND [ReceivedTime] < '" + endDate + "'")
DIM count = Items.Count
Items.Sort("受信日時")
FOR Index = 1 TO count
WITH Items.Item(Index)
PRINT .ReceivedTime + "<#TAB>" + .SenderEmailAddress
ENDWITH
NEXT
//////////////////////////////////////////////////
// 【引数】
// interval : 加算する時間間隔を表す文字列式(yyyy:年、m:月、d:日、ww:週、h:時、n:分、s:秒)
// num : dateに加算する値。未来は正、過去は負で指定
// date : 時間間隔を加算する日付
// 【戻り値】
// 日時(date)に、指定した単位(interval)の時間(num)を加算して返します
//////////////////////////////////////////////////
FUNCTION dateAdd(interval, num, date)
DIM year, month, day, d
GETTIME(0, date)
DIM time = G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
SELECT interval
CASE "yyyy"
d = (G_TIME_YY + num) + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
IF time <> "00:00:00" THEN d = d + " " + time
CASE "m"
IFB num > 0 THEN
year = G_TIME_YY + INT((G_TIME_MM + num) / 12)
month = REPLACE(FORMAT(((G_TIME_MM + num) MOD 12), 2), " ", "0")
ELSE
year = G_TIME_YY + CEIL((G_TIME_MM + num) / 12 - 1)
month = REPLACE(FORMAT(G_TIME_MM - (ABS(num) MOD 12), 2), " ", "0")
ENDIF
IF month = "00" THEN month = 12
day = G_TIME_DD2
d = "" + year + month + day
IFB !isDate(d) THEN
d = year + "/" + month + "/" + "01"
d = getEndOfMonth(d)
ELSE
d = year + "/" + month + "/" + day
ENDIF
IF time <> "00:00:00" THEN d = d + " " + time
CASE "d"
t = GETTIME(num, date)
d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
CASE "ww"
t = GETTIME(num * 7, date)
d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
CASE "h"
t = GETTIME(num / 24, date)
d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
CASE "n"
t = GETTIME(num / 1440, date)
d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
CASE "s"
t = GETTIME(num / 86400, date)
d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
SELEND
RESULT = d
FEND
//////////////////////////////////////////////////
// 【引数】
// date : 日付(”YYYYMMDD” or “YYYY/MM/DD” or “YYYY-MM-DD” or “YYYYMMDDHHNNSS” or “YYYY/MM/DD HH:NN:SS”)
// m : 第一引数の指定日からプラスマイナスm月とする
// 【戻り値】
// dateからm月後の月末の日付
//////////////////////////////////////////////////
FUNCTION getEndOfMonth(date, m = 0)
date = dateAdd("m", m + 1, date)
GETTIME(0, date)
GETTIME(-G_TIME_DD, date)
RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
FEND
//////////////////////////////////////////////////
// 【引数】
// expr : 評価する式
// truepart : 評価した式がTrueのときに返す値
// falsepart : 評価した式がFalseのときに返す値
// 【戻り値】
// truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
IFB EVAL(expr) THEN
RESULT = truepart
ELSE
RESULT = falsepart
ENDIF
FEND
//////////////////////////////////////////////////
// 【引数】
// date : 存在するかを調べる日付文字列。YYYYMMDD or YYYY/MM/DD or YYYY-MM-DDのいずれかの形式。
// 【戻り値】
// TRUE : 日付として認識できる、FALSE : 日付として認識できない
//////////////////////////////////////////////////
FUNCTION isDate(date)
TRY
GETTIME(0, date)
RESULT = TRUE
EXCEPT
RESULT = FALSE
ENDTRY
FEND
//////////////////////////////////////////////////
// 【引数】
//
// 【戻り値】
//
//////////////////////////////////////////////////
使用関数
解説
メソッド
<表示切り替え>プロパティ
<表示切り替え>参考文献
関連記事
- Account オブジェクト
- Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
- Accounts オブジェクト
- 現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
- Application オブジェクト
- Outlookアプリケーション全体を表します。
- AppointmentItem オブジェクト
- 新しい予定を表すAppointmentItemオブジェクトを作成します。
- Folder オブジェクト
- Items オブジェクト
- MailItem オブジェクト
- メールメッセージを表します。
- NameSpace オブジェクト
- Outlookのメールや予定表、連絡先といった様々なデータにアクセスすることができます。
- Recipient オブジェクト
- TaskItem オブジェクト