- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:outlook 実際のアイテム数より1多い数が取得)
outlook VBAで実際のアイテム数より1多い数が取得される理由
このQ&Aのポイント
- outlook VBAでフォルダ内のすべてのメールを処理する際、実際のアイテム数より1多い数が取得される現象が発生します。
- この現象の原因は、処理の開始前にメールが追加され、アイテム数が変化したためです。
- 処理中にメールが追加される可能性があるため、ループの最初にアイテム数を取得し、その後に処理を行う必要があります。
- みんなの回答 (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の値がいくつになるかに注目してください。
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
回答No.1
Dim i As Integer For i = 1 To 10 Next i MsgBox i で「11」が表示されるのと同じです。 (i=11の時にループを抜けるから)
質問者
お礼
納得しました。ありがとうございました。
お礼
ありがとうございました。