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
Eingabeliste (drop-down) - Wahl per Makro ändern
Moderator: Moderatoren
-
- Beiträge: 2
- Registriert: Sa, 24.09.2016 16:28
Re: Eingabeliste (drop-down) - Wahl per Makro ändern
Moin,
habe dir mal was gebaut:Hier eine Beispieldatei, mit eigener Symbolleiste Zeitraum: Viel Spaß damit, Gruß R
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
- Dateianhänge
-
- EingabeListePerMakro.odt
- (11.69 KiB) 154-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 2
- Registriert: Sa, 24.09.2016 16:28
Re: Eingabeliste (drop-down) - Wahl per Makro ändern
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:
Grüße
Jens
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
...
Jens