von Toxitom » Fr, 10.08.2007 08:12
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
Hallo Kannenklaus,
also, es gibt da diverse Methoden. Bei nur drei Werten würdfe man das einfach so machen:
[code]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[/code]
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