Itemsコレクション内の次のItemオブジェクトを取得します。次の要素がない場合NOTHINGを返します。
GetNextメソッドはItems.GetFirst メソッドとセットでループ内で使うのが一般的です。
要素の最後から処理していく場合は、Items.GetLast メソッドで最後の要素を取得してからItems.GetNext メソッドで前に戻っていきます。
- 構文
- Items.GetNext
- 引数
- 戻り値
Items オブジェクトを返すメソッド・プロパティ
- Items.Restrict メソッド
- Items コレクションにフィルタを適用し、フィルタに一致する元のすべてのアイテムを含む新しいItems コレクションを返します。
使い方
既定フォルダにある未読のメールを取得後に昇順(古い順)に並び替え、件名を順に出力していく。
まず最初の要素をItems.GetFirst メソッドで取得し、ループ内最後で次の要素をItems.GetNext メソッドで取得していきます。次の要素を見つけられない場合はNOTHINGを返すので、WHILE文の判定でループを抜けることになります。
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
上記に書いたプログラムはMailItemがNOTHINGになるまでItems.Restrict メソッドでの条件にマッチしたすべての要素に対して処理を行っていますが、一部の要素にだけ処理を行いたい場合はカウンタを用意し、一定の数だけ処理を行ったらループを抜けます。以下は最大で5件だけ処理を行います。
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 オブジェクト