Share via


How to: Programmatically Create Word Tables

The Tables collection is a member of the Document, Document, Selection, and Range classes, which means that you can create a table in any of those contexts. You use the Add method of the Tables collection to add a table at the specified range.

Applies to: The information in this topic applies to document-level projects and application-level projects for Word 2013 and Word 2010. For more information, see Features Available by Office Application and Project Type.

Creating Tables in Document-Level Customizations

To add a simple table to a document

  • Use the Add method to add a table consisting of three rows and four columns at the beginning of the document.

    To use the following code example, run it from the ThisDocument class in your project.

    Dim tableLocation As Word.Range = Me.Range(Start:=0, End:=0)
    Me.Tables.Add(Range:=tableLocation, NumRows:=3, NumColumns:=4)
    
    object start = 0;
    object end = 0;
    Word.Range tableLocation = this.Range(ref start, ref end);
    this.Tables.Add(tableLocation, 3, 4);
    

When you create a table, it is automatically added to the Tables collection of the Document host item. You can then refer to the table by its item number by using the Item property, as shown in the following code.

To refer to a table by item number

  • Use the Item property and supply the item number of the table that you want to refer to.

    To use the following code example, run it from the ThisDocument class in your project.

    Dim newTable As Word.Table = Me.Tables.Item(1)
    
    Word.Table newTable = this.Tables[1];
    

Each Table object also has a Range property that enables you to set formatting attributes.

To apply a style to a table

  • Use the Style property to apply one of the Word built-in styles to a table.

    To use the following code example, run it from the ThisDocument class in your project.

    Me.Tables.Item(1).Range.Font.Size = 8
    Me.Tables.Item(1).Style = "Table Grid 8"
    
    this.Tables[1].Range.Font.Size = 8;
    this.Tables[1].set_Style("Table Grid 8");
    

Creating Tables in Application-Level Add-Ins

To add a simple table to a document

  • Use the Add method to add a table consisting of three rows and four columns at the beginning of the document.

    The following code example adds a table to the active document. To use this example, run it from the ThisAddIn class in your project.

    Dim tableLocation As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=0)
    Me.Application.ActiveDocument.Tables.Add(Range:=tableLocation, NumRows:=3, NumColumns:=4)
    
    Word.Range tableLocation = 
        this.Application.ActiveDocument.Range(0, 0);
    this.Application.ActiveDocument.Tables.Add(
        tableLocation, 3, 4);
    

When you create a table, it is automatically added to the Tables collection of the Document. You can then refer to the table by its item number by using the Item property, as shown in the following code.

To refer to a table by item number

  • Use the Item property and supply the item number of the table that you want to refer to.

    The following code example uses the active document. To use this example, run it from the ThisAddIn class in your project.

    Dim newTable As Word.Table = Me.Application.ActiveDocument.Tables.Item(1)
    
    Word.Table newTable = this.Application.ActiveDocument.Tables[1];
    

Each Table object also has a Range property that enables you to set formatting attributes.

To apply a style to a table

  • Use the Style property to apply one of the Word built-in styles to a table.

    The following code example uses the active document. To use this example, run it from the ThisAddIn class in your project.

    Me.Application.ActiveDocument.Tables.Item(1).Range.Font.Size = 8
    Me.Application.ActiveDocument.Tables.Item(1).Style = "Table Grid 8"
    
    this.Application.ActiveDocument.Tables[1].Range.Font.Size = 8;
    this.Application.ActiveDocument.Tables[1].set_Style("Table Grid 8");
    

See Also

Tasks

How to: Programmatically Add Text and Formatting to Cells in Word Tables

How to: Programmatically Add Rows and Columns to Word Tables

How to: Programmatically Populate Word Tables with Document Properties

Concepts

Optional Parameters in Office Solutions