Das Archiv des Excel-Forums
Excel- Outlookproblem
Betrifft: Excel- Outlookproblem
von: Andreas Schindler
Geschrieben am: 01.10.2003 15:26:42
Hallo,
ich bekomme bei folgender Routine ab ca. 250 Einträgen eine Fehlermeldung
-2147352567 Array außerhalb des zulässigen Bereiches
Habe ich beim Dimensionieren einen Fehler gemacht?
Wie kann ich die Items dimensionieren?
Dim objOutlook As Object
Dim objnSpace As Object
Dim objFolder As Object
Dim objMsg As Object
Dim intCounter As Integer, intCount As Integer, iRow As Integer
Dim optionenzaehler
Dim sTxt As String
Dim Verzeichnis As String
Dim Absender() As String
Dim Betreff() As String
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.Folders("Postfach - UBW").Folders("Ablage UEBW-XLS") ' "Posteingang"
Set destFolder = objnSpace.Folders("Postfach - UBW").Folders("Archiv (Aufträge älter als 22 Tage)")
Application.ScreenUpdating = False
intCount = objFolder.Items.Count
If intCount <> 0 Then
ReDim Absender(intCount) As String
ReDim Betreff(intCount) As String
antwortzaehler = 0
For i = 1 To intCount
Set objMsg = objFolder.Items(i) ' <=== Hier springt der Debugger hin
If DateDiff("d", Format(objMsg.SentOn, "dd.mm.yyyy"), Now) > 22 Then
antwortzaehler = antwortzaehler + 1
objMsg.Move destFolder
End If
Application.StatusBar = "Analysiere " & i & " von " & intCount & ". Ins Archiv übernommen, da älter als 22 Tage: " & antwortzaehler
Next i
End If
Set objnSpace = Nothing
Set objFolder = Nothing
Set objOutlook = Nothing
Viele Grüße und vielen Dank für Eure Hilfe
Betrifft: AW: Excel- Outlookproblem
von: jhaustein
Geschrieben am: 01.10.2003 15:45:20
einfach nur brainstorming - ca 250 ist sehr nahe der fiesen 256 - hatte in den letzten tage auch schwierigkeiten damit -
Betrifft: AW: Excel- Outlookproblem
von: Andreas Schindler
Geschrieben am: 01.10.2003 16:17:22
Ja ist es denn so, daß ich maximal 256 Maileinträge auf einmal bearbeiten kann?
Das wäre ja schon peinlich.
Andreas
Betrifft: AW: Excel- Outlookproblem
von: Ramses
Geschrieben am: 01.10.2003 16:52:46
Hallo
Dein Array ist vermutlich nicht gross genug um die Einträge zu verarbeiten
Beginne die Zählung mal bei 0 (NULL)
For i = 0 To intCount
Eine Limitierung gibt es nicht
Gruss Rainer
Betrifft: AW: Excel- Outlookproblem
von: Andreas Schindler
Geschrieben am: 01.10.2003 16:17:27
Ja ist es denn so, daß ich maximal 256 Maileinträge auf einmal bearbeiten kann?
Das wäre ja schon peinlich.
Andreas
Betrifft: Kannst du noch mal posten...
von: Ramses
Geschrieben am: 01.10.2003 17:34:46
Hallo Andreas,
wenn ich auf deine Antwort klicke, komme ich auf einen ganz anderen Thread im Forum.
Ich weiss nicht was du geschrieben hast.
Vielleicht nochmals ? ;-)
Gruss Rainer
Betrifft: Ich habe die Lösung gefunden !!
von: Andreas Schindler
Geschrieben am: 02.10.2003 08:43:34
Wenn ich die Mails aus dem Postfach rauslöschen, ändert sich natürlich die Anzahl der darin enthaltenen Mails. Deswegen kommen die Counter durcheinander. Bearbeitet man jedoch die Mails von hinten nach vorne, entsteht das Problem nicht, da der Counter immer kleiner oder gleich der restlichen noch verbleibenden Mails ist.
Hier das Codesegment und danke an alle, die mir geholfen haben.
Application.ScreenUpdating = False
intCount = objFolder.Items.Count
If intCount <> 0 Then
antwortzaehler = 0
For i = intCount To 1 Step -1
Set objMsg = objFolder.Items(i)
If DateDiff("d", Format(objMsg.SentOn, "dd.mm.yyyy"), Now) > 22 Then
antwortzaehler = antwortzaehler + 1
objMsg.Move destFolder
End If
Application.StatusBar = "Ins Archiv übernommen, da älter als 22 Tage: " & antwortzaehler & " von " & intCount - i + 1
Next i
End If
Application.StatusBar = ""
Gruß
Andreas
Excel-Beispiele zum Thema " Excel- Outlookproblem"