3

特定のロールのすべてのユーザー名を取得して、そのロールのアクセス権を持つすべてのユーザーにメールを送信できるようにする必要があります。どうすればこのタスクを達成できますか?

このリンクを見たのですが、

指定したロールを持つすべてのユーザーを取得するにはどうすればよいですか?

SendTo で使用できるすべての有効なユーザー名を取得する他の方法はありませんか? この問題がなければ?NotesACL は試していませんが。Lotus Notes 開発の初心者です。

4

1 に答える 1

6

ACL エントリがどのように見えるかについて少し影響がある場合は、適切なソリューションを実現できるはずです。次のコードは、特定のロールを持つ ACL 内のすべてのエントリを収集し、タイプがまたはのエントリのみ受け入れます。PersonPerson group

Function GetRoleMembers(roleName As String) As String
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim acl As NotesACL
    Dim entry As NotesACLEntry
    Dim sMembers As String 
    Set db = session.CurrentDatabase
    Set acl = db.ACL
    sMembers = ""
    Set entry = acl.GetFirstEntry
    While Not ( entry Is Nothing )
        If entry.IsRoleEnabled( roleName ) And entry.IsPerson Then
            sMembers = sMembers + entry.Name & ","
        End If
        Set entry = acl.GetNextEntry( entry )
    Wend
    GetRoleMembers = sMembers
End Function

この関数は、指定された役割を持つすべての個人とグループのカンマ区切りのリストを返します。この機能をテストするには

Print GetRoleMembers("[Test]")

メールを送信するユーザーのタイプがPersonまたはに割り当てられていることを確認してくださいPerson group。ACLでユーザーのタイプを設定できます

ここに画像の説明を入力

于 2013-07-18T12:36:25.020 に答える