Lunatic Sol

IT Tips

GetAgentUNID

2004-04-06 20:15:48 | LotusScript
NotesAgent の UNID が必要になるケースはまぁそうそうないと思いますが、諸事情により LotusScript 内で取得する必要がありました。NotesAgent クラスには UNID を表示するプロパティがありません。よって、別の方法で取得しないといけません。

そこで目をつけたのは NotesURL プロパティです。NotesURL は notes:// ではじまる URL 形式で NotesAgent の UNID をその戻り値に含んでいます。そこを加工して取得することにしました。先に書いた IsValidUNID を使っているので、忘れずに同じオブジェクト内に Function を入れておいてください。

引数は NotesAgent オブジェクトで、戻り値は String 型の UNID です。何らかの理由で正しい UNID が取得できない場合は空白文字を返すようにしています。

Function GetAgentUNID(agent As NotesAgent) As String
    Dim splitURL As Variant
    splitURL = Split(agent.NotesURL, "/")
    GetAgentUNID = splitURL(Ubound(splitURL))
    If Instr(GetAgentUNID, "?OpenAgent") Then
        GetAgentUNID = Strleft(GetAgentUNID, "?OpenAgent")
    End If
    If Not IsValidUNID(GetAgentUNID) Then
        GetAgentUNID = ""
    End If
End Function

最新の画像もっと見る