Domino 9 und frühere Versionen > Entwicklung
Anhänge gewählter Mails lösen & Löschen ?
Worn:
Ok,
ich kann mein Problem nun genauer eingrenzen.
Ich weis nicht wie das Array für die Attachments heißt.
Also genauergesagt:
--- Code: ---Set rtitem = doc.GetFirstItem( "Body" ) 'Hier das entsprechende RT-Feld angeben
--- Ende Code ---
Hier habe ich ja mein BODY - Teil.
Den entsprechenden Teil der quasi dann nicht im body sucht sondern im/am Dokument ist mir nicht bekannt.
Wenn ich :
--- Code: ---If Isarray( doc.EmbeddedObjects) Then
Forall o In doc.EmbeddedObjects
Call o.ExtractFile( folder+"\" & o.Name )
End Forall
Call doc.Remove(True)
End If
--- Ende Code ---
In das else einfüge dann mekert er schon wenn ich speichern will das das o nicht der geliche Datentyp wäre wie das doc.emb...
Ich habe mal geschaut, der Anhang der nicht funktioniert ist einer den ich lösen kann. Aber ich denke der ist nicht im Body sondern wie gesagt am Dokument oder so :-)?
Also wie frage ich nun :
wenn Dokument.HastDuAnhänge = True dann
Für jeden Anhang in doc
speicherAnhang(ort)
weiter
doc.AbInDenMüll
So einfach klingt das hehehe aber is zum Haareausreissen!!
Ben
ata:
... so lang du noch Haare hast geht dir auf jeden Fall nicht der Humor aus ;D ;D ;D
Das Array heißt "EmbeddedObjects"
--- Code: ---Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim folder As String
Dim doc_temp As NotesDocument
folder = "C:\Temp"
Print "Ordner: " + folder
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Set doc_temp = collection.GetNextDocument(doc)
Set rtitem = doc.GetFirstItem( "Body" ) 'Hier das entsprechende RT-Feld angeben
If Not rtitem Is Nothing And rtItem.Type = 1 Then ' # Das Feld Body kann auch als Textfeld vorliegen - dann Type mismatch-Möglichkeit
If Isarray( rtitem.EmbeddedObjects ) Then
Forall o In rtitem.EmbeddedObjects
Call o.ExtractFile( folder+"\" & o.Name )
End Forall
Call doc.Remove(True)
End If
Else
If Isarray( doc.EmbeddedObjects ) Then
Forall o In doc.EmbeddedObjects
Call o.ExtractFile( folder+"\" & o.Name )
End Forall
Call doc.Remove(True)
End If
End If ' ende der Prüfung auf Attachments...
Set doc = doc_temp 'collection.GetNextDocument(doc)
Wend
End Sub
--- Ende Code ---
Worn:
Hmm genauso hatte ich das das klappte nicht.
Aber ich habs geschafft. Ich denke nach dem Motto:
Warum einfach wenn es auch kompliziert geht.
Hier mein Code der im Else Bereich steht:
--- Code: ---If Not rtitem2 Is Nothing And rtItem2.Type = 1084 Then
If Isarray( rtitem2.values) Then
Forall o In rtitem2.values
name1 = o
Set anhang = doc.GetAttachment(o)
Call anhang.ExtractFile( folder+"\" & o )
End Forall
Call doc.Remove(True)
End If
--- Ende Code ---
Dazu muss ich noch sagen das ritem2 =
Set rtitem2 = doc.GetFirstItem("$file")
---ist!
Letztlich wäre nun noch die Frage zu klären ob der Type 1084 bei Anhängen die am Dokument hängen immer so ist?
Ich danke allen die mir geholfen haben.
Noch eine Idee zu 1084 ?
BEN
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln