Seite 1 von 1
Dialog:Zellbereich in NumericFields lesen
Verfasst: So, 03.01.2016 19:12
von Jörg
Hallo Fachleute,
jede einzelne Zelle einzulesen klappt.
Code: Alles auswählen
sub neue_preise_lesen
odoc = thiscomponent
osheet = odoc.Sheets.getByName("Preisliste")
mycell = osheet.getCellRangeByName("B5")
c = mycell.value
oDialog6.getControl("NumericField1").value = c
mycell = osheet.getCellRangeByName("C5")
c = mycell.value
oDialog6.getControl("NumericField2").value = c
mycell = osheet.getCellRangeByName("D5")
c = mycell.value
oDialog6.getControl("NumericField3").value = c
'usw.
end sub
Das Problem auch hier:
Es soll der Zellbereich B5:V5 in die NumericFields 1bis 20 gelesen werden.
Analog dazu noch ein weiterer.
Doch für 40 Zellen erscheint das mir zu unübersichtlich.
Vielleicht habt Ihr ja ne Array-Lösung ?
Würd mich freuen?
Gruß Jörg
Re: Dialog:Zellbereich in NumericFields lesen
Verfasst: So, 03.01.2016 19:39
von F3K Total
Moin, so?
Code: Alles auswählen
sub neue_preise_lesen
odoc = thiscomponent
osheet = odoc.Sheets.getByName("Preisliste")
oRange = osheet.GetcellRangebyName("B5:V5")
adata = oRange.dataArray
DialogLibraries.loadLibrary("Standard")
oDialog6 = CreateUnoDialog(DialogLibraries.Standard.Dialog6)
for i = 0 to ubound (adata(0))
oDialog6.getControl("NumericField" & (i+1)).value = adata(0)(i)
next i
oDialog6.execute
End Sub
B5 bis V5 hat übrigens 21 Werte
Gruß R
Re: Dialog:Zellbereich in NumericFields lesen
Verfasst: Mo, 04.01.2016 11:44
von Jörg
Hallo,
danke für die Antwort. Klar 21.
Dein Code funktioniert soweit.
Aber ich hätte genauer formulieren müssen sorry.
Ich verweise mal auf meinen Beitrag von vorgestern.
viewtopic.php?f=18&t=66621
Numericfield 1-21 Zellbereich B5:V5
Numericfield 22-42 Zellbereich B16:V16
Ich weiß leider nicht, welche Änderungen in Deinem Code ich vornehmen muß. Das simple Erweitern des Arrays ("B5:V5; "B16:V16") geht nicht.
Wäre schön, wenn Du nochmal drauf schaust.
Gruß Jörg
Re: Dialog:Zellbereich in NumericFields lesen
Verfasst: Mo, 04.01.2016 11:54
von F3K Total
Code: Alles auswählen
sub neue_preise_lesen
odoc = thiscomponent
osheet = odoc.Sheets.getByName("Preisliste")
oRange1 = osheet.GetcellRangebyName("B5:V5")
adata1 = oRange1.dataarray
oRange2 = osheet.GetcellRangebyName("B16:V16")
adata2 = oRange2.dataarray
DialogLibraries.loadLibrary("Standard")
oDialog6 = CreateUnoDialog(DialogLibraries.Standard.Dialog6)
for i = 0 to ubound (adata1(0))
oDialog6.getControl("NumericField" & (i+1)).value = adata1(0)(i)
next i
for i = 0 to ubound (adata2(0))
oDialog6.getControl("NumericField" & (i+22)).value = adata2(0)(i)
next i
oDialog6.execute
End Sub
Re: Dialog:Zellbereich in NumericFields lesen
Verfasst: Mo, 04.01.2016 12:06
von Jörg
Hallo und vielen Dank.
in der Zwischenzeit war mir das "gelungen".
Code: Alles auswählen
sub neue_preise_lesen
odoc = thiscomponent
osheet = odoc.Sheets.getByName("Preisliste")
oRange = osheet.GetcellRangebyName("B5:V5")
adata = oRange.dataArray
' DialogLibraries.loadLibrary("Standard")
'oDialog6 = CreateUnoDialog(DialogLibraries.Standard.Dialog6)
for i = 0 to ubound (adata(0))
oDialog6.getControl("NumericField" & (i+1)).value = adata(0)(i)
next i
oRange = osheet.GetcellRangebyName("B16:V16")
for i = 0 to ubound (adata(0))
adata = oRange.dataArray
oDialog6.getControl("NumericField" & (i+22)).value = adata(0)(i)
next i
'oRange = osheet.GetcellRangebyName("B16:V16")
' adata = oRange.dataArray
'DialogLibraries.loadLibrary("Standard")
'oDialog6 = CreateUnoDialog(DialogLibraries.Standard.Dialog6)
'for i = 0 to ubound (adata(0))
' oDialog6.getControl("NumericField" & (i+1)).value = adata(0)(i)
'oDialog6.execute
End Sub
Nochmals vielen Dank für Deine Hilfe.
Gruß Jörg