Word Dokument durchsuchen mittels VBA

Dieses Thema Word Dokument durchsuchen mittels VBA im Forum "Microsoft Office Suite" wurde erstellt von Celo1, 18. Aug. 2005.

Thema: Word Dokument durchsuchen mittels VBA Hallo! Ich habe folgedes Problem. Ich möchte ein Word Dokument mittels VBA durchsuchen und bei jedem Wort, welches...

  1. Hallo!
    Ich habe folgedes Problem. Ich möchte ein Word Dokument mittels VBA durchsuchen und bei jedem Wort, welches fett geschrieben ist, davor und danach etwas einfügen. Gibt es dafür eine Lösung?
    Bin für jede Antwort dankbar.
    Celo
     
  2. Hallo Celo1,

    dafür gibt es bestimmt eine Lösung.

    Was möchtest Du den davor und dahinter einfügen ? Worte, Absätze,... ?

    Gruß Matjes :)
     
  3. Hallo Matjes!

    Da ich den Text in ein CMS System übertrage, möchte vorher <b> und danach </b> haben, damit die Formatierung im CMS erhalten bleibt.

    Gruß
    Celo
     
  4. Hallo Celo1,

    der nachfolgende Makro faßt den fetten Text in <b> ... </b> ein und nimmt dann die fette Formatierung weg.

    Vor dem Ausprobieren Sicherung erstellen  ;)

    Gruß Matjes  :)
    Code:
    Option Explicit
    Sub FettenTextInHtmlTags_b_Wandeln()
    ' im gesamten Text des aktiven Documents wird
    ' fetter Text in Tags <b>...</b> eingefaßt und
    ' der fette Text in normalen Text gewandelt.
    
    
      Const c_TAG_ANFANG = <b>
      Const c_TAG_ENDE = </b>
      
      Dim doc As Document
      Dim l_Start_anf As Long, l_Start_end As Long
      Dim l_PosEnd As Long, l_pos As Long
    
      Set doc = ActiveDocument
      
     ->Suchbereichsende setzen
      l_PosEnd = doc.Content.End
      
      Do
       ->Formatierung Fett suchen, vom Ende rückwärts
        Selection.Start = doc.Content.Start
        Selection.End = l_PosEnd
        With Selection.Find
          .ClearFormatting
          .Replacement.ClearFormatting
          .Format = True
          .Forward = False
          .Wrap = wdFindStop
          .Text = ^?
          .MatchWholeWord = False
          .MatchWildcards = False
          .MatchCase = False
          .Font.Bold = True
          If .Execute() = False Then Exit Do->nichts gefunden ?
        End With
        
       ->Position merken
        l_Start_anf = Selection.Start
        l_Start_end = Selection.End
        
       ->Zeichen davor auch unterstrichen ?
        l_pos = l_Start_anf - 1
        Do
          If l_pos < 0 Then Exit Do
          If doc.Range(Start:=l_pos, End:=l_pos + 1).Font.Bold _
              = False Then Exit Do
         ->Start-Position erweitern
          l_Start_anf = l_pos
          l_pos = l_pos - 1
        Loop
        
       ->fetter Bereich
        With doc.Range(Start:=l_Start_anf, End:=l_Start_end)
         ->fette Formatierung entfernen
          .Font.Bold = False
         ->Ende-Tag einfügen
          .InsertAfter c_TAG_ENDE
          doc.Range(Start:=l_Start_end, _
                    End:=l_Start_end + Len(c_TAG_ENDE)).Font.Underline _
                    = wdUnderlineNone
         ->Anfangs-Tag einfügen
          .InsertBefore c_TAG_ANFANG
          doc.Range(Start:=l_Start_anf, _
                    End:=l_Start_anf + Len(c_TAG_ANFANG)).Font.Underline _
                    = wdUnderlineNone
        End With
        
       ->Suchbereichsende vor letztes Anfangs-Tag setzen
        l_PosEnd = l_Start_anf - 1 - Len(c_TAG_ANFANG)
      
      Loop While l_PosEnd > 0
      Set doc = Nothing
    
    End Sub
     
  5. Herzlichen Dank Matjes!

    Funktioniert echt super!! :)

    Danke nochmals,
    Celo
     
Die Seite wird geladen...

Word Dokument durchsuchen mittels VBA - Ähnliche Themen

Forum Datum
Word aus Excel aufrufen, Dokument aus Vorlage erstellen, speichern und drucken Windows XP Forum 15. Jan. 2013
Word 2007 + Überschriften in einem Dokument aufteilen (Abschnitte!!) Microsoft Office Suite 4. Dez. 2012
Word XP - eine Zeile Text einfügen in 500 Dokumente Windows XP Forum 19. Sep. 2012
Word u. Excel starten verzögert, wenn Dokumente direkt geöffnet werden Microsoft Office Suite 28. Juni 2012
Word 2002 : Erstellen eines Dokumentes mit "Auswahlfeldern" für Textbausteile Windows XP Forum 24. Mai 2012