Libre Office

Objektvariable nicht belegt

Alles zur Programmierung im LibreOffice.
Antworten
gianni
Beiträge: 19
Registriert: Sa 7. Jan 2017, 14:09
Wohnort: Frankfurt am Main
Kontaktdaten:

Objektvariable nicht belegt

Beitrag von gianni » Sa 7. Jan 2017, 14:42

Ich habe ein Problem:

In ein Dokument habe ich eine Schaltfläche eingefügt:
Bild

Der Name dieser Schaltfläche ist "JaNein":
Bild

Wenn ich die Schaltfläche betätige, kommt diese Fehlermeldung:
Bild

Was habe ich falsch gemacht?

Vielen Dank im voraus für eure Hilfe

Gianni

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Objektvariable nicht belegt

Beitrag von gogo » Sa 7. Jan 2017, 16:39

versuch's so:

Code: Alles auswählen

Sub Prova(oEvent)
print oEvent.Source.Model.Label
end sub
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

mikele
* LO-Experte *
Beiträge: 2055
Registriert: Mo 1. Aug 2011, 20:51

Re: Objektvariable nicht belegt

Beitrag von mikele » Sa 7. Jan 2017, 16:42

Hallo,
Was habe ich falsch gemacht?
Du gehst davon aus, dass Basic deine Schaltfläche als Objekt kennt und nach deinem Syntax angesprochen werden kann.

Code: Alles auswählen

Sub prova(oEvent)
	MsgBox "Prova!!!"
	Print oEvent.Source.Model.Label
Jetzt bekommt die Sub das ereignisauslösende Objekt als Parameter übergeben und kann genutzt werden.

edit: da war ich wohl zu langsam :D
Gruß,
mikele

gianni
Beiträge: 19
Registriert: Sa 7. Jan 2017, 14:09
Wohnort: Frankfurt am Main
Kontaktdaten:

Re: Objektvariable nicht belegt

Beitrag von gianni » Di 10. Jan 2017, 19:01

Vielen, vielen Dank für euren Hinweis. Es ist wirklich sehr einfach.

In einem anderen Forum (https://forum.openoffice.org/en/forum/v ... 97#p406493) wurde mir diese Lösung empfohlen:

Code: Alles auswählen

oDP = ThisComponent.DrawPage
oForms = oDP.Forms
oF = oForms.getByIndex(0)
oJaNein = oF.getByName("JaNein")
print oJaNein.Label
Gibt es Vorteile und Nachteile für die eine und für die andere?

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Objektvariable nicht belegt

Beitrag von gogo » Di 10. Jan 2017, 20:13

oEvent.Source.Model.Label ist kürzer ;)

... es ist aber das selbe Objekt, nur wird anders darauf zugegriffen.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Open Office
Antworten