Items.GetNextゲットネクスト メソッド

Itemsコレクション内の次のItemオブジェクトを取得します。次の要素がない場合NOTHINGを返します。

GetNextメソッドはItems.GetFirst メソッドとセットでループ内で使うのが一般的です。

要素の最後から処理していく場合は、Items.GetLast メソッドで最後の要素を取得してからItems.GetNext メソッドで前に戻っていきます。

構文
Items.GetNext
引数
戻り値

Items オブジェクトを返すメソッド・プロパティ

Items.Restrict メソッド
Items コレクションにフィルタを適用し、フィルタに一致する元のすべてのアイテムを含む新しいItems コレクションを返します。

使い方

既定フォルダにある未読のメールを取得後に昇順(古い順)に並び替え、件名を順に出力していく。

まず最初の要素をItems.GetFirst メソッドで取得し、ループ内最後で次の要素をItems.GetNext メソッドで取得していきます。次の要素を見つけられない場合はNOTHINGを返すので、WHILE文の判定でループを抜けることになります。

UWSC
CONST olFolderInbox = 6

DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox)
DIM Items = Folder.Items
Items = Items.Restrict("[UnRead]=TRUE")
Items.Sort("[ReceivedTime]", FALSE)

DIM MailItem = Items.GetFirst

WHILE MailItem <> NOTHING
	PRINT MailItem.Subject
	MailItem = Items.GetNext
WEND

上記に書いたプログラムはMailItemNOTHINGになるまでItems.Restrict メソッドでの条件にマッチしたすべての要素に対して処理を行っていますが、一部の要素にだけ処理を行いたい場合はカウンタを用意し、一定の数だけ処理を行ったらループを抜けます。以下は最大で5件だけ処理を行います。

UWSC
DIM i = 0
WHILE MailItem <> NOTHING AND i < 5
	PRINT MailItem.Subject
	MailItem = Items.GetNext
	i = i + 1
WEND

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。

関連記事

Account オブジェクト
Accountオブジェクトは、現在のプロファイルに定義されているアカウントを表します。
Accounts オブジェクト
現在のプロファイルで利用できるアカウントを表すAccountオブジェクトのセットが含まれています。
Application オブジェクト
Outlookアプリケーション全体を表します。
AppointmentItem オブジェクト
新しい予定を表すAppointmentItemオブジェクトを作成します。
Folder オブジェクト
Folders オブジェクト
Items オブジェクト
MailItem オブジェクト
メールメッセージを表します。
NameSpace オブジェクト
Outlookのメールや予定表、連絡先といった様々なデータにアクセスすることができます。
Recipient オブジェクト