Lotusscript エージェントを作成していますが、スペース文字の右側に値を入れる必要があるとどのように言えますか? たとえば、これは / の右側に値をとります:
fld9.Value = StrRight(Cstr(doc.request(0)), "/")
/の代わりにスペースを入れるとうまくいきません。そこに何らかのコードを書く必要がありますか?
ありがとう
Lotusscript エージェントを作成していますが、スペース文字の右側に値を入れる必要があるとどのように言えますか? たとえば、これは / の右側に値をとります:
fld9.Value = StrRight(Cstr(doc.request(0)), "/")
/の代わりにスペースを入れるとうまくいきません。そこに何らかのコードを書く必要がありますか?
ありがとう
検索したい文字はスペースであり、別の空白文字ではありませんか?
それがスペースの場合、これはあなたの例と同じように機能します:
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
それは確かにスペース" "
で動作します。私の推測では、たとえば数字をスペースなしで文字列に変換Cstr(doc.request(0))
するため、式にはスペースが含まれていません。Cstr()
日付/時刻の値から時刻を文字列として取得する場合は、次を使用することをお勧めしますformat()
。
fld9.Value = Format(doc.request(0), "hh:nn:ss")