• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:outlook 実際のアイテム数より1多い数が取得)

outlook VBAで実際のアイテム数より1多い数が取得される理由

このQ&Aのポイント
  • outlook VBAでフォルダ内のすべてのメールを処理する際、実際のアイテム数より1多い数が取得される現象が発生します。
  • この現象の原因は、処理の開始前にメールが追加され、アイテム数が変化したためです。
  • 処理中にメールが追加される可能性があるため、ループの最初にアイテム数を取得し、その後に処理を行う必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

>For x = 1 To mf.Items.Count は、以下のコードと一緒だから: Dim x as Integer x = 1 While x <= mf.Items.Count ' ここに処理を記述 x = x + 1 Wend 上記コードでのWhileループ終了時のxの値がいくつになるかに注目してください。

参考URL:
http://msdn.microsoft.com/en-us/library/5z06z1kb.aspx
EXVNBQQH
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

Dim i As Integer For i = 1 To 10 Next i MsgBox i で「11」が表示されるのと同じです。 (i=11の時にループを抜けるから)

EXVNBQQH
質問者

お礼

納得しました。ありがとうございました。