Domino 9 und frühere Versionen > Entwicklung
Anhänge löschen wenn vorhanden
BradCirclepit:
--- Zitat von: koehlerbv am 19.01.09 - 16:20:03 ---Termine? In der Schablone? Was willst Du uns damit sagen? Und wie sieht Dein Code aus und wo kommt die Fehlermeldung?
Bernhard
--- Ende Zitat ---
Wenn mich jemand über die Kalender-Funktion einlädt und ich die Informationsmail bezüglich der Einladung in mein E-Mail Postfach bekomme, dann steht diese Mail ja mit dem Briefumschlag-Icon in der normalen Mail-Schablone.
Wenn ich jetzt mit folgendem Code:
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then
Msgbox "Kein Dokument ausgewählt"
Else
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
If Isarray( rtitem.embeddedObjects) Then
Forall o In rtitem.EmbeddedObjects
Call o.Remove
Call doc.Save( False, True )
End Forall
Else
Msgbox "is nicht"
End If
End If
Set doc = collection.GetNextDocument(doc)
Wend
Msgbox "Anhang / Anhänge gelöscht"
End If
End Sub
wie ihn MrMagoo geschrieben hat alle Mails markiere und das Script ausführe, dann werden alle Anhänge soweit gelöscht bis er bei diesen Termin-Emails hängen bleibt und diese Fehlermeldung ausgibt. Die Mails die nach der Fehlermeldung noch markiert wären werden dann nicht berücksichtigt und behalten ihren Anhang.
koehlerbv:
In der Schablone steht da immer noch nix, sondern in Deiner Datenbank ;) Und ein ErrorHandling hast Du auch nicht eingebaut und kannst daher nicht die Zeile nennen, in der es knallt. Jetzt habe ich das extra nachbauen müssen - das macht nicht glücklich ...
Bei einer Einladung (Form = "Notice") gibt es kein Body-Item. Du musst also prüfen, ob das Item überhaupt vorhanden ist. Details gibts jetzt zur Strafe von mir auch nicht - das steht alles in der DesignerHelp unter NotesItem ;)
Bernhard
BradCirclepit:
Habe es jetzt so gelöst, dass ich überprüfe ob überhaupt ein gültiger Wert vorhanden ist. Wenn der Wert ungültig ist soll er gar nichts machen, ist der Wert gültig macht er den Rest wie gehabt.
Vielen Dank für die Informationen.
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
If collection.Count = 0 Then
Msgbox "Kein Dokument ausgewählt"
Else
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Set rtitem = doc.GetFirstItem( "Body" )
If (rtitem Is Nothing) Then
Else
If ( rtitem.Type = RICHTEXT ) Then
If Isarray( rtitem.embeddedObjects) Then
Forall o In rtitem.EmbeddedObjects
Call o.Remove
Call doc.Save( False, True )
End Forall
End If
End If
End If
Set doc = collection.GetNextDocument(doc)
Wend
Msgbox "Anhang / Anhänge gelöscht"
End If
End Sub
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln