Word-Makro: Text-Einzug suchen

Dieses Thema Word-Makro: Text-Einzug suchen im Forum "Windows XP Forum" wurde erstellt von Alfons-Willie, 3. Okt. 2004.

Thema: Word-Makro: Text-Einzug suchen Hallo, Ich habe hier einen Word-Text Absätze im Text sind versehen mit: Sondereinzug: Erste Zeile Der Einzugswert...

  1. Hallo,

    Ich habe hier einen Word-Text

    Absätze im Text sind versehen mit:
    Sondereinzug: Erste Zeile
    Der Einzugswert ist je nach Inhalt unterschiedlich

    Jetzt möchte ich gerne Absätze mit einem bestimmten Einzugswert suchen und vor diesen eine Textinformation voranstellen (z.B [ABSATZ 0.27]TextDesAbsatzes....

    Leider sind meine Kenntnisse der Makro-Programmierung nur auf einfachste Sachen beschränkt. So ist mir zwar sehr schnell klar geworden das der Begriff .ParagraphFormat.FirstLineIndent = CentimetersToPoints (0.27) mit der Suche zu tun hat, aber dies allein hat mich nicht sehr weit gebracht.

    Kann mir jemand helfen.

    Vielen Dank

    Alfons-Willie
     
  2. Hallo Alfons-Willie,

    probier mal folgenden Makro aus, ob er das erfüllt, was Du möchtest.
    (Bitte erst an einer Kopie des Dokumentes ausprobieren)

    Die Konstanten mußt Du deinen Gegebenheiten anpassen.

    Gruß Matjes :)
    Code:
    Public Sub Word_Paragraph_ExtraEinzugSuchenUndTextEinfuegen()
     ->Der Makro untersucht alle Paragraphen.
     ->Hat der Paragraph einen Einzug->Erste Zeile' mit
     ->dem Wert der konstanten c_pointSucheEinzugIn_cm,
     ->wird dem Paragraphen der Text der Konstanten c_InsertText
     ->vorangestellt. Steht dieser Text bereits am Anfang des
     ->Paragraphen, wird der Text nicht ein zweites Mal
     ->vorangestellt.
    '********************************************************
     ->gesuchter Einzug in cm
      Const c_pointSucheEinzugIn_cm As Double = 1.27
     ->Text der am Anfang eines Paragraphen eingefügt werden soll
      Const c_InsertText = [ABSATZ 1.27]
      
      Dim p As Paragraph, SuchEinzug_point As Single
      
     ->gesuchter Einzug in point umrechnen
      SuchEinzug_point = CentimetersToPoints(c_pointSucheEinzugIn_cm)
      
     ->Da Word bei der Einzugsformatierung eigene Rundungen durchführt
     ->wird das an einem angefügten Paragraphen nachvollzogen
     ->a) Paragraph hinzufügen
      Set p = ActiveDocument.Paragraphs.Add
     ->b) Paragraph mit dem SuchEinzug formatieren
      p.Format.FirstLineIndent = SuchEinzug_point
     ->c) SuchEinzug wieder auslesen
      SuchEinzug_point = p.Format.FirstLineIndent
     ->d) Paragraph wieder löschen
      p.Range.Delete
      
     ->füe alle Paragraphen
      For Each p In ActiveDocument.Paragraphs
        If p.Format.FirstLineIndent = SuchEinzug_point Then
          p.Range.Select
         ->doppeltes Einfügen bei Wiederholung vermeiden
         ->wenn Text schon am Anfang vorhanden -> überspringen
          If Left(Selection.Text, Len(c_InsertText)) <> c_InsertText Then
           ->Textinformation an den Anfang des Paragraphen setzen
            Selection.InsertBefore (c_InsertText)
          End If
        End If
      Next
    End Sub
    
     
Die Seite wird geladen...

Word-Makro: Text-Einzug suchen - Ähnliche Themen

Forum Datum
Word-Makro mit Passwort schützen Windows XP Forum 15. Sep. 2005