Seite 1 von 1
zellwerte in einen array lesen
Verfasst: Do, 09.08.2007 15:07
von kannenklaus
hallo,
ich würde gerne die zellwerte (a1, b1 und c1) von u.g. code in einen array lesen. geht das und wenn ja wie?
Code: Alles auswählen
Sub Main
Dim aktBlatt as Object, aktZelle as Object
Dim iSp as Integer, iZe as integer
Dim s as string
aktBlatt=thisComponent.CurrentController.getActiveSheet
For iSp = 0 to 2
aktZelle=aktBlatt.getCellByPosition(iSp,0)
s=aktZelle.string
msgbox(s)
next
End Sub
freue mich auf eine antwort
grüße klaus
Re: zellwerte in einen array lesen
Verfasst: Do, 09.08.2007 15:19
von kannenklaus
habe nun diese lösung entwicklet, ohne zu wissen, ob sie die beste ist:
Code: Alles auswählen
Sub Main
Dim aktBlatt as Object, aktZelle as Object
Dim A as variant
Dim iSp as Integer, iZe as integer
Dim s as string
aktBlatt=thisComponent.CurrentController.getActiveSheet
For iSp = 0 to 2
aktZelle=aktBlatt.getCellByPosition(iSp,0)
s=aktZelle.string
x=s+chr(13)+x
next
A=Array(x)
msgbox A(0)
End Sub
Re: zellwerte in einen array lesen
Verfasst: Fr, 10.08.2007 08:12
von Toxitom
Hallo Kannenklaus,
also, es gibt da diverse Methoden. Bei nur drei Werten würdfe man das einfach so machen:
Code: Alles auswählen
Sub Main
Dim aktBlatt as Object, aktZelle as Object
Dim A(2) as variant
Dim iSp as Integer, iZe as integer
Dim s as string
aktBlatt=thisComponent.CurrentController.getActiveSheet
For iSp = 0 to 2
aktZelle=aktBlatt.getCellByPosition(iSp,0)
A(i)=aktZelle.string
next
msgbox A(0)
End Sub
Das ist die kürzeste und typische Variante.
Weisst du nicht genau, wieviel Zellen es werden, kan der Array entweder innerhalb der For-Schleife mit "Redim preserve" jeweils vergrößert werden, oder du nutzt gleich eine UNO-Variante und liest den kompleten Datenstrom aus dem Zellbereich ein (getDataArray())- da hast du dann gleich einen Array -allerings immer einen verschachtelten!.
Viele Grüße
Thomas