2016-07-22 3 views
-3

Привет, друзья. Я очень новичок в примечаниях к Lotus Notes, и у меня есть запрос, который я не могу решить.Невозможно выполнить простой текстовый файл в Lotus Notes

Я создал агент с лотосным скриптом в примечаниях лотоса, который генерирует текстовый файл с подробной информацией.

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 

Это код выше, который генерирует файл на сервере с подробной информацией.

Но я хочу только пустой файл, который генерирует каждый день, когда я начала крону в определенной папке я попытался удалить весь нежелательный код, но если я комментировать любой код я не получаю ошибку, но файл никогда не будет генерироваться.

* Может кто-нибудь помочь мне изменить этот код, мне нужно, чтобы сгенерировать простой пустой каждодневный текстовый файл, который все строки я должен изменить в этом коде *

Спасибо за ваше время и помощь.

+2

Я понятия не имею, что вы хотите ... Если вы хотите пустой файл, то вам нужно эти четыре строки кода (точка с запятой строка разделитель), 'Set myStream = s.Createstream(); вызов myStream.Open (имя файла, «ASCII»); Call myStream.Truncate(); Call myStream.Close() ' –

+0

#Torsten Да, я правильно понял, мне нужно создать пустой файл на сервере через агента, но если я запустил код Я получаю ошибку, поскольку ошибка -Variant не содержит объекта в строке 10 –

+0

Но одно дело в том, что агент запускается без ошибок, но файл не создается на сервере. Временные интервалы в конкретной папке изменяются на удаленном сервере, но папка пуста. No file created #Emmanuel @TorstenLink –

ответ

0

Если я понимаю, что вы просто хотите сгенерировать пустой файл, под изменениями в вашем коде. Я до сих пор не понимаю, что вы пробовали и что получаете. не забывайте, что stackoverflow - это не аренда разработчика бесплатно ;-) В следующий раз покажите, какие усилия вы сделали!

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 Извините за удобство. По правде говоря, я попытался удалить код для создания файла с датой. , У меня нет ничего в виду, чтобы нанять бесплатного разработчика. Добавляя вопрос, я не могу правильно выразить свой вопрос, что проблема. –

+0

Но одно дело, что агент запускается без ошибок, но файл не создается на сервере. Временные интервалы в конкретной папке изменяются на удаленном сервере, но папка пуста. Нет файла, созданного #Emmanuel –

+0

, когда вы говорите, что агент запускается. вы видите печать в log.nsf? Не могли бы вы также проверить и опубликовать здесь значение имени файла? –