![]() |
|
#1
|
|||
|
|||
|
Hello, I am new to VBA and struggling to combine code from different sources. I have a sort of a report that is comprised of several lines of text, that can be considered as parapgraphs. I need to add a box line, or single cell line arround each paragraph, takes much time if there are many. I have managed to do something with this code, but this applies border around each line, instead of paragraph. Dim rng As Range Dim brd As Border Set rng = ActiveDocument.Range With rng.Find .Text = "Paragraph_starting_word*^13" .MatchWildcards = True Do While .Execute For Each brd In rng.Paragraphs.Borders With brd .LineStyle = wdLineStyleSingle End With Next brd rng.Collapse wdCollapseEnd rng.End = ActiveDocument.Range.End Loop End With I would appreciate help. |
|
#2
|
|||
|
|||
|
Try this
Code:
Dim rng As range
Dim brd As Border
Dim oPara as Paragraph
Set rng = ActiveDocument.range
With rng.Find
.Text = "Para*^13"
.MatchWildcards = True
Do While .Execute
For Each brd In rng.Paragraphs.Borders
With brd
.LineStyle = wdLineStyleSingle
End With
Next brd
rng.Collapse wdCollapseEnd
rng.End = ActiveDocument.range.End
Loop
End With
For Each oPara In ActiveDocument.Paragraphs
With oPara
If .Borders(wdBorderLeft).LineStyle Then
.range.Select
Selection.MoveDown unit:=wdParagraph, Count:=1, Extend:=wdExtend
On Error Resume Next
Selection.range.Borders(wdhorizontal).LineStyle = wdLineStyleSingle
On Error GoTo 0
End If
End With
Next oPara
|
|
#3
|
|||
|
|||
|
Thank you.
This is working on a new (manually created) document, but not on my template. It must be something with the formatting of my report. I will have to tweak the template, play with formatting so that code executes corretly. Thank you once again. |
|
#4
|
||||
|
||||
|
It would make a lot more sense to create a style with the border attributes you want and include that style in the Replace formatting.
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#5
|
|||
|
|||
|
Using style as Guessed suggested:
You should first create "MyStyle" style. Code:
Dim rng As range, brd As Border
Set rng = ActiveDocument.range
With rng.Find
.Text = "Para*^13"
.MatchWildcards = True
Do While .Execute
rng.Style = "MyStyle"
Loop
End With
|
|
#6
|
|||
|
|||
|
Thank you Guessed and eduzs.
This works perfectly. (Sorry for late reply.) |
|
| Tags |
| microsoft word, paragraph formatting, vba macro |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| macro to insert paragraph | Hockey | Word VBA | 5 | 01-28-2020 06:21 AM |
VBA / macro to set paragraph spacing
|
paulkaye | Outlook | 4 | 01-23-2017 06:21 AM |
| Get paragraph number from macro | brice | Word VBA | 4 | 06-30-2015 03:29 AM |
Macro to set page borders
|
Jennifer Murphy | Word VBA | 1 | 11-04-2012 02:45 AM |
Page-crossing borders in a table with hidden between-cell borders
|
tenpaiman | Word | 2 | 08-08-2012 07:20 PM |