Seite 1 von 1

Makro für Character-Suche

Verfasst: Mi, 25.02.2009 13:41
von OlliGOE
Hallo zusammen !
Ich habe grade folgendes Problem:
Ich habe mit Basic ein Makro geschrieben, mit dem ich ein Textdokument ganz normal öffnen kann. Das Makro zählt nach dem öffnen alle Wörter & Buchstaben die das Dokument enthält. Jetzt kommt die Stelle an der ich verzweifle... ich möchte den Text gezielt nach bestimmten Buchstaben durchsuchen können, also z.b. nach a, b, c usw... Ich möchte also nicht nur angezeigt bekommen, wieviele Buchtstaben der Text insgesammt enthält, sondern wievele a's oder sonstwas darin enthalten ist.
Könnte mir jemand sagen wie ich das bewerkstelligen kann ??
Dazu muß ich sagen, das ich mich noch nicht so lange mit OpenOffice und Makros beschäftige... warscheinliche ist die Lösung des Problems recht simpel ;)

MfG
OlliGOE

Re: Makro für Character-Suche

Verfasst: Mi, 25.02.2009 18:58
von Gino
Hallo Olli,

Code: Alles auswählen

Sub Search_String
Dim oReplaceDesc As Object
Dim Doc As Object
Dim oFoundCursor As Object
	Doc = thisComponent
	oReplaceDesc = Doc.createReplaceDescriptor
	oReplaceDesc.SearchString = "a"
	Found = Doc.findFirst (oReplaceDesc)
	While not IsNull(Found)
	oFoundCursor = Found.Text.createTextCursorByRange(Found)
	Found = Doc.findNext( Found.End, oReplaceDesc)
	i = i + 1
	wend
	msgbox i
End Sub
sollte gehen.

Gino

Re: Makro für Character-Suche

Verfasst: Do, 26.02.2009 10:27
von OlliGOE
Jap, funktioniert.
Besten Dank !

Re: Makro für Character-Suche

Verfasst: Do, 26.02.2009 10:46
von komma4
... die Treffer müssen nicht selbst gezählt werden:

Code: Alles auswählen

    Sub Search_String
    Dim oReplaceDesc As Object
    Dim Doc As Object
    Dim oFoundCursor As Object
       Doc = thisComponent
       oReplaceDesc = Doc.createReplaceDescriptor
       oReplaceDesc.SearchString = "a"
       i = Doc.replaceAll( oReplaceDesc )
       msgbox i
    End Sub