Attachment in neues Email kopieren

  • Hi !
    habe das Forum schon durchsucht, komme aber nicht wirklich weiter, da meine Script Kentnisse nicht gross sind.
    Also, ich möchte den Dateianhang aus einem geöffneten Email in ein neues "leeres" Email kopieren.
    Der restliche Text, der im Bodyfeld steht, benötige ich nicht, ausschließlich den Dateianhang.


    Folgendes habe ich ausprobiert.
    Die Idee war, alle Items der Orig. Email zu kopieren und alles wieder zu löschen, was nicht $File ist.
    Klappt aber nicht, das neue Email ist komplett leer :(


    Was ist falsch. Jeder Hinweis ist gern genommen :)



    Sub Initialize
    Dim session As New NotesSession
    Dim workspace As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument, doc2 As NotesDocument


    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
    Set db = session.CurrentDatabase
    Set doc2 = New NotesDocument(db)

    doc2.Form = "Memo"
    doc2.ReplyTo = ""
    doc2.DeliveryReport ="C"

    Call doc.CopyAllItems( doc2 , True )
    Forall item In doc2.Items
    If Not item.Name = "$FILE" Then
    Call item.Remove
    End If
    End ForAll

    Call doc2.Save(True, False)
    Call workspace.EditDocument(True,doc2)

    End Sub

  • Zunächst einmal: works as designed! Wenn du alles löscht, ist die scheinbar leere Darstellung auch kein Wunder.
    Abhilfe könnte schaffen, wenn du ein ComputeWithForm auf doc2 machst. Hab ich aber nie auf diese Weise versucht, gebe ich keine Garantie für ab.


    Zweitens: geht es nur um den Anhang, wäre es IMO wesentlich einfacher, den temporär ins FS zu detachen und ans doc2 dranzuklatschen.


    Insgesamt erschließt sich mir noch nicht so recht der Sinn und Zweck des Ganzes. Du willst vermutlich den Anhang versenden (Form soll "Memo" sein), es vorher aber noch irgendwie bearbeiten (EditDocument). Warum nicht einfach ein Rechtsklick aufs Dokument, "Weiterleiten"/"Forward", anpassen wie es beliebt und ab dafür, warum diese Handstände?

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • mit dem weiterleiten klappt "so" nicht. Ich habe in einer Mail im Body "Text" plus Dateianhang. Dieser Dateianhang wird bearbeitet, gespeichert und soll jetzt weiter verschickt werden,
    aber ohne den "Text" aus der Orig-Email. Ausschließlich der Dateianhang in einem neuen Mail.

  • In diesem Loop löschst Du das Body Item, welches die Anzeige des Attachments übernimmt.
    Forall item In doc2.ItemsIf Not item.Name = "$FILE" ThenCall item.RemoveEnd IfEnd ForAll


    Wie schon gesagt, am einfachsten, nur das oder die Attachments ins Filesystem ablegen, neues Mail öffnen und die Attachments anhängen und dann das Dok anzeigen.

  • Hi,


    @umeli
    Hierbei ist jedoch etwas Vorsicht geboten. es kann sein, dass man auf diese Art und Weise nicht zwingend alle Anhaenge erwischt.


    Ich wuerde lieber die auch schon oft angesprochene Variante mit @AttachmentNames zurueckgreifen.



    Andreas

  • Für das "Attachments ins Filesystem ablegen, neues Mail öffnen und die Attachments anhängen und dann das Dok anzeigen. Datei "ab - und anhängen"


    Das reicht aber bei weitem nicht, auch wenn das für das Grundprinzip an sich natürlich die wichtigen Begriffe sind.
    Es geht hier um einen Eingriff in das Mail-Design (kann man machen, muß sich aber der Folgen für die / mit der Nachfolgeversion im Klaren sein). Und da es hier obendrein noch um Richtext und Backend und Frontend geht, wird es richtig kompliziert. Ich könnte jetzt 50 weitere weitere Punkte anhängen, die zumindest im Zusammenhang mit der Standard-Mail-Schablone auch noch zu beachten sind.


    Ich würde jetzt erst lesen, dann fragen, dann weiterlesen und dann überlegen, ob ich das kann und will (ein "Muss" zählt hier für die Community gar nichts, das ist auf anderer Ebene).


    Falls das ein Tiefschlag war: Sorry. Musste aber sein. Im Sinne aller Beteiligten.


    Wenn Du das aber weiter *ernsthaft* angehen willst: Her mit Deinen konkreten Fragen ;)


    Bernhard