[gelöst] Array in einem Rutsch einfügen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3547
Registriert: Di, 27.01.2009 15:30

[gelöst] Array in einem Rutsch einfügen

Beitrag von clag » Mi, 02.07.2014 17:11

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!
Zuletzt geändert von clag am Do, 03.07.2014 09:29, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Array in einem Rutsch einfügen

Beitrag von DPunch » Mi, 02.07.2014 19:00

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)

clag
********
Beiträge: 3547
Registriert: Di, 27.01.2009 15:30

Re: Array in einem Rutsch einfügen

Beitrag von clag » Mi, 02.07.2014 20:34

Hallo DPunch,

sieht einfach super aus oder super einfach?
werde es gleich ausprobieren und dann einbauen.

besten Dank
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Array in einem Rutsch einfügen

Beitrag von DPunch » Mi, 02.07.2014 20:41

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)

clag
********
Beiträge: 3547
Registriert: Di, 27.01.2009 15:30

Re: Array in einem Rutsch einfügen

Beitrag von clag » Do, 03.07.2014 09:28

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
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

Antworten