作为创建基本版本控制系统的一部分,我想在Lotus Notes模板上以编程方式禁用设计元素级别继承。到目前为止,我尝试了以下内容:
我想探索的一个领域:
$Class
项。 是否有人建议如何执行此操作,或其他方法将删除继承?
答案 0 :(得分:4)
以下子似乎有效,它从7.0.3客户端可以生成的任何设计元素中删除该标志。我从同一主题的Ian's blog条目中获得了关于NotesNoteCollection
的线索:
Private Sub clearDesignInheritance(db As notesdatabase)
On Error Goto errorthrower
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(True) ' Select all note types...
nc.SelectDocuments=False ' ...except data documents.
Call nc.BuildCollection
Dim noteid As String
noteid = nc.GetFirstNoteId
Dim doc As notesdocument
Do Until noteid=""
Set doc = db.GetDocumentByID(noteid)
If doc.HasItem("$Class") Then
Call doc.RemoveItem("$Class")
Call doc.save(False,False,False)
End If
noteid = nc.GetNextNoteId(noteid)
Loop
Exit Sub
ErrorThrower:
Error Err, Error & Chr(13) + "Module: " & Cstr( Getthreadinfo(1) ) & ", Line: " & Cstr( Erl )
End Sub