Eingabeliste (drop-down) - Wahl per Makro ändern

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Eingabeliste (drop-down) - Wahl per Makro ändern

Re: Eingabeliste (drop-down) - Wahl per Makro ändern

von openforoffice » Sa, 24.09.2016 21:50

Super, vielen Dank!

In meinem Dokument sind noch andere Variablen / Eingabefelder / usw. drin.
Offensichtlich hat nicht jedes Textfield einen "Name", aber das konnte ich lösen:

Code: Alles auswählen

	...
	oTF = oTFEnum.NextElement
		if oTF.getPropertySetInfo().hasPropertyByName("Name") Then
			if oTF.Name = "Zeitraum" then 
			...
Grüße
Jens

Re: Eingabeliste (drop-down) - Wahl per Makro ändern

von F3K Total » Sa, 24.09.2016 18:17

Moin,
habe dir mal was gebaut:

Code: Alles auswählen

Sub Vormittag
    Set_Value(1)'ersten Eintrag wählen
end Sub

Sub Nachmittag
    Set_Value(2)'zweiter Eintrag wählen
end Sub

Sub Abend
    Set_Value(3)'dritter Eintrag wählen
end Sub

Sub Set_Value(nEintragsNummer)
    oTFEnum = thisComponent.TextFields.createEnumeration
    while oTFEnum.hasmoreElements
        oTF = oTFEnum.NextElement
        if oTF.Name = "Zeitraum" then 'Name der Eingabeliste
            aItems = oTF.Items
            oTF.selectedItem = aItems(nEintragsNummer-1)
            oTF.update
            'xray oTF
         endif
    wend
End Sub
Hier eine Beispieldatei, mit eigener Symbolleiste Zeitraum:
SL.png
SL.png (4.02 KiB) 3268 mal betrachtet
Viel Spaß damit, Gruß R
Dateianhänge
EingabeListePerMakro.odt
(11.69 KiB) 163-mal heruntergeladen

Eingabeliste (drop-down) - Wahl per Makro ändern

von openforoffice » Sa, 24.09.2016 16:42

Hallo,

Ich habe ein OpenOffice Writer Dokument (Apache OO 4.0.1), darin eine Eingabeliste (erstellt mit Einfügen -> Feldbfehl -> Andere -> Funktionen -> Eingabeliste), mit versch. Listeneinträgen ("Vormittag", "Nachmittag", "Abend") und dem Name "Zeitraum".

Im Dokument sehe ich also den "Vormittag" grau hinterlegt, ein Mausklick darauf öffnet ein Pop-Up-Fenster (Titel "Eintrag auswählen: Zeitraum"), wo ich aus den vorgegebenen Listeneinträgen einen auswählen kann.

Nun will ich das aber nicht von Hand mit der Maus, sondern mit einem Makro (OpenOffice Basic) machen.
Kann mir jemand einen Beispielcode machen, der z. B. den Zeitraum auf Abend setzt?

Ich habs mit "Makro aufzeichnen" versucht, aber das Makro aufzeichnen zeichnet keine Mausklick-Aktionen auf. Und meines Wissens kann man eine Eingabeliste (leider) nur mit Mausklick, nicht aber mit einer Tastaturbedienung öffnen / bedienen.

Grüße
Jens

Nach oben