他人のメール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 カスタマイズとセキュリティ強化 - 株式会社エフ

コメント