Domino 9 und frühere Versionen > ND8: Entwicklung

LS mail + Attachment

<< < (2/2)

cookiethecake:
Hallo leute,

Danke erst mal!

@Driri: Haste n paar Anläufe für mich? Wie speicher ich das Attachment auf C:? :)
@maschul: leider ist deine Vermutung wahr geworden, er nimmt alles außer das $FILE...

@All: wird man mit einem Richtextfield Lite die Idee von maschul durchbringen können?
Habe leider nicht sofort die möglichkeit das einfach auf ein RTFLite zu ändern weil das Dokument auch von anderen Agenten benutzt wird....

DANKE!

ascabg:
Hallo,


--- Zitat ---@Driri: Haste n paar Anläufe für mich? Wie speicher ich das Attachment auf C:? Smiley
--- Ende Zitat ---
Nicht von Driri aber von mir.

Die Designer-Hilfe und hier die Klasse NotesEmbeddedObject.


Andreas

cookiethecake:
Danke an Alle... Ich habs :-)

Für die Nach welt:


--- Code: ---Dim obj As NotesEmbeddedObject

Dim session As New Notessession
Dim db As NotesDatabase
Dim ViewAgenda As NotesView
Dim docAgenda As NotesDocument


Set db = session.CurrentDatabase
Set maildoc = New NotesDocument(db)

Set viewAgenda = db.GetView("Agenda")
Set docAgenda = viewAgenda.GetFirstDocument
maildoc.Form = "Memo"
maildoc.SendTo = "maxi mustermännchen"
maildoc.Subject = "Teilnahmebestätigung"


Dim rtitem As Variant
Dim fileCount As Integer
Const MAX = 100000
fileCount = 0   
'...set value of doc...
Set rtitem = docAgenda.GetFirstItem( "Agenda" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) _
And ( o.FileSize > MAX ) Then
fileCount = fileCount + 1
Call o.ExtractFile _
( "c:\agenda.pdf") '& Cstr(fileCount) )
Call o.Remove
'Call doc.Save( True, True )
End If
End Forall
End If



Set rtitem = New NotesRichTextItem( maildoc, "Body" )
Set obj = rtitem.EmbedObject(EMBED_ATTACHMENT, "",  "c:\agenda.pdf")

maildoc.send(False)


Kill "c:\agenda.pdf"
End Sub
--- Ende Code ---

ascabg:
Ich frag dann doch noch mal etwas.

Soll der Anhang im Original-Dokument (von wo Du diesen extrahierst) geloescht werden?
Was passiert mit den eventuell vorhandenen andern Anhaengen nach dem extrahieren?
(die Agenda loescht Du ja wieder)
Und da wir gerade bei mehreren Anhanengen sind.
Dir ist schon bewusst, das beim extrahieren des 2. Anhanges die Datei auf C:\, die durch das
extrahieren des 1. Anhanges schon vorhanden ist, wieder ueberschrieben wird.

Was passiert, wenn im Original-Dokument ueberhaupt kein Anhang vorhanden ist?


Andreas

Ayhan:
Eine weitere Möglichkeit (ohne den Anhang auf der Festplatte zwischenzuspeichern: braucht man ja gleich mehr berechtigungen etc - vorallem auf serverebene) das originaldokument zu kopieren, unnötige items zu entfernen, neue items hinzufügen (subject etc) und diese dann zu schicken. Ist weniger fehleranfällig.

Natürlich eben nur dann, wenn die Möglichkeit besteht, das Originaldokument zu kopieren.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln