Lotus Notes:创建一个文本文件

时间:2016-07-25 14:44:10

标签: lotus-notes lotus-domino lotusscript lotus lotus-formula

我正在尝试在莲花笔记中创建一个文本文件,我正通过代理程序运行。代理程序成功运行,但文本文件未在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 :(得分:0)

  

截断流时,属性值为:•字节数为0•IsEOS   为真•位置为0

     

关闭零字节的流会删除关联的文件。

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

答案 1 :(得分: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