Bedingter Text per Macro einfügen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Scalaia990
***
Beiträge: 76
Registriert: Mi, 29.04.2009 23:50

Bedingter Text per Macro einfügen

Beitrag von Scalaia990 »

Hallo,

Bei dem Einfügen des Bedingten Textes müssen alle Tabellen- und Feldnamen von Hand eingetippt werden. Ich halte dies für ziemlich unkonfortabel und fehleranfällig.
Habe schon im Internet nach fertigen Extensions gesucht wo man zumindest einfache Abfragen (Wenn FeldA Leer dann "xyz" oder Wenn Feld A = Feld B dann Feld C) über einen Dialog einfügen kann. Habe leider nichts deratiges gefunden. Falls jemand etwas in diese Richtung kennt wäre ich um einen Tipp dankbar.

Beim Versuch ein eigenes Macro zu schreiben was genau diese einfachen Abfragen ermöglicht, stolpere ich schon beim Einfügen des Feldbefehls. Habe nirgends einen Hinweis gefunden wo jemand einen bedingten Text per Macro eingefügt hat oder dieses Problem zu lösen versucht hat.

Kann mir hier jemand weiterhelfen?

Wäre um jeden Tipp dankbar

Scalaia990
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Bedingter Text per Macro einfügen

Beitrag von DPunch »

Aloha

schau mal, ob Du hiermit weiterkommst

Code: Alles auswählen

	oDoc = thisComponent
	oCursor = oDoc.getCurrentController.getViewCursor 'ViewCursor für aktuelle Cursorposition holen
	oField = oDoc.createInstance("com.sun.star.text.textfield.ConditionalText")
	With oField
		.Condition = "PAGE > 0" 'Dein "Wenn"
		.TrueContent = "Mehr als 0 Seiten" 'Dein "Dann"
		.FalseContent = "Weniger/gleich 0 Seiten" 'Dein "Sonst"
	End With
	oDoc.getText.insertTextContent(oCursor,oField,False) 'Feld an der aktuellen Cursorposition einfügen
	oDoc.TextFields.Refresh
Scalaia990
***
Beiträge: 76
Registriert: Mi, 29.04.2009 23:50

Re: Bedingter Text per Macro einfügen

Beitrag von Scalaia990 »

Vielen Dank DPunch, genau das hab ich gesucht.

Scalaia990
Antworten