2016-07-22 8 views
-3

Hallo Freunde Ich bin sehr neu zu Lotus Notes und ich habe eine Abfrage, die ich nicht lösen kann.Not to simple Textdatei in Lotus Notes

Ich habe einen Agenten mit Lotus-Skript in Lotus Notes erstellt, die Textdatei mit den Details anzeigen generiert.

Option Public 
Sub Initialize 
    MsgBox " Agent AccessUserList" 
    On Error GoTo HandleError 
    Dim session As New NotesSession 
    Dim db As NotesDatabase 
    Dim doc As NotesDocument 
    Dim view As NotesView 
    Dim embobj As NotesEmbeddedObject 
    Dim rtitem As NotesRichTextItem 
    Dim ErrMsg As String 
    Dim dateTime As New NotesDateTime("") 
    dateTime.LSLocalTime = Now 
    UserListDate = dateTime.DateOnly 
    TheDate=Format(Now(),"mmdd")  
    filename = CurDrive$()+"\color\"+"Colors_" +TheDate+"Selection_OP" +".txt" 
    MsgBox filename 
    Set db = session.CurrentDatabase  
    On Error GoTo LogErr  
    Dim v As NotesView 
    Dim s As New NotesSession 
    Dim ec As NotesViewEntryCollection 
    Dim ent As NotesViewEntry 
    Dim filePath As String, valString As String 
    Dim myStream As NotesStream 
    Dim fileNum As Integer, count As Integer, x As Integer 
    Set myStream = s.Createstream() 
    Call myStream.Open(filename, "ASCII") 
    Call myStream.Truncate() 
    Set db = s.CurrentDatabase 
    MsgBox "BEFORE ENTER VIEW" 



    'Call myStream.Writetext(i.Title, 0) 
    Set v = db.GetView("SelectCustomer")  
    MsgBox "Entered View" 
    If (v Is Nothing) Then 
     MsgBox "View does not exist" 
    Exit Sub 
    End If 
    count = v.Columncount 
    ForAll i In v.Columns 

     If i.Position = count Then 
      Call myStream.Writetext(i.Title, 0) 
     Else 
      Call myStream.Writetext(i.Title & "||") 
     End If 
    End ForAll 

    MsgBox "AFTER COLUMN" 
    Set ec = v.Allentries 
    Set ent = ec.Getfirstentry() 
    While Not ent Is Nothing 
     x = 1 
     ForAll j In ent.Columnvalues 
      If IsArray(j) Then 
       valString = |"| & Join(j, ",") & |"| 
      Else 
       If InStr(j, ",") > 0 Then 
        valString = |"| & j & |"| 
       Else 
        valString = j 
       End If 
      End If 
       If x = count Then 
       Call myStream.Writetext(valString, 0) 
      Else 
       Call myStream.Writetext(valString & "||") 
      End If 
      x=x+1 
     End ForAll 
     Set ent = ec.Getnextentry(ent) 
    Wend 
    closeFile: 
    Call myStream.Close() 
Exit Sub 
HandleError:  
    MsgBox "Error - " & Error &" at line number " & Erl 
    Exit Sub 
    LogErr: 
    Resume closeFile 
    Exit Sub 

End Sub 

Dies ist über Code, der die Datei im Server mit den Details generiert.

Aber ich möchte nur die leere Datei, die jeden Tag erzeugt, wenn ich die alte Frau in dem bestimmten Ordner starten Ich habe versucht, alle unerwünschten Code zu entfernen, aber wenn ich einen Code Kommentar werde ich nicht Fehler erhalten, aber die Datei wird nie bekommen erzeugt.

* Kann jemand mir helfen, diesen Code i einfach leere Textdatei jeden Tag erzeugen, bearbeiten müssen, die alle Zeilen i in diesem Code ändern, bei *

Vielen Dank für Ihre Zeit und Hilfe.

+2

Ich habe keine Ahnung, was Sie wollen ... Wenn Sie eine leere Datei wollen, dann müssen Sie diese vier Zeilen Code (Strichpunkt ist die Zeilentrennzeichen), 'Set myStream = s.Createstream(); Anruf myStream.Open (Dateiname, "ASCII"); Rufen Sie myStream.Truncate() auf; Rufen Sie myStream.Close() ' –

+0

#Torsten Ja, Sie haben mich richtig, ich brauche eine leere Datei im Server durch Agent zu erstellen, aber wenn ich die Code Ich bekomme Fehler als Fehler -Variant enthält kein Objekt in Zeile 10 –

+0

Aber eine Sache ist, dass der Agent mit keinen Fehlern ausgelöst wird, aber Datei wird nicht auf dem Server erstellt. Das Timing in dem bestimmten Ordner wird auf Remote-Server geändert, aber der Ordner ist leer. Keine Datei erstellt #Emmanuel @TorstenLink –

Antwort

0

Wenn ich verstehe, möchten Sie nur eine leere Datei generieren, unter Änderungen in Ihrem Code. Ich verstehe immer noch nicht, was du probiert hast und was du bekommst. vergiss nicht, dass stackoverflow kein entwickler für freien bereich ist ;-) Beim nächsten mal zeig was du getan hast!

Option Public 
Sub Initialize 
    On Error GoTo HandleError 
    Dim session As New NotesSession 
    dim TheDate as string, filename as string 
    TheDate=Format(Now(),"mmdd")  
    filename = CurDrive$()+"\color\Colors_" +TheDate+"Selection_OP.txt" 
    'MsgBox filename 

    Dim myStream As NotesStream 
    Set myStream = s.Createstream() 
    Call myStream.Open(filename, "ASCII") 
    Call myStream.Truncate() 
    Call myStream.Writetext(" ") 'this shouldn't be necessary 
closeFile: 
    Call myStream.Close() 
Exit Sub 
HandleError:  
    MsgBox "Error - " & Error &" at line number " & Erl 
    Exit Sub 

End Sub 
+0

#Emmanuel Entschuldigung für In Convenience. Die Wahrheit ist, ich habe versucht, den Code zum Erstellen einer Datei mit dem Datum zu entfernen. . Ich habe nichts im Sinn, um freie Entwickler einzustellen. Während ich die Frage hinzufüge, kann ich meine Frage nicht richtig formulieren, das ist das Problem. –

+0

Aber eine Sache ist, dass der Agent ohne Fehler ausgelöst wird, aber Datei wird nicht auf dem Server erstellt. Das Timing in dem bestimmten Ordner wird auf Remote-Server geändert, aber der Ordner ist leer. Keine Datei erstellt #Emmanuel –

+0

, wenn Sie sagen, dass der Agent ausgelöst wird. Sie sehen den Ausdruck in der log.nsf? Könnten Sie bitte auch hier den Wert von Dateiname überprüfen und posten? –

Verwandte Themen