Loading
Word.Tips.Net WordTips (Menu Interface)

Setting a Default Table Border Width

Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Setting a Default Table Border Width.

When you insert a table in Word, a border is automatically created for each cell in the table. This border is a single line, one-half point in weight. Unfortunately, Word provides no way for you to change the default line width you use when creating the table. While it is true you can pick a line width in the Borders and Shading dialog box, this weight is reset to one-half point when you insert a new table.

If you want some other line width, such as three-quarters of a point, you have a problem. You must manually select any new table and format the borders so they are the desired width. If you work with lots of tables, this can quickly become a hassle. You could, of course, create a table style, but applying a table style can give uneven results if all you want to do is change the line width or if you are working with a document where there has been a lot of explicit formatting applied to the tables.

Perhaps the best way around this problem is to write a macro. Even though this may not be the most ideal solution, it certainly is easier than manually changing every table in the document.

The following macro, FixCellBorders, steps through every cell in every table in your document and makes sure the minimum line weight is three-quarters of a point. It does this by checking out the current line settings, and then making the adjustment only if necessary.

Sub FixCellBorders()
    ' Work through all tables in document
    For Each objTable In ActiveDocument.Tables
        ' Work through all cells in each table
        For Each objCell In objTable.Range.Cells
            ' Work through all borders in each cell
            For Each objBorder In objCell.Borders
                ' Check if line weight is less than 0.75 pt
                If objBorder.LineWidth = wdLineWidth025pt _
                  Or objBorder.LineWidth = wdLineWidth050pt Then
                    ' too thin, change it
                    objBorder.LineWidth = wdLineWidth075pt
                End If
            Next objBorder
        Next objCell
    Next objTable
End Sub

As you can imagine, the macro is not terribly fast since it looks at all four borders for every cell in every table of your document. The advantage, however, is that the macro will only modify the weight of any cell border that is at one-quarter or one-half point. This means that any manual formatting you have done for different line widths will not change.

If you are looking for a bit faster macro, the following (FixTableBorders) will do the trick. Instead of looking at individual cells, it works on entire tables. The difference, however, is that it resets every border of every table to three-quarters of a point, using a single line. If this fits your needs, however, it is definitely the easier (faster) way to go.

Sub FixTableBorders()
    For Each objTable In ActiveDocument.Tables
        With objTable
            With .Borders(wdBorderLeft)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
            With .Borders(wdBorderRight)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
            With .Borders(wdBorderTop)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
            With .Borders(wdBorderBottom)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
            With .Borders(wdBorderHorizontal)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
            With .Borders(wdBorderVertical)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
        End With
    Next objTable
End Sub

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (880) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Setting a Default Table Border Width.

Related Tips:

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

Sriram    06 Jul 2016, 16:10
This is simply awesome. It worked perfectly for me. Thanks a lot.
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.