světNotes.cz

Jak odstranit mailové přílohy ?
Novinky
19.05.2001 - Zdeněk Michálek

Občas by přišel velmi vhod nástroj, který by odstranil z mailů všechny přílohy. Typickým příkladem použití jsou maily s dlouhými soubory příloh, které časem ztratily na aktuálnosti, nicméně vlastní text mailu je žádoucí uchovat.

Agenta není složité napsat, ale proč se psát s něčím, co už je vyzkoušené (kód umístěte třeba do Actions nebo Shared Actions v příslušné mailové databázi nebo přímo v mailovém template - očekává spuštění z pohledu nebo folderu, v němž jsou maily, z nichž se mají odstranit přílohy, označeny vybráním):



Sub Initialize
On Error Resume Next
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim RTI As NotesRichTextItem
Dim answer As Integer
Dim strDocCount As String

Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments

Select Case dc.Count
Case 0
Exit Sub
Case 1
strDocCount = " vybraného 1 dokumentu?"
Case Is > 1
strDocCount = " vybraných " & Cstr(dc.Count) & " dokumentů?"
End Select

answer = Msgbox("Určitě chcete smazat přílohy u " & strDocCount,36, "Mazání příloh")

If answer = 7 Then Exit Sub
Set doc = dc.GetFirstDocument

Do While Not (doc Is Nothing)
Set RTI = doc.GetFirstItem("Body")
If RTI.Type = RICHTEXT Then
Forall o In RTI.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.Remove
Call doc.Save( False, True )
End If
End Forall
End If
Set doc = dc.GetNextDocument(doc)
Loop

End Sub

Zdroj: diskuzní fóra, upraveno