LotusScript空间字符

时间:2013-06-12 11:45:36

标签: lotusscript

我正在写Lotusscript代理,我怎么说我需要在空间角色的权利中取值? 例如,这取值在/:

的右侧
fld9.Value = StrRight(Cstr(doc.request(0)), "/") 

但如果我用空格而不是/,它就不起作用了。我需要在那里写一些代码吗?

由于

2 个答案:

答案 0 :(得分:2)

您确定要查找的字符是空格而不是其他空白字符吗?

如果它是一个空格,那么这将与您的示例相同:

fld9.Value = StrRight(Cstr(doc.request(0)), " ")

或者更灵活

Dim strSpace as String
strSpace = Chr$(20)
fld9.Value = StrRight(Cstr(doc.request(0)), strSpace)

要找出你在那里得到的东西,你拿一根绳子(你可能知道)然后这样做:

Dim strSpaceChar As String
Dim lngAsc as Long
strSpaceChar = Mid$("Your String with a space", 5, 1)
' 5 = Position of the "space" character, 1 = Number characters
lngAsc = Asc( strSpaceChar )

如果lngAsc<> 20然后你需要在上面的例子中用正确的字符替换strSpace ......

如果文本中可能有不同的“空格”并且在运行之前您不知道,那么创建一个包含所有已知“空间”变体的数组(以下示例将考虑NewLines和HTML作为空格)< / p>

Dim arrSpaces( 3 ) as String
arrSpaces( 0 ) = Chr$( 10 )
arrSpaces( 1 ) = Chr$( 13 )
arrSpaces( 2 ) = Chr$( 0 )
arrSpaces( 3 ) = Chr$( 160 )

并将其替换为“真实”空间......

myString = Replace( Cstr(doc.request(0)) , arrSpaces , Chr$(20) )

编辑因为新的问题: 有些类可以处理日期/时间值。 你可以这样做:

Dim dtRequest as NotesDateTime
Dim strDate as String
Dim strTime as String
Set dtRequest = New NotesDateTime( doc.request(0) )
strDate = dtRequest.DateOnly
strTime = dtRequest.TimeOnly

答案 1 :(得分:1)

确实可以使用空格" "。我的猜测是,您的表达式Cstr(doc.request(0))不包含空格,因为Cstr()转换为数字为而不是空格。

如果您想从日期/时间值获取时间作为字符串,那么最好使用format()

fld9.Value = Format(doc.request(0), "hh:nn:ss")