Lotus Script / Umbennen eines Anhangs der gespeichert werden soll

  • Hallo,


    wie haben einen Agenten mehrmals am Tag laufen. Dieser Agent speichert eine Datei aus einer Email direkt im IFS unserer i5. Das Script funktioniert auch gut und wird automatisch alle 2Minuten ausgeführt. Jetzt haben wir aber das Problem dass das Script die Datei automatisch umbenennen soll. Da ich mich mit Lotus Script leider nicht auskenne wäre es nett, wennmir jemand helfen könnte.


    Hier der Queltext der mit einem rename erweitert werden sollte.


    schon mal VIELEN DANK für eure HILFE!!!!


    Quelltext:


    Sub Initialize

    Dim ses As New notessession
    Dim db As notesdatabase
    Dim doc As notesdocument
    Dim dc As notesdocumentcollection
    Dim subj,itm As Variant
    Dim eo As notesembeddedobject
    Dim Betreff, GesAnhang,AblageIn,ExtrPfad As String

    Betreff="TEST" 'Textteil der Im Betreff vorkommen muss
    AblageIn="Archiv" 'Ordner in dem die Mail abgelegt werden soll
    GesAnhang="" 'Textteil der im Dateinamen des Anhangs enthalten sein muss
    ExtrPfad="/Domino/xxxx/Data/xxxx/Archiv/" 'Pfad in dem der Anhang gelöst werden soll

    Set db = ses.currentdatabase
    Set dc = db.unprocesseddocuments
    Set doc = dc.getfirstdocument

    Do While Not(doc Is Nothing)
    subj=doc.getitemvalue("Subject")
    If Instr(subj(0), Betreff) Then
    If doc.hasembedded Then
    Set itm=doc.getfirstitem("Body")
    If itm.type=RICHTEXT Then
    Forall Anhang In itm.embeddedobjects
    If Anhang.type = EMBED_ATTACHMENT Then
    If Not Instr(1,Anhang.name,GesAnhang,1)=0 Then
    Set eo = doc.getattachment(Anhang.name)
    If eo Is Nothing Then Exit Do
    Call eo.extractfile(ExtrPfad & Anhang.name)
    Call doc.putinfolder(AblageIn)
    Call doc.removefromfolder("($Inbox)")
    End If
    End If
    End Forall
    End If
    End If
    End If
    Set doc = dc.getnextdocument(doc)
    Loop

    End Sub

  • Ich habe jetzt versucht das Stück Code an diese Stelle einzufügen:


    Sub Initialize

    Dim ses As New notessession
    Dim db As notesdatabase
    Dim doc As notesdocument
    Dim dc As notesdocumentcollection
    Dim subj,itm As Variant
    Dim eo As notesembeddedobject
    Dim Betreff, GesAnhang,AblageIn,ExtrPfad As String

    Betreff="TEST" 'Textteil der Im Betreff vorkommen muss
    AblageIn="Archiv" 'Ordner in dem die Mail abgelegt werden soll
    GesAnhang="" 'Textteil der im Dateinamen des Anhangs enthalten sein muss
    ExtrPfad="/Domino/xxxx/Data/xxxx/Archiv/" 'Pfad in dem der Anhang gelöst werden soll

    Set db = ses.currentdatabase
    Set dc = db.unprocesseddocuments
    Set doc = dc.getfirstdocument

    Do While Not(doc Is Nothing)
    subj=doc.getitemvalue("Subject")
    If Instr(subj(0), Betreff) Then
    If doc.hasembedded Then
    Set itm=doc.getfirstitem("Body")
    If itm.type=RICHTEXT Then
    Forall Anhang In itm.embeddedobjects
    If Anhang.type = EMBED_ATTACHMENT Then
    If Not Instr(1,Anhang.name,GesAnhang,1)=0 Then
    Set eo = doc.getattachment(Anhang.name)
    If eo Is Nothing Then Exit Do
    Call eo.extractfile(name ExtrPfad & Anhang.name as ExtrPfad & test.txt)
    Call doc.putinfolder(AblageIn)
    Call doc.removefromfolder("($Inbox)")
    End If
    End If
    End Forall
    End If
    End If
    End If
    Set doc = dc.getnextdocument(doc)
    Loop

    End Sub


    Wenn ich jetzt das Script speichern will erschein die Meldung Fehler im Script! War bestimmt die Falsche stelle oder? :-? :-? 8-) 8-)

  • Hallo,


    ich hab jetzt die Zeile wie beschreiben in das Script eingefügt. Leider Funktioniert das ganze Script jetzt nicht mehr! Schon wieder ein Fehler?


    Sub Initialize

    Dim ses As New notessession
    Dim db As notesdatabase
    Dim doc As notesdocument
    Dim dc As notesdocumentcollection
    Dim subj,itm As Variant
    Dim eo As notesembeddedobject
    Dim Betreff, GesAnhang,AblageIn,ExtrPfad As String

    Betreff="TEST" 'Textteil der Im Betreff vorkommen muss
    AblageIn="Archiv" 'Ordner in dem die Mail abgelegt werden soll
    GesAnhang="" 'Textteil der im Dateinamen des Anhangs enthalten sein muss
    ExtrPfad="/Domino/xxxx/Data/xxxx/Archiv/" 'Pfad in dem der Anhang gelöst werden soll

    Set db = ses.currentdatabase
    Set dc = db.unprocesseddocuments
    Set doc = dc.getfirstdocument

    Do While Not(doc Is Nothing)
    subj=doc.getitemvalue("Subject")
    If Instr(subj(0), Betreff) Then
    If doc.hasembedded Then
    Set itm=doc.getfirstitem("Body")
    If itm.type=RICHTEXT Then
    Forall Anhang In itm.embeddedobjects
    If Anhang.type = EMBED_ATTACHMENT Then
    If Not Instr(1,Anhang.name,GesAnhang,1)=0 Then
    Set eo = doc.getattachment(Anhang.name)
    If eo Is Nothing Then Exit Do
    Call eo.extractfile(ExtrPfad & Anhang.name)
    Name ExtrPfad & Anhang.name As ExtrPfad & test.txt
    Call doc.putinfolder(AblageIn)
    Call doc.removefromfolder("($Inbox)")
    End If
    End If
    End Forall
    End If
    End If
    End If
    Set doc = dc.getnextdocument(doc)
    Loop

    End Sub

    • Offizieller Beitrag

    packe den Code mal in [ code]...[/code] Tags (beim ersten code muss das Leerzeichen entfernt werden), dann lässt sich der Code besser lesen.


    Bist Du das Script mal mit dem Debugger durchgegangen?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Dann solltest du dir erst mal das Basiswissen aneignen oder dir einen suchen der das macht.


    Die Scripte für dich schreiben und sie auch noch mit dir zusammen zu testen und eventuelle Umgebungsfehler zu beheben ist über ein Forum nicht wirklich zu machen.
    Da sollte schon eine Basis da sein

  • Wie schon gesagt kann das z.B. daran liegen, daß der Pfad nicht existiert ohne keine Schreibberechtigung da ist.


    Deswegen ja auch mein Hinweis auf den Einbau eines ErrorHandlings.


    Und wie das geht kannst du der Notes Designer Hilfe entnehmen