Dimensionierung und Deklaration von Array's

gefragt 2020-08-14 14:42:26 +0200

Craig22 Gravatar-Bild

updated 2020-08-20 13:44:58 +0200

E D I T: 19.08.2020

Da ich hier bis jetzt keine Antwort erhalten habe, habe ich mich für ein Crossposting entschieden:

https://de.openoffice.info/viewtopic....

E D I T: 20.08.2020 Problem gelöst.

Lösung befindet sich hier:

https://de.openoffice.info/viewtopic....

Hallo,

ich habe Verständnis -Probleme bei der Dimensioniereung und Deklaration von Array's.

Wenn ich in ein Array einen Zellbereich einlese, dann wird mir ein Array passender Größe angelegt, welches mit den Daten des angegebenen Zellbereichs gefüllt ist:

Dim mArrProfil() as Variant
    oDoc = ThisComponent
    oSheet=oDoc.Sheets.getByName("Tabelle1")
        oRange1= oSheet.getCellRangeByName("A2:B10")
                mArrProfil()=oRange1.getDataArray()

Dies wäre nun mein erstes großes Array mit allen erforderlichen Daten.

Jetzt benötige ich ein kleineres Array mit einer Zeile und zwei Spalten, die Felder sollen leer sein, weil die Befüllung des Array's in einer Schleife erfolgt. An die Befüllung ist eine Bedingung geknüpft Die Daten werden aus dem großen Array übernommen:

WENN Bedingung = WAHR, DANN Daten in kleines ARRAY

So soll aus dem ersten großen Array, Daten im kleineren Array lückenlos aufgelistet werden.

Dieser Code ist bisher mein Behelf:

    Dim mArrProfil() as Variant
    oDoc = ThisComponent
    oSheet=oDoc.Sheets.getByName("Tabelle1")
        oRange2= oSheet.getCellRangeByName("AA1:AB1")
                mArrProfil()=oRange2.getDataArray()

Dadurch wird ein kleines Array mit einer Zeile und zwei Spalten generiert, in dem ich einen leeren, einzeiligen Zellbereich übergebe.

Der Grund hierfür ist, dass ich nicht weiß, wie ich ein Arrray deklariere und dimensioniere, dass es einem Array gleicht, welches ich per "getDataArray" erzeugt habe.

Die Unterschiede habe ich mal in dieser Writer-datei aufgeführt. C:\fakepath\Makro Array Dimensionierung aus Zellbereich und per DIM-Anweisung.odt

Die Screenshots des Beobachters zeigen den unterschiedlichen Aufbau:

  1. Array nach Übergabe eines Zellbereichs (ist als Objekt gekennzeichnet???)
  2. Array nach Deklaration und Dimensionierung per DIM-Anweisung (ist als Variant gekennzeichnet???)

Frage1 : Wie muss die DIM-Anweisung erfolgen, damit das kleinere Arrray Punkt 1 entspricht?

Frage2 : Warum ist das Array aus Punkt 1 als Objekt gekennzeichnet?

Frage3 : Warum ist das Array aus Punkt 1 als Variant gekennzeichnet?

Eine Calc-Datei mit Testmakro:

C:\fakepath\Calc Array-Test.ods

Bearbeiten Tags ändern Melden schließen vereinen löschen