Suchen und Ersetzen via Macro

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

Moderator: Moderatoren

hoefri55
**
Beiträge: 37
Registriert: Do, 16.09.2004 10:16
Wohnort: Meppen

Suchen und Ersetzen via Macro

Beitrag von hoefri55 »

Ich blutiger Anfänger habe schon wieder das nächste Problem:

Ich möchte per Macro verschiedene Texteinträge in meinem Calc-Tabellenblatt ändern. Das habe ich über Macro aufzeichnen probiert.
Es klappt auch solange die gesuchten Textstellen gefunden werden. Falls das nicht der Fall ist, gibt oo aber leider eine entsprechende Meldung aus:

"Suchbegriff nicht gefunden"

Wie kann ich diese Meldung unterdrücken?

Danke, F. Hömmeke
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Beitrag von Charly »

Hallo!

Ich glaube bei den mit den Recordern aufgezeichneten Programmen kann man die Meldungen nicht abstellen. Er arbeitet genauso, wie wenn man den Befehl über Menü aufruft. Ich habe zumindest noch keinen Befehl gefunden um die Meldungen abzustellen. In Excel gibt es so etwas.

In Starbasic gibt es allerdings auch einen direkten Befehl für Suchen und ersetzen. Probier einmal folgenden Code aus:

Code: Alles auswählen

Sub Suchen_Ersetzen()

Doc = This Component
Sheet = Doc.Sheets(0)

ReplaceDescriptor= Sheet.createReplaceDescriptor()
ReplaceDescriptor.SearchString = "Suchtext"
ReplaceDescriptor.ReplaceString = "Neuer Text"

Sheet.ReplaceAll(ReplaceDescriptor)

End Sub

Gruß
Charly
hoefri55
**
Beiträge: 37
Registriert: Do, 16.09.2004 10:16
Wohnort: Meppen

Das klappt nich

Beitrag von hoefri55 »

hallo

ich habe den Code ausprobiert und bin bis zum zweiten Wort gekommen.
Fehlermeldung:

Basic Syntaxfehler
Unerwartetes Symbol: Component
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Beitrag von Charly »

Hallo!

Ich muss mich entschuldigen. Ich habe mich vertippt.

Der Befehl lautet natürlich :

Code: Alles auswählen

Doc = ThisComponent
und nicht

Code: Alles auswählen

Doc = This Component
Gruß
Charly
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Suchen und Ersetzen via Macro

Beitrag von MikeRo »

Wie kann ich denn in einem bestimmten Bereich suchen? Ich will das er Ein Wort findet aber nur in einer bestimmten Zeile und nicht irgendwo anders.
Kann man den Suchbereich auch definieren?
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Suchen und Ersetzen via Macro

Beitrag von Karolus »

Hallo
Kann man den Suchbereich auch definieren?
Ja.
Gruß Karo

(Falls dir die Antwort zu mager ist präzisiere zunächst mal "Zeile")
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Suchen und Ersetzen via Macro

Beitrag von MikeRo »

Danke :-)

Code: Alles auswählen

   				oCellRange = oSheet.getCellRangeByName("A10:ZZ10")

				ReplaceDescriptor = oCellRange.createReplaceDescriptor()
				ReplaceDescriptor.SearchString = "Format"
				ReplaceDescriptor.ReplaceString = "Neuer Text"

				oCellRange.ReplaceAll(ReplaceDescriptor)
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Antworten