当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2010年3月11日木曜日

選択したDBのレプリカIDを求める

今日は、ドミノ懇談室にあった問題についてです。
「文書が保存されていません」が表示され、エージェントが実行できない
に出ていた選択したDBのレプリカIDを求める方法です。

@関数とLotus Script(エージェント)を組み合わせて使っていましたが、せっかくだからLotus Scriptだけで実現してみましょう。


ということで、記事に移る前に、今日もボタンを押してから読みましょう。
にほんブログ村 IT技術ブログへ
はい。ご協力ありがとうございました。





では、早速。
実は以前にヒントとなるサンプルを掲載しているんですね。
「データベースを開く」ダイアログを表示するです。

ここで紹介しているNotesUIWorkspaceクラスのPromptメソッドが@Prompt([ChooseDatabase];"";"")の代わりになるんですね。
このメソッドの戻り値の1番目と2番目を使えば、サーバ名とDBファイル名を取得できるので、後はNotesDatabaseを取得するだけです。
簡単にできましたね。

Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    Dim ret As Variant 'Promptメソッドの戻り値
    Dim session As New NotesSession
    Dim db As NotesDatabase
    
    ret = uiws.Prompt( 13, "", "" )
    
    If Isempty( ret ) Then
        Msgbox _
        "キャンセルがクリックされました。処理を中断します。", _
        MB_OK + MB_ICONSTOP, _
        "DBの選択"
        Exit Sub
    End If
    
    Set db = session.GetDatabase( ret(0), ret(1), False )
    If Not( db Is Nothing ) Then
        Msgbox "選択したDBのレプリカID: " & db.ReplicaID, MB_OK, "DBの選択"
    End If
End Sub



【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: