Domino 9 und frühere Versionen > ND6: Entwicklung
NoRefresh-Haken bei Designelementen per Script setzen
theBastian:
Hallo,
ich habe einige Datenbanken, deren Designelemente einen Haken bei NoRefresh "tragen". Diesen würde ich gern entfernen. :(
Da ich aber faul bin, und nicht in jeder DB rumsausen will, suche ich eine Alternative. :-\
Gibts dafür vielleicht einen Scriptbefehl oder eine Klasse?
Dank Euch im voraus.
cu
Sebastian
TMC:
Mit der NotesNoteCollection - Klasse hast Du Zugriff auf die Designelemente als NotesDocuments.
Im Item $Flags steckt diese Information.
Ist dort im String ein "P" enthalten, so ist die Eigenschaft "Prohibit Design Refresh" gesetzt.
Am besten liest Du also $Flags in ein String aus, entfernst per Script das P, schreibst das String wieder zurück und speicherst.
theBastian:
Hi,
habe mit dieser Klasse noch nicht gearbeitet und steige da leider nicht so richtig durch. Hieße das also am Beispiel des Icons einer DB:
erst mal Collection erstellen (Help-DB)?
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
nc.SelectIcon = True
Call nc.BuildCollection
habe ich jetzt eine Collection oder das Docs?
Kann ich jetzt mit GetItem zugreifen oder?
Ich habe keinen Plan. :(
cu
Sebastian
TMC:
Also ans NotesDocument kommt man meines Wissens nur mit einem Mini-Workaround.
--- Code: --- On Error Goto ErrorHandler
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ncol As NotesNoteCollection
Dim strNoteID As String
Dim docDesign As NotesDocument
Dim lngCount As Long
Set db = session.CurrentDatabase
Set ncol = db.CreateNoteCollection(False) 'empty collection
Call ncol.SelectAllDesignElements(True) ' wir brauchen alle Designelemente
'Use BuildCollection to compile the collection. You must build before the collection can be used.
Call ncol.BuildCollection
strNoteID = ncol.GetFirstNoteId
Do While Not(strNoteID = "")
Set docDesign = db.GetDocumentByID(strNoteID)
'---------- HIER KOMMT NUN DEIN CODE REIN
'Mit docDesign hast Du Zugriff auf ein Designelement als NotesDocument-Objekt
lngCount = lngCount + 1
strNoteID = ncol.GetNextNoteId(strNoteID)
Loop
Msgbox lngCount & " Designelemente bearbeitet."
GoOut:
Exit Sub
ErrorHandler:
Msgbox "Error #" & Err & " — " & Error$ & " (line: " & Erl & ")", 48, "Runtime error"
Resume GoOut
--- Ende Code ---
ascom40:
Hi
--- Code: ---If docDesign.HasItem("IconBitmap") Then
Msgbox "Treffer ! Datenbankicon erwischt"
End If
--- Ende Code ---
da hat das Item $Flags aber meines Wissens KEINEN Inhalt, wenn "R" drinsteht, wird das Design aktualisiert.
Jo
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln