Я пытаюсь создать макрос Word, который пройдет через мой большой документ и добавит текст «SAMPLE» в начало каждого абзаца.
Документ содержит титульный лист, оглавление и заголовки, и я бы предпочел, чтобы ни на одном из них не было текста «SAMPLE», только абзацы.
Ниже приведен код макроса, который я нашел на разных сайтах, и собрал несколько кусочков, чтобы сделать что-то, что я хочу. Он помещает текст «SAMPLE» в начале некоторых абзацев, но не во всех, обычно только в первом абзаце нового раздела в моем документе. И он также помещает его в конец оглавления и начала титульного листа.
Я новичок в макросах в Word, поэтому любая помощь приветствуется, или, возможно, есть лучший способ сделать это? В этом коде могут даже быть некоторые ненужные биты, поскольку он собран из других примеров.
Sub SAMPLE()
Application.ScreenUpdating = False
Dim Par As Paragraph, Rng As Range
For Each Par In ActiveDocument.Paragraphs
If Par.Style = "Normal" Then
If Rng Is Nothing Then
Set Rng = Par.Range
Else
Rng.End = Par.Range.End
End If
Else
Call RngFmt(Rng)
End If
If Par.Range.End = ActiveDocument.Range.End Then
Call RngFmt(Rng)
End If
Next
Application.ScreenUpdating = True
End Sub
Sub RngFmt(Rng As Range)
If Not Rng Is Nothing Then
With Rng
.End = .End - 1
.InsertBefore "SAMPLE"
End With
Set Rng = Nothing
End If
End Sub