Seite 1 von 1

[Gelöst] Makro Calc Dialog Listbox füllen

Verfasst: Fr, 13.04.2018 23:29
von retuwe61
Hallo Miteinander.
Ich möchte eine Listbox auffüllen mit dem Text aus jeder zweiten Zelle in Zeile 1.
Kann bitte jemand einen Blick darauf werfen, wo der Fehler in der Zeile "oDialog.Model.getByName..." steckt?
Vielen Dank.
Gruß
Uwe

Code: Alles auswählen

Sub Dlg_Hersteller
Dim oBib as Object, oDgl as Object
DialogLibraries.LoadLibrary("Standard")
oBib = DialogLibraries.getByName("Standard")
oDgl = oBib.getByName("Dialog1")
oDialog = CreateUnoDialog(oDgl)

Dim oListBox as Object, aListe(), oForm as Object
oDoc = thisComponent
oSheet = oDoc.Sheets.getByName ("Work")

aSp = array("0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20", "22")

for i = 0 to 12
oCell = oSheet.getCellByPosition(aSp(i),0)
aListe = oCell.String
'msgbox aListe
if oSheet.getCellbyPosition(aSp(i),0).string = "" then
	exit for
	end if
next i
oDialog.Model.getByName("ListBox1").StringItemList = aListe()
oDialog.execute()
end sub

Re: Makro Calc Dialog Listbox füllen

Verfasst: Fr, 13.04.2018 23:45
von Stephan
wo der Fehler in der Zeile "oDialog.Model.getByName..." steckt?
In dieser Zeile ist kein Fehler. Hingegen enthält die Variable aListe kein Array, was aber notwendig ist.

z.B.:

Code: Alles auswählen

Sub Dlg_Hersteller
Dim oBib as Object, oDgl as Object
DialogLibraries.LoadLibrary("Standard")
oBib = DialogLibraries.getByName("Standard")
oDgl = oBib.getByName("Dialog1")
oDialog = CreateUnoDialog(oDgl)

Dim oListBox as Object, aListe(12), oForm as Object
oDoc = thisComponent
oSheet = oDoc.Sheets.getByName ("Work")

aSp = array("0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20", "22")

for i = 0 to 12
oCell = oSheet.getCellByPosition(aSp(i),0)
aListe(i) = oCell.String
'msgbox aListe
if oSheet.getCellbyPosition(aSp(i),0).string = "" then
	exit for
	end if
next i
oDialog.Model.getByName("ListBox1").StringItemList = aListe()
oDialog.execute()
end sub
Gruß
Stephan

Re: Makro Calc Dialog Listbox füllen

Verfasst: Sa, 14.04.2018 09:05
von retuwe61
Danke dir Stephan.
Du hast natürlich Recht.
Gruß
Uwe