0

Lotusscript エージェントを作成していますが、スペース文字の右側に値を入れる必要があるとどのように言えますか? たとえば、これは / の右側に値をとります:

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

/の代わりにスペースを入れるとうまくいきません。そこに何らかのコードを書く必要がありますか?

ありがとう

4

2 に答える 2

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 nbsp をスペースと見なします)。

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
于 2013-06-12T12:13:28.883 に答える
1

それは確かにスペース" "で動作します。私の推測では、たとえば数字をスペースなしで文字列に変換Cstr(doc.request(0))するため、式にはスペースが含まれていません。Cstr()

日付/時刻の値から時刻を文字列として取得する場合は、次を使用することをお勧めしますformat()

fld9.Value = Format(doc.request(0), "hh:nn:ss")
于 2013-06-12T12:08:02.900 に答える