Seite 1 von 1
[gelöst] Array in einem Rutsch einfügen
Verfasst: Mi, 02.07.2014 17:11
von clag
Hallo Könner und Kenner,
aus einem Writer extrahiert ein Makro Strings und füllt ein zweidimensionales Array (10,50) damit
kann man den Inhalt derart in eine Calc Tabelle einfügen, das man nur die Start Zelle benennt
und der Rest aus dem Array automatisch in die benachbarten Zellen geschrieben wird?
Wenn ja, wäre ich für einen Beispiel Code sehr dankbar!
Re: Array in einem Rutsch einfügen
Verfasst: Mi, 02.07.2014 19:00
von DPunch
Servus
Prinzipiell einfach so:
Code: Alles auswählen
oDoc = thisComponent
oSheet = oDoc.Sheets("meinTabelle")
oStartCell = oSheet.getCellRangeByName("A1")
nStartCol = oStartCell.RangeAddress.StartColumn
nStartRow = oStartCell.RangeAddress.StartRow
nEndCol = nStartCol + UBound(meinArrayName,1)
nEndRow = nStartRow + UBound(meinArrayName,2)
oSheet.getCellRangeByPosition(nStartCol,nStartRow,nEndCol,nEndRow).setDataArray(meinArrayName)
Re: Array in einem Rutsch einfügen
Verfasst: Mi, 02.07.2014 20:34
von clag
Hallo DPunch,
sieht einfach super aus oder super einfach?
werde es gleich ausprobieren und dann einbauen.
besten Dank
Re: Array in einem Rutsch einfügen
Verfasst: Mi, 02.07.2014 20:41
von DPunch
Servus
Vor allem super falschrum, wie mir grad auffällt - da die erste Dimension die Zeilen und die zweite Dimension die Spalten repräsentiert, muss das eigentlich heißen
Code: Alles auswählen
nEndCol = nStartCol + UBound(meinArrayName,2)
nEndRow = nStartRow + UBound(meinArrayName,1)
Re: Array in einem Rutsch einfügen
Verfasst: Do, 03.07.2014 09:28
von clag
Hallo DPunch,
das einfügen als ganzes Array wirkt sich wie ein Turbo für das Makro aus, im Gegensatz zu dem Schleifen-Konstrukt vorher, string für string .... 500 mal
nochmals besten Dank