#1
|
|||
|
|||
Macro to add paragraph borders
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 |
Thread Tools | |
Display Modes | |
|
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 |