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

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

2014年10月7日火曜日

アーカイブの設定内容を取得する

皆さん、こんにちは。10月に入りましたが大型台風が続々やってきています。
注意してくださいね。台風のときはなるべく出歩かないように。できることなら在宅勤務にしましょう(私の願いでもあったりします・・・)。


さて、今日も張り切っていきましょう。
とその前に・・・にほんブログ村 IT技術ブログへをクリックしてくださいね。



ではでは。
今日は久しぶりのLotusScriptです。
そして、いまだにアクセスが多い「アーカイブ」についてです。



メールのアーカイブをするのがほとんどだと思いますが、どんな設定になっているかを確認する方法が分かりにくいですよね。
通常、ノーツDBのプロパティから「アーカイブの設定」というボタンをクリックして(下図)、専用の画面上で確認します。
ノーツDBのプロパティ
アーカイブの設定画面

特殊な画面なので、他の方法では取得できないかな?と思っていたのですが、調べてみたらプロフィール文書の集合体でできていたことがわかりました。
であれば、LotusScriptで取得することができるのではないか?という事でサンプルを作ってみました。
Sub Click(Source As Button)
    Dim session   As New NotesSession
    Dim db        As     NotesDatabase
    Dim pdoc      As     NotesDocument
    Dim proDoc    As     NotesDocument
    Dim i         As     Integer
    Dim proNum    As     Integer
    Dim proName   As     Variant
   
    Set db   = session.GetDatabase( "Dominoサーバー名", "メールファイル名" )
    Set pdoc = db.GetProfileDocument( "archive profile" )
   
    proNum   = Ubound( pdoc.GetItemValue( "ArchivePrivatePolicyList" ) )
    proName  = pdoc.GetItemValue( "ArchivePrivatePolicyList" )
   
    For i = 0 To proNum
        Set proDoc = db.GetProfileDocument( proName(i) )
        Msgbox _
        "アーカイブ名:" & proDoc.GetItemValue( "FullName" )(0) & Chr$(10) & _
        "ファイル名:"   & proDoc.GetItemValue( "ArchivePath" )(0), _
        0 + 64, "アーカイブDBファイル名"
    Next
End Sub

こちらのサンプルは、指定したメールDBのアーカイブDBファイル名を表示するものです。
アーカイブの条件は複数設定できるため、それぞれの条件でどのアーカイブDBが設定されているのかを取得して、メッセージボックスで条件の名前とともに表示しています。


これを応用すれば、アーカイブを設定しているユーザがどういうファイル名でアーカイブを取得しているのかがわかり、一括で管理できるようになるのではないでしょうか。

気になったら試してみてください。
では、今日はこの辺で・・・



※今回の記事は、私の調査に基づくものであり、公式見解ではありません。サンプルプログラムの利用にあたっては自己責任の上でご利用ください。





【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: