AfAbmLstGet
Mit der Funktion lassen sich alle Arbeitsmappen ermitteln, die sich in der übergebenen Arbeitsmappe befinden. Die Eltern-Arbeitsmappennummer wird in dem Parameter (int1) übergeben.
Standardmässig werden nur die Arbeitsmappen zurückgegeben, die sich direkt in der Eltern-Arbeitsmappe befinden. Sollen alle Mappen aus allen untergeordneten Ebenen zurückgegeben werden, kann dies durch das Setzen des Parameters (logic3) auf true erreicht werden.
Die Arbeitsmappen werden unsortiert zurückgegeben, soll die bei den Parametern des Benutzers eingestellte Sortierung verwendet werden, muss in (logic4) true angegeben werden.
Im Parameter (handle2) muss der Deskriptor einer leeren Cte-Liste übergeben werden, die vor dem Aufruf der Funktion über den Befehl AfCteOpen() angelegt wurde.
Nach dem Aufruf der Funktion ist für jede untergeordnete Mappe ein Objekt in der Cte-Liste vorhanden. Die Objekte können geladen werden und über die Eigenschaften "Name", "Custom" und "ID" können die Mappen-Informationen ausgelesen werden.
Es werden nicht mehr als 5000 Arbeitsmappen übergeben. Sollten mehr Arbeitsmappen vorhanden sein, müssen die jeweils untergeordneten Mappen einer Arbeistmappe ausgelesen werden.
Die Informationen werden dabei je nach Option unterschiedlich abgelegt:
- (logic3) = FALSE (Standard)
Name In der Eigenschaft "Name" wird die Nummer der Arbeitsmappe gespeichert Custom In der Eigenschaft "Custom" wird ein Vorzeichen (+ oder -) gefolgt vom Namen der Arbeitsmappe gespeichert.
Das Vorzeichen sagt aus, ob zu dieser Mappe weitere Untermappen vorhanden sind: "+", es sind Untermappen vorhanden, "-", es sind keine Untermappen vorhanden.
- (logic3) = TRUE
Name In der Eigenschaft "Name" wird die Nummer der Arbeitsmappe gespeichert Custom In der Eigenschaft "Custom" wird die Nummer der Elternmappe, gefolgt von einem Trennzeichen "#", anschließend ein Vorzeichen (+ oder -) gefolgt vom Namen der Arbeitsmappe gespeichert.
Das Vorzeichen sagt aus, ob zu dieser Mappe weitere Untermappen vorhanden sind: "+", es sind Untermappen vorhanden, "-", es sind keine Untermappen vorhanden.
Beispiel:
12#-Arbeitsmappe1 - Diese Arbeitsmappe ist eine Untermappe der Mappe mit der Nummer 12. Sie besitzt keine Untermappen.
Über die Eigenschaft "ID" des Items kann die Mappen-Unterteilung der Arbeitsmappe abgefragt werden. Folgende Konstanten können zurückgegeben werden:
Konstante | Wert | Bedeutung |
sAbmPartNone | 0 | keine virtuelle Unterteilung |
sAbmPartYear | 1 | virtuelle Jahres-Unterteilung unter der Arbeitsmappe |
sAbmPartYearMonth | 2 | virtuelle Jahres- und Monats-Unterteilung unter der Arbeitsmappe |
Beispiele:
Im folgenden Beispiel werden die Arbeitsmappen auf einer Ebene nach einer Arbeitsmappe mit einem bestimmten Namen durchsucht:
tCteList # AfCteOpen(_CteList); // untergeordnete Arbeitsmappen ermitteln tErg # AFAbmLstGet(tAbmParent,tCteList,false); // suchen nach Arbeitsmappe mit Name "Projekte" -> ID zurückgeben tItem # CteRead(tCteList, _CteFirst | _CteSearch | _CteCustom, 0, '?Projekte'); if (tItem != 0) { tAbmId # tItem->spName; }
Sollen alle untergeordneten Arbeitsmappen durchsucht werden, kann das Beispiel wie folgt abgewandelt werden:
// suchen nach Arbeitsmappen mit dem Namen "Projekte" -> ID zurückgeben tItem # CteRead(tCteList, _CteFirst | _CteSearch | _CteCustom, 0,'*#?Projekte'); while (tItem != 0) { // Arbeitsmappe gefunden ... // Nächste Arbeitsmappe suchen tItem # CteRead(tCteList, _CteNext | _CteSearch | _CteCustom, tItem,'*#?Projekte'); }
![]() |
Wird ein ungültiger Deskriptor in (int2) übergeben, kommt es zu einem Laufzeitfehler. |
Neben den allgemeinen Fehlerwerten können folgende Werte zurückgegeben werden:
Konstante | Wert | Bedeutung |
_ErrOk | 0 | ok - kein Fehler aufgetreten |
sAfErrItemLimit | -20015 | Die maximale Anzahl an übertragbaren Elementen (ca. 5000) wurde überschritten |
sAfErrNoRecAbm | -20026 | Die in (int1) übergebene Arbeitsmappe existiert nicht |
Für weitere CONZEPT 16-spezifische Rückgabewerte siehe die aktuelle CONZEPT 16-Hilfe.