Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lotusscript 使用FieldAppendText向字段添加文本_Lotusscript - Fatal编程技术网

Lotusscript 使用FieldAppendText向字段添加文本

Lotusscript 使用FieldAppendText向字段添加文本,lotusscript,Lotusscript,我正在尝试在单击按钮时使用.FieldAppendText向文本字段添加文本 按钮单击事件中的代码: Sub Click(Source As Button) Dim workspace As New NotesUIWorkspace Dim uidoc As NotesUIDocument Set uidoc = workspace.CurrentDocument Call uidoc.FieldAppendText _ ( "testejam", "ka

我正在尝试在单击按钮时使用.FieldAppendText向文本字段添加文本

按钮单击事件中的代码:

Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument
    Call uidoc.FieldAppendText _
    ( "testejam", "kappa" )
End Sub

单击按钮时,文本会添加到字段中,但问题是添加的文本不会出现在新行中,但我已设置了文本字段属性“用户输入时的单独值”-“新行”和“使用”-“新行”显示单独的值”。我不明白问题出在哪里,也不明白为什么每次按下按钮时文本不会添加到新行。

使用
Chr(10)
自己添加新行:


您提到的其他选项只有在向字段添加新的列表元素时才起作用。

使用
Chr(10)
自己添加新行:


您提到的其他选项只有在向字段添加新的列表元素时才起作用。

如果您真的只想在文本字段中添加新行而没有多个值,那么Kurt的解决方案是正确的(尽管我会在windows pc上使用
Chr$(13)+Chr$(10)
与手动按下enter键相同)

但是,如果希望字段中有“多个值”,那么Knuts答案仅在字段中设置了“新行”分隔符时有效

如果您更改了这一点或希望更“通用”地使用此代码,请使用NotesItem类的backend-document和AppendToTextList-method进行此更改:

Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc as NotesDocument
    Dim item as NotesItem
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
    Set item = doc.GetFirstitem( "testejam" )
    Call item.AppendToTextList( "kappa" )
End Sub
您可能需要
调用Source.Refresh
作为最后一行,以使更改可见

此方法与“testejam”字段中使用的字段分隔符无关


此外,如果“testejam”是一个计算字段,则此代码也有效。uidoc解决方案对于计算字段将失败。

如果您真的只想在文本字段中添加新行而不具有多个值,那么Kurt的解决方案是正确的(尽管我会在windows pc上使用
Chr$(13)+Chr$(10)
,与手动按下enter键相同)

但是,如果希望字段中有“多个值”,那么Knuts答案仅在字段中设置了“新行”分隔符时有效

如果您更改了这一点或希望更“通用”地使用此代码,请使用NotesItem类的backend-document和AppendToTextList-method进行此更改:

Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc as NotesDocument
    Dim item as NotesItem
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
    Set item = doc.GetFirstitem( "testejam" )
    Call item.AppendToTextList( "kappa" )
End Sub
您可能需要
调用Source.Refresh
作为最后一行,以使更改可见

此方法与“testejam”字段中使用的字段分隔符无关


此外,如果“testejam”是一个计算字段,则此代码也有效。uidoc解决方案对于计算字段将失败。

问题不是向文本列表中添加元素。我们的目标是将文本附加到一个字段中,并用新行将其与现有内容分开。我理解你的观点,可能这就是OP的意思。但是:将字段属性设置为“使用新行显示单独的行”意味着:该字段是多值的。在前端添加带有换行符的值在技术上与在后端设置完全不同。结果将不同:在前端,属性将导致字段包含2个值。在后端,该字段将包含一个包含换行符的值,只要您不使用表单计算或在前端打开文档并保存……问题不是向文本列表中添加元素。我们的目标是将文本附加到一个字段中,并用新行将其与现有内容分开。我理解你的观点,可能这就是OP的意思。但是:将字段属性设置为“使用新行显示单独的行”意味着:该字段是多值的。在前端添加带有换行符的值在技术上与在后端设置完全不同。结果将不同:在前端,属性将导致字段包含2个值。在后端,该字段将包含一个包含换行符的值,只要您不使用表单计算或在前端打开文档并保存。。。