以下にACLを書き出すエージェントを書きます。 実行する文書を「@コマンド使用時に1回実行」指定したエージェントの実行時間「エージェントリストから手動で」実行するエージェントを作成してitializeのところに貼り付ければエージェントの一覧のところからメニューバーで「アクション」−>「実行」で現在のDBのACLが書き出されます。 詳細はスクリプトの内容をご覧ください。 Sub Initialize 'データベースの全ACLエントリーの名前、レベル、ロールを書き出す Dim db As NotesDatabase Dim acl As NotesACL Dim entry As NotesACLEntry Dim entry2 As NotesACLEntry Dim aryRoles As Variant 'サーバ、ファイルを指定してデータベースを開く ' server$ = Inputbox$( "Which server?", "ACL Entry Export" ) server$ = "TMITDEV01/TMITTEST" ' server$ = "" dbfile$ = Inputbox$( "Which database?", "ACL Entry Export" ) dbfile$ = "TMIT\0502Hyotei\" & dbfile$ Set db = New NotesDatabase( server$, dbfile$ ) Set acl = db.ACL 'ACLを取得 Set entry = acl.GetFirstEntry '最初のACLエントリを取得 '出力先のファイル名を指定 filename$ = Inputbox$( "ファイル名を指定して下さい", "ACL Entry Export", "C:\temp\AclEntry.csv" ) fileNum% = Freefile Open filename$ For Output As fileNum% 'ヘッダを出力 Write #fileNum%, Cstr(dbfile$) Write #fileNum%, "Name", "Level", "Roles","文書作成","文書削除","Agent","Folder","P読者","P作成者" '全ACLエントリに対して実行 While Not(entry Is Nothing) Set entry2 = acl.GetNextEntry( entry ) 'フロー制御 'ユーザー名を省略形式で取得 Set userName = New NotesName( entry.Name ) strUserName$ = userName.Abbreviated 'レベルの定数を日本語で表現し直す Select Case entry.Level Case ACLLEVEL_NOACCESS : level$ = "なし" Case ACLLEVEL_DEPOSITOR : level$ = "投稿者" Case ACLLEVEL_READER : level$ = "読者" Case ACLLEVEL_AUTHOR : level$ = "作成者" Case ACLLEVEL_EDITOR : level$ = "編集者" Case ACLLEVEL_DESIGNER : level$ = "設計者" Case ACLLEVEL_MANAGER : level$ = "管理者" End Select 'ロールを取得 roles$ = "" 'ロールをヌルに戻しておく aryRoles = entry.Roles If aryRoles( 0 ) = "" Then roles$ = "" Else Forall r In entry.Roles If roles$ = "" Then roles$ = r '最初のロールを格納 Else roles$ = roles$ & " : " & r '2個目以降のロールを追加 End If End Forall End If '文書の作成を取得 CDflag$ = "" If entry.CanCreateDocuments Then CDflag$ = "○" End If '文書の削除を取得 DDflag$ = "" If entry.CanDeleteDocuments Then DDflag$ = "○" End If '個人エージェントの作成を取得 AMflag$ = "" If entry.CanCreatePersonalAgent Then AMflag$ = "○" End If '個人フォルダの作成を取得 FMflag$ = "" If entry.CanCreatePersonalFolder Then FMflag$ = "○" End If 'パブリック文書[読者]を取得 PRflag$ = "" If entry.IspublicReader Then PRflag$ = "○" End If 'パブリック文書[作成者]を取得 PWflag$ = "" If entry.IsPublicWriter Then PWflag$ = "○" End If 'ファイルに書き出し Write #fileNum%, strUserName$, level$, roles$, CDflag$, DDflag$, AMflag$, FMflag$, PRflag$, PWflag$ Set entry = entry2 'フロー制御 Wend Close #fileNum% End Sub