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

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

2009年5月15日金曜日

他人のメールDBの所有者フィールドの内容を調べる

昔、メールDBのトラブルで、スケジュールが正しく反映されないということに遭遇したことがありました。
結局、その人のメールの所有者が誤っていたため、と言うことが分かり、強引に修正(*1)して、事なきを得ました。
ちなみに所有者というのは、下図の赤丸部分のことですね。


*1 その時のバージョンでは、メールの所有者は手動では変更することができず、LotusScriptを使いました。

その時に、他のユーザでも発生したら困るな。ということで緊急チェック用に作ったものが今回のサンプルです。
調査委したいユーザのメールDBファイル名を入力すると、所有者名称を表示してくれるというものです。
ユーザに確認すれば良いのですが、手順を教えるのもなかなか面倒(別の原因かもしれない)なので、こういったもので作業を簡略化していました。

ただし、調査したいユーザが、自分のカレンダーを公開しておく必要があります。

------------------------------------------------------------------------------
Sub Click(Source As Button)
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim res As String

res = Inputbox ( "調査する人のメールDBファイル名を入力してください。", "調査する人のメールDBファイル名", "" )
If res = "" Then
Messagebox "入力されていませんので、処理を中断します。", 0, "調査する人のメールDBファイル名"
Exit Sub
End If

Set db = New NotesDatabase( "EFMIYOSV/EFMIYO", res )
If db.IsOpen = False Then
Messagebox "DBファイル名が誤っています。処理を中断します。", 0, "メールDBの所有者を調べる"
Exit Sub
End If

'カレンダープロフィール文書を取得する
Set doc = db.GetProfileDocument( "CalendarProfile" )

If doc Is Nothing Then
Messagebox "このメールDBはカレンダーが公開されていません。", 0 + 16, "メールDBの所有者を調べる"
Else
'カレンダープロフィールの所有者欄を表示する
Messagebox "このメールDBの所有者は" & doc.Owner(0) & "になっています。", 0, "メールDBの所有者を調べる"
End If
End Sub



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: