Thema Datum  Von Nutzer Rating
Antwort
30.06.2023 10:21:12 Moe Tie
NotSolved
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
Blau Einen ganzen Abschnitt eines Word-Dokuments ersetzen
02.07.2023 16:31:54 xlKing
Solved
02.07.2023 19:52:11 Gast83186
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
02.07.2023 16:31:54
Views:
156
Rating: Antwort:
 Nein
Thema:
Einen ganzen Abschnitt eines Word-Dokuments ersetzen

Hi Moritz,

hatte auf die Schnelle nicht gesehen, dass du zweimal ElseIf foundSection drin hast. Wenn du das größere rausschmeißt passt es mit deiner Testdatei. Hier der neue Code:

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
        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
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
Blau Einen ganzen Abschnitt eines Word-Dokuments ersetzen
02.07.2023 16:31:54 xlKing
Solved
02.07.2023 19:52:11 Gast83186
NotSolved