本ページには広告が含まれています。
Contents
指定されたプロパティのコレクションを並べ替えます。
- 構文
- Items.Sort( Property, Descending )
- 引数
- Property (String)必須
- 並び替えるプロパティの名前
- Descending (Boolean = False)省略可
- 降順で並び替えるにはTrueを指定します。既定値はFalse(昇順)です。
- 戻り値
Items オブジェクトを返すメソッド・プロパティ
- Items.Restrict メソッド
- Items コレクションにフィルタを適用し、フィルタに一致する元のすべてのアイテムを含む新しいItems コレクションを返します。
使い方
PropertyにはMailItem オブジェクトの名前を指定できます。プロパティ名を[ ]で囲んで指定します。よく使うものを以下の表に記載しておきます。
プロパティ名 | 項目 |
---|---|
[ReceivedTime] | 受信日時 |
[SentOn] | 送信日時 |
[Subject] | 件名 |
[Size] | メールサイズ |
[Importance] | 重要度 |
[Categories] | カテゴリー |
[To] | 宛先 |
[From] | 送信元 |
[CC] | Cc |
[BCC] | Bcc |
[UnRead] | 未読フラグ |
アイテムを受信日時(昇順)で並び替えます。
Items.Sort("[ReceivedTime]")
アイテムを送信日時(降順)で並び替えます。
Items.Sort("[ReceivedTime]", TRUE)
アイテムを件名(昇順)で並び替えます。
Items.Sort("[ReceivedTime]", FALSE)
プログラム実行例
過去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
使用関数
解説
未読メールの本文からURLを抽出
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folder = NameSpace.Folders("Android_新").Folders("受信トレイ")
DIM Items = Folder.Items.Restrict("[UnRead] = TRUE")
Items.Sort("受信日時", TRUE)
// クリックするURLを格納した配列(部分一致)
DIM urls[] = "://example.com"
DIM driver = CREATEOLEOBJ("Selenium.WebDriver")
WebDriverDownload.Chrome()
// ログイン情報を保存
CONST PROFILE_PATH = "C:\Users\" + BETWEENSTR(DOSCMD("SET"), "USERNAME=", "<#CR>") + "\AppData\Local\Google\Chrome\User Data\Default"
driver.AddArgument("user-data-dir=" + PROFILE_PATH)
driver.Start("chrome")
DIM count = Items.Count
FOR Index = count TO 1 STEP -1
WITH Items.Item(Index)
FUKIDASI(Index + "<#TAB>" + .SenderEmailAddress + "<#TAB>" + .ReceivedTime)
DIM Matches = reExecute(.Body, "https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?")
// メール本文のURLをループ
FOR Match IN Matches
// クリックするURLをチェック
FOR i = 0 TO UBound(urls)
IF POS(urls[i], Match.Value) = 0 THEN CONTINUE
driver.Get(Match.Value) // リンクを開く
NEXT
NEXT
SLEEP(1.000)
ENDWITH
NEXT
使用関数
既定フォルダの最新のメールを取得
既定フォルダで受信した最新のメールを取得し、差出人名、件名、受信日時を出力します。
CONST olFolderInbox = 6
DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox)
DIM Items = Folder.Items
Items.Sort("[ReceivedTime]", FALSE)
DIM MailItem = Items.GetLast
WITH MailItem
PRINT "差出人名," + .SenderName
PRINT "件名," + .Subject
PRINT "受信日時," + .ReceivedTime
ENDWITH
使用関数
解説
関連記事
- QSORT関数 (スクリプト関数)
- QSORT関数は、配列の中身をソートする関数です。戻値はありません。昇順・降順・UNICODE文字比較 昇順・UNICODE文字比較 降順・自然順ソート 昇順・自然順ソート 降順のいずれかを指定することができます。
- Sort.Header プロパティ (Excel)
- 最初の行にヘッダー情報が含まれるかどうかを指定します。
- small関数 (自作関数)
- 配列の中で小さい方から数えた順位の値を求めます。
- Account オブジェクト
- Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
- Accounts オブジェクト
- 現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
- Application オブジェクト
- Outlookアプリケーション全体を表します。
- bubbleSort関数 (自作関数)
- 引数に指定された配列を バブルソート で並び替えます。
- shakerSort関数 (自作関数)
- 引数に指定された配列を シェーカーソート で並び替えます。
- gnomeSort関数 (自作関数)
- 引数に指定された配列を ノームソート で並び替えます。
- AppointmentItem オブジェクト
- 新しい予定を表すAppointmentItemオブジェクトを作成します。