[Gelöst] Suchen Und Ersetzen für alle Sheets

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

Moderator: Moderatoren

Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

[Gelöst] Suchen Und Ersetzen für alle Sheets

Beitrag von MikeRo »

Hier die Lösung, mit schleife für alle Sheets.

Code: Alles auswählen

Sub SuchenUndErsetzen
oDoc = thisComponent
Anzahl = oDoc.Sheets.count
	For i = 0 to Anzahl-1
		oSheet = oDoc.Sheets(i)
		oSuchen = oSheet.createReplaceDescriptor
		oSuchen2 = oSheet.createReplaceDescriptor
		oSuchen3 = oSheet.createReplaceDescriptor

			with oSuchen
			.setSearchString("Ergebnis")
			.SearchCaseSensitive = TRUE 'Achtet Groß und Klein Schreibung
		        .setReplaceString("")
			End with
			
			with oSuchen2
			.setSearchString("Ž")
			.SearchCaseSensitive = TRUE 'Achtet Groß und Klein Schreibung
		        .setReplaceString("'")
		    End with
		    
			with oSuchen3
			.setSearchString("\n")
			.SearchRegularExpression = TRUE 'Suche nach Ausdruck in diesem Fall Zeilenumbruch
		        .setReplaceString(" ")
		    End with		

	osheet.replaceAll(oSuchen)
	osheet.replaceAll(oSuchen2)
	osheet.replaceAll(oSuchen3)
	Next i
End Sub
Zuletzt geändert von MikeRo am Mo, 31.01.2011 14:42, insgesamt 1-mal geändert.
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Suchen Und Ersetzen| Ohne Meldung "Begriff nicht gefunde

Beitrag von komma4 »

Verwende keinen dispatcher-Code, sondern Basic-Anweisungen.

Hier im Forum wirst Du fündig, wenn Du nach SearchDescriptor suchst.


Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Suchen Und Ersetzen| Ohne Meldung "Begriff nicht gefunde

Beitrag von MikeRo »

Danke, habe es gefunden und programmiert. Mit schleife für alle Sheets.

Code: Alles auswählen

Sub SuchenUndErsetzen
oDoc = thisComponent
Anzahl = oDoc.Sheets.count
	For i = 0 to Anzahl-1
		oSheet = oDoc.Sheets(i)
		oSuchen = oSheet.createReplaceDescriptor
		oSuchen2 = oSheet.createReplaceDescriptor
		oSuchen3 = oSheet.createReplaceDescriptor

			with oSuchen
			.setSearchString("Ergebnis")
			.SearchCaseSensitive = TRUE 'Achtet Groß und Klein Schreibung
		    .setReplaceString("")
			End with
			
			with oSuchen2
			.setSearchString("Ž")
			.SearchCaseSensitive = TRUE 'Achtet Groß und Klein Schreibung
		    .setReplaceString("'")
		    End with
		    
			with oSuchen3
			.setSearchString("\n")
			.SearchRegularExpression = TRUE 'Suche nach Ausdruck in diesem Fall Zeilenumbruch
		    .setReplaceString(" ")
		    End with		

	osheet.replaceAll(oSuchen)
	osheet.replaceAll(oSuchen2)
	osheet.replaceAll(oSuchen3)
	Next i
End Sub
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Antworten