首页 文章

Lotus Notes:创建一个文本文件

提问于
浏览
1

我正在尝试在Lotus Notes中创建一个文本文件,我正通过代理运行 . 代理程序成功运行,但文本文件未在lotus脚本中指定的路径中创建 .

这是莲花脚本代码:

Option Public
Sub Initialize  
    MsgBox " Agent AccessUserList"
    On Error GoTo HandleError   
    Dim session As New NotesSession
    Dim myStream As NotesStream
    Dim TheDate As String, filename As String 
    TheDate=Format(Now(),"mmdd")    
    filename = "C:"+"\red"+"\color"+TheDate+".txt"
    MsgBox filename
    Set myStream = session.Createstream()
    MsgBox "MySTREAM2"
    Call myStream.Open(filename, "ASCII")
    MsgBox "MySTREAM3"
    Call myStream.Truncate()
    MsgBox "Entered View"

closeFile:
    Call myStream.Close()
    MsgBox "Closed"
    Exit Sub
HandleError:     
    MsgBox "Error  - " & Error &" at line number  " & Erl
    Exit Sub    
End Sub

我计划在5分钟内检查它是否在指定的文件夹中创建了一个新文件

enter image description here

还有调度时的权限我使用了第二个和第三个允许受限制的操作允许具有完全管理员权限的受限操作

但它仍然显示该文件夹为空,但文件夹时间将在计划时更改 .

为了测试它,我安排代理在本地和服务器中运行 . 但错误是相同的,不创建文本文件 .

代理日志没有任何错误 .

enter image description here

我也检查了日志,没有错误 . 任何人都可以告诉上述代码中的错误是什么以及为什么在代理正确执行时我的文件没有被创建 .

2 回答

  • 0

    NotesStream 不适合您,因为您只想创建一个空文件 .
    Call myStream.Close() 如果此时为空,则始终删除刚刚创建的文件 .

    使用传统的FreeFile()/ Open / Close代替:

    Sub Initialize
        On Error GoTo HandleError   
        Dim TheDate As String
        Dim filename As String 
        Dim fileNum As Integer
    
        TheDate = Format(Now(),"mmdd")    
        filename = "C:\red\color" + TheDate + ".txt"
        fileNum = FreeFile
        Open filename For Output As fileNum
        Close fileNum
    
    Finally:
        Exit Sub
    
    HandleError:     
        MsgBox "Error  - " & Error &" at line number  " & Erl
        Resume Finally    
    End Sub
    
  • 0

    截断流时,属性值为:•字节数为0•IsEOS为True•位置为0关闭具有零字节的流将删除关联的文件 .

    您的文件已创建,然后被删除,因为它是空的 .

相关问题