Textdatei schreiben - Lotus Script

  • Hallo zusammen,


    kann leider nur die Formelsprache in LN, aber jetzt möchte ich gerne Werte diverser Felder in eine Textdatei auf die Platte schreiben. Das Beispielscript aus der Noteshilfe funktioniert leider bei mir nicht, ich erhalte immer den Fehler "Object Variable not set".


    Hat evtl. wer nen Script, welches ich bei einem Aktionsbutton oder Agent hinterlegen kann, welches den Textinhalt eines oder mehrerer Felder in eine Datei schreibt?


    Für Eure Hilfe schonmal vielen Dank!

  • Thx für die schnelle Antwort, hier das script, der Debugger meldet die Fehlermeldung "Object Variable not set" in der Zeile:


    Set rtitem = doc.GetFirstItem("Body")


    *******



    Sub Initialize
    Dim doc As NotesDocument
    Dim rtitem As Variant
    Dim plainText As String
    Dim fileNum As Integer
    '...set value of doc...
    Set rtitem = doc.GetFirstItem("Body")
    If ( rtitem.Type = RICHTEXT ) Then
    plainText = rtitem.GetFormattedText( True, 15 )
    End If
    ' get a file number for the file
    fileNum = Freefile
    ' open the file for appending
    Open "c:\plane.txt" For Append As fileNum
    ' write the formatted text to the file
    Print #fileNum, plainText
    ' close the file
    Close #fileNum
    End Sub

  • Ich bin zu dumm ;-(((


    Das war das Script aus nem Agent, habe das auch bei einem Button hinterlegt, mit dem gleichen Fehler.
    Dachte das reich aus, da ich mich doch eh in dem Moment in einem Dokument befinde (Button), bzw. eins ausgewählt habe (Agent).


    Ich möchte doch einfach nur den Inhalt des Feldes Body aus dem aktuellen bzw. gewählten Dokument in die Textdatei auf LW C schreiben, das kann doch net so schwer sein ;-(((







    *******************


    Script im Button:


    Sub Click(Source As Button)
    Dim doc As NotesDocument
    Dim rtitem As Variant
    Dim plainText As String
    Dim fileNum As Integer
    '...set value of doc...
    Set rtitem = doc.GetFirstItem("Body")
    If ( rtitem.Type = RICHTEXT ) Then
    plainText = rtitem.GetFormattedText( True, 15 )
    End If
    ' get a file number for the file
    fileNum = Freefile
    ' open the file for appending
    Open "c:\plane.txt" For Append As fileNum
    ' write the formatted text to the file
    Print #fileNum, plainText
    ' close the file
    Close #fileNum
    End Sub

    • Offizieller Beitrag

    Dokument ist geöffnet, dann:

    Code
    dim ws as New NoestUIWorkSpaceDim doc As NotesDocumentSet doc = ws.CurrentDocument.Document


    Dokument ist in der Ansicht markiert, dann:

    Code
    dim session as New NotesSessiondim doc as NotesDocumentSet doc = session.CurrentDatabase.UnprocessedDocuments.GetFirstDocument


    und dann geht es weiter mit:


    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

  • Danke, der Inhalt des Buttonscripts sieht nu bei mir so aus, stoppt aber immer noch an der gleichen Stelle:


    Sub Click(Source As Button)
    Dim doc As NotesDocument
    Dim rtitem As Variant
    Dim plainText As String
    Dim fileNum As Integer
    Dim ses As NotesSession

    '...set value of doc...
    Set ses = New NotesSession
    Set doc = ses.DocumentContext
    Set rtitem = doc.GetFirstItem("Body")
    If ( rtitem.Type = RICHTEXT ) Then
    plainText = rtitem.GetFormattedText( True, 15 )
    End If
    ' get a file number for the file
    fileNum = Freefile
    ' open the file for appending
    Open "c:\plane.txt" For Append As fileNum
    ' write the formatted text to the file
    Print #fileNum, plainText
    ' close the file
    Close #fileNum
    End Sub