' ADD REFERENCE INFO ' © 2004 by Lukasz Szopa, l.szopa@open-document.de ' www.open-document.de ' Dieses Skript durchläuft alle Objekte im ELO und prüft für ' jedes Objekt, ob dieses mind. eine REFERENZ hat. ' Falls ja, wird zu der Kurzbezeichnung des Objekt diese Information ' durch ein "[R]" hinzugefügt. ' Falls nein, wird geprüft, ob sich in der Kurzbezeichnung nicht ' eine alte "[R]"-Anmerkung befindet, wo aber inzwischen die früher ' erstellte und markierte Referenz nicht mehr existiert. Dann wird dieser ' Zusatz auch gelöscht. ' Da dieser Vorgang lange dauern kann (Prüfung ALLER Archiv-Einträge!) ' sollte er nur selten, bzw. vom Administrator an einem eigenen ' ELO-Client durchgeführt werden. set ELO = CreateObject("ELO.professional") MsgBox "Referenzen werden geprüft und die ELO-Objektnamen dementsprechend durch Hinzufügen/Entfernen von [L] angepasst. Bitte warten Sie." ' Zuerst ein neues Dummy-Objekt im ELO erzeugen, ' um damit später die letzte ObjektID im Archiv zu ermitteln: Elo.PrepareObject 0, 1, 0 Elo.ObjShort = "Dummy" Elo.UpdateObject ' Suche nach dem gerade erstelltem ELO-Objekt: SearchTerm="Dummy" Elo.PrepareObject 0,1,0 Elo.ObjShort=SearchTerm Result=Elo.DoInvisibleSearch LastObjID=Elo.GetEntryId (268435456) ' Ermittlung dessen ObjID Elo.DeleteObj LastObjID ' anschließend kann man das Objekt wieder löschen. Elo.ObjShort="" For n=1 to LastObjID ' nun geht ELO über alle ObjektIDs.. refcheck=Elo.GetObjRef (n, 1) ' und sammelt zu jedem die REFERENZ-Info If refcheck<>"-2" then ' falls es Referenzen zu einem Objekt gibt... name=Elo.GetEntryName(n) ' wird dessen Kurzbezeichnung ermittelt, check_r=Right(name,4) ' und die letzten 4 Stellen. if check_r<>" [R]" then ' Sollte dort noch kein Hinweis auj Links stehen, newname=name+" [R]" ' wird ein solcher "[L]" hinzugefügt Elo.PrepareObject n,0,0 ' und das Objekt aktualisiert Elo.ObjShort=newname Elo.UpdateObject() End if End if If refcheck="-2" then ' wenn es zu einem Objekt keine Referenzen gibt name=Elo.GetEntryName(n) ' wird ebenfalls der Name ermittelt check_r=Right(name,4) ' und überprüft, ob nicht ein veralteter "[L]"-Hinweis drinnen steht if check_r=" [R]" then ' wenn ja, wird dieser Zusatz gelöscht. rn=Instr (1, name, " [R]", 1) pos=rn-1 newname=Left(name,pos) Elo.PrepareObject n,0,0 Elo.ObjShort=newname Elo.UpdateObject() End if End if Next MsgBox "Referenz-Überprüfung beendet!"