English
|
Reporter |
| Mit dem Reporter erstellen Sie Berichte für Ihre Outlook Daten. Mit wenigen Klicks werden Werte aus Aufgaben, Terminen und dem Journal summiert. |
Manchmal stöÃt man mit dem Outlookobjektmodell an eine Grenze, um den Begriff des Speicherlecks zu vermeiden: Sollen in einer Schleife mehr als 250 Elemente angesprochen werden, kann es passieren, dass der Speicher nicht wieder freigegeben wird. Das sollte aber eigentlich passieren, wenn die Objektvariable auf Nothing oder ein neues Objekt gesetzt wird.
Die Lösung: Sorgen Sie dafür, dass die Objektvariable ihren Gültigkeitsbereich verliert, indem der Bereich in eine separate Funktion ausgelagert wird.
Public Sub LoopFolder(Folder As Outlook.MAPIFolder)
Dim Cnt As Long
Dim Limit As Long
Dim CountFrom As Long
Dim CountTo As Long
Dim Done As Long
Dim Items As Outlook.Items
Set Items = Folder.Items
Cnt = Items.Count
' Grenze pro Durchlauf festlegen.
Limit = 250
If Cnt <= Limit Then
LoopItems Items, 1, Cnt
Else
Do While Done < Cnt
CountFrom = Done + 1
CountTo = Done + Limit
LoopItems Items, CountFrom, CountTo
Done = CountTo
If Done = Cnt Then
Exit Do
ElseIf Cnt - Done <= Limit Then
Limit = Cnt - Done
End If
Loop
End If
End Sub
Private Sub LoopItems(Items As Outlook.Items, _
ByVal CountFrom As Long, _
ByVal CountTo As Long _
)
Dim i As Long
Dim obj As Object
Dim Mail As Outlook.MailItem
For i = CountFrom To CountTo
Set obj = Items.Item(i)
If TypeOf obj Is Outlook.MailItem Then
Set Mail = obj
' Irgendwas mit dem Objekt machen
End If
Next
End Sub
|
SAM |
| Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie den Absender und Speicherort für Emails anhand von Regeln. |