Seite 1 von 1

[GELÖST] Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Fr 6. Dez 2019, 21:30
von Lienucks
Hallo zusammen!
Mit einem Makro würde ich gerne einen gefundenen Kleinbuchstaben, der unmittelbar nach einem Punkt steht, durch seinen Großbuchstaben ersetzen, also a durch A und z durch Z.
Suchen nach „\.[a-zäöü]“ kann ich.
Aber wie mache ich aus dem gefunden Buchstaben den entsprechenden Buchstaben im ReplaceString?
Wie kann man auf einen mit „\.([a-zäöü])“ gefundenen Teilstring zugreifen und ihn verändern?
Vielen Dank im Voraus!
Lienucks

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Sa 7. Dez 2019, 17:38
von mikele
Hallo,
ich wüsste nicht, dass die üblichen Stringfunktionen von Basic reguläre Ausdrücke verarbeiten.
Folgendes sollte dein Problem lösen:

Code: Alles auswählen

	'Eingangstext
	sText="edd.ade.A.-.."
	aTeile=split(sText,".")
	for i=1 to ubound(aTeile())
		aTeile(i)=ucase(left(aTeile(i),1)) & mid(aTeile(i),2)
	next
	'Ergebnis
	sText=join(aTeile,".")

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Mo 9. Dez 2019, 22:19
von Lienucks
Hoppla! Das sieht ja kompliziert aus. Aber herzlichen Dank!!
Ich werde mal versuchen, etwas draus zu machen, und melde mich in ein paar Tagen wieder.
Und dann bin ich gespannt, wie das mit einem Text mit einer Viertelmillionzeichen in einer Variablen funktioniert.
Lienucks

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Di 10. Dez 2019, 12:36
von musikai
Lienucks hat geschrieben:
Mo 9. Dez 2019, 22:19
Und dann bin ich gespannt, wie das mit einem Text mit einer Viertelmillionzeichen in einer Variablen funktioniert.
Ja, das wird spannend. ;) Limit einer Variable ist 65.535 Zeichen.

Code: Alles auswählen

Sub SimpleSearch2
oDescriptor = ThisComponent.createSearchDescriptor()
oDescriptor.SearchRegularExpression=True
oDescriptor.SearchCaseSensitive = True
oDescriptor.SearchString = "\.[a-zäöü]"
oFoundAll = ThisComponent.findAll(oDescriptor)
msgbox oFoundAll.getCount()
For n = 0 to oFoundAll.getCount()-1
oFound = oFoundAll.getByIndex(n)
oFound.setString(ucase(oFound.getString()))
Next
End Sub

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Mo 16. Dez 2019, 21:47
von Lienucks
Das macht Hoffnung- herzlichen Dank!
Leider komme ich derzeit nicht dazu, das auszuprobieren.
Aber ich werde Rückmeldung geben, ob es mein Problem löst!
Bis dann!
Lienucks

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Do 19. Dez 2019, 20:42
von Lienucks
Das Skript von musikai funktioniert wunderbar! Mein Problem ist gelöst - herzlichen Dank!!!
Lienucks

Re: Mit Makro Kleinbuchstaben durch Großbuchstaben ersetzen

Verfasst: Do 26. Dez 2019, 14:17
von Mau
Hallo Lienucks,

dann bearbeite deinen ersten Eintrag zu dem Thema:
Setze vor das Thema den Vermerk [GELÖST] und schicke den Eintrag so noch einmal ins Forum ab.

Gruß,
Mau