Hi Jacqueline, 

>> gibt es eine M�glichkeit in Writer nach vorhandenen Feldinhalten zu
>> suchen? Ich habe ein Dokument, welches �ber die Serienbrieffunktion
>> mit einer ganzen Reihe von Artikel- und Kundennummern aus einer
>> Datenbank gef�llt wird. Um schnell an die gew�nschte Stelle im

Das folgende BASIC-Makro kann Dir (und anderen) hierbei vielleicht
helfen.

Die Routine unter �bergabe des gesuchten Inhalts aufrufen:

Sub SucheNr
SuchenInKundenNummer("4711")
End Sub


Damit wird die Einf�gemarke vor die *erste* Textmarke gesetzt, die
*genau* den Suchbegriff enth�lt.

Anmerkungen:
Im Code muss in der Zeile mit "DataColumnName" der Name der
Datenbankspalte angepasst werden, dessen Textfeldinhalt gesucht wird.

Keine Fehlerpr�fung! Das Makro muss von einem WRITER-Dokument (unter
Mitgabe des Suchbegriffs als Parameter) aufgerufen werden, um nicht
gleich am Anfang eine Exception zu schmeissen.

"erste": OOo nummeriert die Textfelder wohl nach der Reihenfolge ihres
Einf�gens in das Dokument durch (wenn sie mehrfach verwendet werden).
Somit ist es m�glich, dass die Fundstelle NICHT die oberste Stelle im
Dokument ist.
"genau": bedeutet, dass nach dem kompletten Inhalt gesucht werden muss,
ein Suchen nach "471" bei einem Inhalt von "4711" ergibt KEINEN
Treffer.
(noch was: die Ausf�hrung aus der Basic-IDE positioniert zwar den
Cursor, wechselt aber nicht die Anzeige der Seite ;-)

Have fun
Winfried

======> schnipp <======
Sub SuchenInKundenNummer(gesuchteNr as String)
' OpenOfficeBasic
' Suchen nach Feldinhalten von Serienbrief-Datenbankfelder


' hoffentlich ist ein Writer-Dokument geladen
oDok = ThisComponent

' Textfelder des Dokuments
oFelder = oDok.getTextFields()

' Aufz�hlung erstellen
enumFelder = oFelder.createEnumeration

' alle Textfelder des Dokuments bearbeiten
While enumFelder.hasMoreElements()
   ' einzelnes Textfeld
   oFeld = enumFelder.nextElement()
   ' isses Datenbankfeld?
   if oFeld.supportsService("com.sun.star.text.TextField.Database") Then 
       ' isses aus Spalte Kundennummer?
      if oFeld.TextFieldMaster.DataColumnName = "KD-NR" then
         ' isses mit gesuchtem Inhalt?
         if oFeld.Content = gesuchteNr THEN
            ' sichtbaren Cursor des Dokuments holen
            oViewCursor = oDok.getCurrentController().getViewCursor()
            ' diesen vor das Textfeld positionieren
            oViewCursor.gotoRange( oFeld.getAnchor().getStart() ,FALSE ) 
            ' verlassen
            Exit Sub
         end if
      end if
   end if
Wend
End Sub

======> schnipp <======

Cheers
Winfried
-- 

re-Solutions.de Software Test Engineering  Mainz Germany Europe
OOo stuff (macros, templates, icons): http://www.winnirohr.de/ooo/ 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an