#1
|
|||
|
|||
Maybe is impossible?
I have more than 500 tables in Word. All of them have horizontal green borders at the top and bottom of the table, and some horizontal lines inside the table. Because of a mistake, some lines inside the same table and between tables have different green colors.
I need to unify the color of visible borders of all tables to the same green (RGB:0,128,0). All the tables have the first row completelly merged. Tables have diferent numbers of rows and columns (see example attached). I have been trying to fix this issue with many codes, without any success. For example, this code only works with the top border: Sub colorBorders() Dim i As Integer Dim tabl As Table For Each tabl In ActiveDocument.Tables ' iterate all the tables For i = 1 To tabl.Borders.Count ' iterate all borders for each table tabl.Borders(i).Color = RGB(0, 128, 0) Next i Next tabl End Sub Anyone knows? Thanks!! |
#2
|
|||
|
|||
Will take a while to run, but seems to work:
Code:
Sub ScratchMacro() 'A basic Word macro coded by Greg Maxey, http://gregmaxey.com/word_tips.html, 7/20/2017 Dim oTbl As Table Dim oCell As Cell For Each oTbl In ActiveDocument.Tables For Each oCell In Selection.Tables(1).Range.Cells If Not oCell.Borders(wdBorderTop).Color = RGB(0, 128, 0) Then oCell.Borders(wdBorderTop).Color = RGB(0, 128, 0) End If If Not oCell.Borders(wdBorderBottom).Color = RGB(0, 128, 0) Then oCell.Borders(wdBorderBottom).Color = RGB(0, 128, 0) End If Next oCell Next oTbl lbl_Exit: Exit Sub End Sub |
#3
|
|||
|
|||
Quote:
|
#4
|
|||
|
|||
Quote:
|
#5
|
|||
|
|||
Solved! just have to change Selection.Tables(1) to oTabl
THANKS!! Code: Sub ScratchMacro() 'A basic Word macro coded by Greg Maxey, http://gregmaxey.com/word_tips.html, 7/20/2017 Dim oTbl As Table Dim oCell As Cell For Each oTbl In ActiveDocument.Tables For Each oCell In oTbl.Range.Cells If Not oCell.Borders(wdBorderTop).Color = RGB(0, 128, 0) Then oCell.Borders(wdBorderTop).Color = RGB(0, 128, 0) End If If Not oCell.Borders(wdBorderBottom).Color = RGB(0, 128, 0) Then oCell.Borders(wdBorderBottom).Color = RGB(0, 128, 0) End If Next oCell Next oTbl lbl_Exit: Exit Sub End Sub |
#6
|
|||
|
|||
Sorry about that. I had started with just the selected table and when it worked I was short of time and just through in the For Each Loop.
|
#7
|
|||
|
|||
Thanks Greg for your kind help!!
|
Tags |
borders, vba, word tables |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Deleting last page really impossible??? | trstew | Word | 4 | 07-14-2016 05:24 AM |
assing task impossible | multitrust | Outlook | 1 | 06-18-2014 01:01 AM |
Why is it impossible to find anything in Word?!?!? | GreatBigBore | Word | 1 | 09-03-2012 04:30 PM |
A problem that is impossible to solve... | A F 1 G 3 | Word | 0 | 09-17-2010 09:32 AM |
This may be impossible, but I thought I would ask... | 00don | Excel | 2 | 03-11-2009 09:02 AM |