Thema Datum  Von Nutzer Rating
Antwort
30.06.2023 10:21:12 Moe Tie
NotSolved
Blau Einen ganzen Abschnitt eines Word-Dokuments ersetzen
01.07.2023 18:01:48 xlKing
NotSolved
01.07.2023 18:13:44 Gast37689
NotSolved
01.07.2023 19:46:20 xlKing
NotSolved
02.07.2023 08:22:55 Gast22856
NotSolved
02.07.2023 16:31:54 xlKing
Solved
02.07.2023 19:52:11 Gast83186
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
01.07.2023 18:01:48
Views:
154
Rating: Antwort:
  Ja
Thema:
Einen ganzen Abschnitt eines Word-Dokuments ersetzen

Hi Moritz,

Probiers mal so:

Sub ErsetzeAbschnitt()
    Dim userInput As String
    Dim doc As Document
    Dim range As range
    Dim startRange As range
    Dim endRange As range
    Dim foundSection As Boolean
    Dim stl As Style
    
    ' Benutzereingabe abfragen
    userInput = InputBox("Geben Sie den Abschnitt ein, der ersetzt werden soll:", "Abschnitt ersetzen")
    
    ' Dokument und Range initialisieren
    Set doc = ActiveDocument
    Set range = doc.Content
    foundSection = False
    
    ' Schleife über alle Absätze im Dokument
    For Each para In doc.Paragraphs
        ' Überprüfen, ob der Absatz eine spezielle Nummerierungsfunktion hat
        If para.range.ListFormat.ListType <> wdListNoNumbering Then
            ' Überprüfen, ob der Absatz mit dem eingegebenen Text beginnt
            If Left(para.range.ListFormat.ListString, Len(userInput)) = userInput Then
                ' Bereich des Abschnitts festlegen
                If Not foundSection Then
                    Set startRange = para.range
                    foundSection = True
                    Set stl = startRange.Style
                End If
            ElseIf foundSection Then
                ' Den nächsten Absatz mit gültiger Nummerierung finden
                Set endRange = para.range
                If endRange.Style = startRange.Style Then Exit For
            End If
        ElseIf foundSection Then
            ' Absatz durchsuchen, um untergeordnete Nummerierungen zu erfassen
            For Each subPara In para.range.Paragraphs
                If subPara.range.ListFormat.ListType <> wdListNoNumbering Then
                    Set endRange = subPara.range
                    Exit For
                End If
            Next subPara
            
            If endRange Is Nothing Then
                ' Kein weiterer Absatz mit gültiger Nummerierung gefunden
                Set endRange = para.range
                Exit For
            End If
        End If
    Next para
    
    ' Den gesamten Abschnitt ersetzen, wenn ein Abschnitt gefunden wurde
    If foundSection Then
        range.Start = startRange.Start
        range.End = IIf(endRange.Style = startRange.Style, endRange.Start - 1, endRange.End)
        range.Text = "...pp..."
        range.Style = stl
    Else
        MsgBox "Der angegebene Abschnitt wurde nicht gefunden.", vbExclamation
    End If
End Sub

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
30.06.2023 10:21:12 Moe Tie
NotSolved
Blau Einen ganzen Abschnitt eines Word-Dokuments ersetzen
01.07.2023 18:01:48 xlKing
NotSolved
01.07.2023 18:13:44 Gast37689
NotSolved
01.07.2023 19:46:20 xlKing
NotSolved
02.07.2023 08:22:55 Gast22856
NotSolved
02.07.2023 16:31:54 xlKing
Solved
02.07.2023 19:52:11 Gast83186
NotSolved