Script: Einen Root-Ordner verschieben

Inhalt

Entfernt einen Rootordner aus dem Root und ordnet diesen einem anderem Ordner unter.

Version

VersionBeschreibungScript
Versionen vor 5.8 MoveRootOrdner.txt
ab Version 5.8 Verwendet anstelle der VB Standardfunktionen die Vertec-Funktionen msgbox und inputbox (siehe dazu msgbox/inputbox: Beschreibung der Parameter). MoveRootOrdner58.txt

Ausführen

Auf dem Rootordner, der verschoben werden soll.

Da auf Rootordnern keine Scripts registriert werden können, muss das Ausführen auf anderem Weg erfolgen. Auf dem entsprechenden Rootordner in der Desktop App über Menü Einstellungen (Classic App über Menü Optionen) den VB Script Editor aufrufen, den Code einfügen und auf Ausführen klicken.

Scripttext

'---Bezeichnung: Root-Ordner verschieben
'   Klassen:
'   ObjectScript: No
'   ContainerScript: No
'   EventType: Kein
'   EventClass:
'   EventMembers:
'   ExtendedRights: No
'---Verschiebt einen Rootordner in einen anderen Ordner.
'   Er erscheint dann als Unterordner dieses anderen Ordners.
'   Alle Unterordner / Einträge des Root-Ordners werden ebenfalls verschoben.
'---09.10.2006, Vertec AG: erstellt.
'---20.04.2009, sr: Header eingefügt.
'---29.10.2013, sr: msgbox und inputbox auf vertec aufrufen.

option explicit

sub main

dim ordner
dim NeuerParentOrdner
dim ParentOrdner
dim UserRootListe
dim i
dim reslist

'Setzt und prüft den zu verschiebenden Ordner
set ordner = vertec.argobject

if not ordner.eval("ocliskindof(Abstractordner)") then
Vertec.msgbox "Das Script muss auf einem Ordner ausgeführt werden.",,"Vertec"
exit sub
end if

'Abfrage des neuen Parentordners
NeuerParentOrdner = Vertec.InputBox("Vertec", "Neuer Parentordner", "")
if NeuerParentOrdner="" then
exit sub
end if

set reslist = vertec.eval("abstractordner->select(bezeichnung='" + NeuerParentOrdner + "')")
if reslist.count <> 1 then
Vertec.msgbox "Der neue Parentordner ist nicht oder mehrfach vorhanden"
exit sub
end if

set ParentOrdner = reslist.objects(0)
'Setzt den Parentordner
set ordner.member("parentordner") = Parentordner

'Entfernt den Root-Status
set UserRootListe = ordner.member("abstractUserAsRoot")
for i = UserRootListe.count - 1 to 0 step -1
ordner.member("abstractUserAsRoot").remove UserRootListe.objects(i)
next
end sub

call main()


09.10.2006 | 08.07.2016: Scripts können nicht auf Rootordnern registriert werden. Klasse aus Header entfernt.
Produktlinien: Standard, Expert
Module: Leistung & CRM
Apps: Classic App, Desktop App