🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Textfeld durch Markierfeld ersetzen

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
macwomble
Beiträge: 8
Registriert: Fr 3. Jan 2014, 18:27

Textfeld durch Markierfeld ersetzen

Beitrag von macwomble » Mo 25. Feb 2019, 11:24

Hallo,

Ich habe hunderte Textfelder durch Markierfelder zu ersetzen. Einzeln geht das ganz gut, jedoch ist es mühsam jedes einzelne Textfeld umzuwandeln. Gibt es eine einfachere Möglichkeit um alle Textfelder durch Markierfelder zu ersetzen?

Danke für eure Hilfe

nikki
* LO-Experte *
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

Re: Textfeld durch Markierfeld ersetzen

Beitrag von nikki » Mo 25. Feb 2019, 14:07

Hallo,

ich fürchte Nein, denn bei Mehrfachselektion wird die Option Ersetzen durch nicht angeboten.
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

macwomble
Beiträge: 8
Registriert: Fr 3. Jan 2014, 18:27

Re: Textfeld durch Markierfeld ersetzen

Beitrag von macwomble » Di 26. Feb 2019, 08:38

Danke - Ich habe es befürchtet.
Lässt sich da mit Makros etwas machen?
Oder eventuell mir externen Tools?

Hintergrund:
Ich habe vor einigen Jahren zahlreiche Dokumentenformulare erstellt. Leider funktionierte es damals (noch) nicht, wenn ich viele Markierfelder einsetzte.
Es kam immer zum Absturz von Writer. Ich habe deshalb statt Markierfeldern Textfelder mit einer Stelle, Passwortzeichen 'X' verwendet, was auch recht gut funktioniert. Nur gibt es dort immer Differenzen beim PDF-Export (* statt X oder Schrift zu groß). Außerdem ist es natürlich auch nicht wirklich schön die Textfelder hierfür zu missbrauchen und die Markierfelder sind ja dafür gemacht.

nikki
* LO-Experte *
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

Re: Textfeld durch Markierfeld ersetzen

Beitrag von nikki » Di 26. Feb 2019, 11:17

macwomble hat geschrieben:
Di 26. Feb 2019, 08:38
Lässt sich da mit Makros etwas machen?
Da kann ich Dir nicht weiterhelfen. Wende Dich an den Forumsbereich LibreOffice Programmierung. Allerdings dürfte das Makro sehr aufwendig sein.
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

musikai
Beiträge: 263
Registriert: Do 14. Mai 2015, 17:53

Re: Textfeld durch Markierfeld ersetzen

Beitrag von musikai » Di 26. Feb 2019, 13:16

Es gibt ja die Rechtsklick-Funktion "ersetze mit".

Folgendes Macro macht davon Gebrauch. Es selektiert nacheinander jedes Textfeld und fragt Dich, ob Du es ersetzen möchtest.
Dafür muss unbedingt der Formular-Entwurfsmodus eingeschaltet sein.

Code: Alles auswählen

sub replace_Textbox_with_Checkbox

oForm = ThisComponent.DrawPage.Forms.getByIndex(0)
for i=0 to oForm.count-1
goi = oForm.GetByindex(i)
if goi.ServiceName="stardiv.one.form.component.Edit" then 
ThisComponent.currentcontroller.select(goi)

		sVar3 = MsgBox("Ersetze mit Markierfeld?",259)

			If sVar3 = 2 then  'cancel
			Exit sub
			elseif sVar3=7 then 'no, proceed without unprotecting 
			else

			replacewithcheckbox
			
			End if

end if
next

end sub

sub replacewithcheckbox
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
 dispatcher.executeDispatch(document, ".uno:ConvertToCheckBox", "", 0, Array())

end sub
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

macwomble
Beiträge: 8
Registriert: Fr 3. Jan 2014, 18:27

Re: Textfeld durch Markierfeld ersetzen

Beitrag von macwomble » Di 26. Feb 2019, 14:10

Wow ! Danke !

Genau so etwas habe ich gesucht - Super-Klasse ! :D


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten