我正在写Lotusscript代理,我怎么说我需要在空间角色的权利中取值? 例如,这取值在/:
的右侧fld9.Value = StrRight(Cstr(doc.request(0)), "/")
但如果我用空格而不是/,它就不起作用了。我需要在那里写一些代码吗?
由于
答案 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")