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

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

2008年9月5日金曜日

作成者フィールドを変更する

文書の作成者を変更するLotusScriptを紹介する。
NotesDBのACLが作成者になっていると、「作成者フィールド」に自分の名前が入っていないと、その文書を編集することができない。

ACLを変更できないけど文書を変更したい時や、ワークフローのように、状況に応じて文書の編集者を変更する場合に利用すると良い。


サンプルは、ビューで選択した文書のFromフィールドの内容を変更して、属性を"作成者"にするものである。

------------------------------------------------------------------
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument
Dim sakusei As NotesItem
Dim namae As NotesName

Dim i As Integer
Dim res As String

Set db = session.CurrentDatabase
Set docs = db.UnprocessedDocuments

For i = 1 To docs.Count
Set doc = docs.GetNthDocument( i )
Set sakusei = doc.GetFirstItem( "From" )
res = Inputbox( "変更後の名前を入力してください。", "作成者の変更", "" )
Set namae = New NotesName( res )
Call doc.ReplaceItemValue( "From", namae.Canonical )
sakusei.IsAuthors = True
Call doc.Save( True, True )
Next
End Sub


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

0 件のコメント: