Share via


How to: Programmatically Add Rows and Columns to Word Tables

In a Microsoft Office Word table, the cells are organized into rows and columns. You can use the Add method of the Rows object to add rows to the table and the Add method of the Columns object to add columns.

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.

Document-Level Customization Examples

The following code examples can be used in a document-level customization. To use these examples, run them from the ThisDocument class in your project. These examples assume that the document associated with your customization already has at least one table.

Important

This code runs only in projects that you create by using any of the following project templates:

  • Word 2013 Document

  • Word 2013 Template

  • Word 2010 Document

  • Word 2010 Template

If you want to perform this task in any other type of project, you must add a reference to the Microsoft.Office.Interop.Word assembly, and then you must use classes from that assembly to add rows and columns to tables. For more information, see How to: Target Office Applications Through Primary Interop Assemblies and Word 2010 Primary Interop Assembly Reference.

To add a row to a table

  • Use the Add method to add a row to the table.

    Me.Tables.Item(1).Rows.Add()
    
    this.Tables[1].Rows.Add(this.Tables[1].Rows[1]);
    

To add a column to a table

  • Use the Add method, and then use the DistributeWidth method to make all the columns the same width.

    Me.Tables.Item(1).Columns.Add(BeforeColumn:=Me.Tables.Item(1).Columns(1))
    Me.Tables.Item(1).Columns.DistributeWidth()
    
    this.Tables[1].Columns.Add(this.Tables[1].Columns[1]); 
    this.Tables[1].Columns.DistributeWidth();
    

Application-Level Add-in Examples

The following code examples can be used in an application-level add-in. To use the examples, run them from the ThisAddIn class in your project. These examples assume that the active document already has at least one table.

Important

This code runs only in projects that you create by using any of the following project templates:

  • Word 2013 Add-in

  • Word 2010 Add-in

If you want to perform this task in any other type of project, you must add a reference to the Microsoft.Office.Interop.Word assembly, and then you must use classes from that assembly to add rows and columns to tables. For more information, see How to: Target Office Applications Through Primary Interop Assemblies and Word 2010 Primary Interop Assembly Reference.

To add a row to a table

  • Use the Add method to add a row to the table.

    Me.Application.ActiveDocument.Tables.Item(1).Rows.Add()
    
    this.Application.ActiveDocument.Tables[1].Rows.Add(
        this.Application.ActiveDocument.Tables[1].Rows[1]);
    

To add a column to a table

  • Use the Add method, and then use the DistributeWidth method to make all the columns the same width.

    Me.Application.ActiveDocument.Tables.Item(1).Columns.Add( _
        BeforeColumn:=Me.Application.ActiveDocument.Tables.Item(1).Columns(1))
    Me.Application.ActiveDocument.Tables.Item(1).Columns.DistributeWidth()
    
    this.Application.ActiveDocument.Tables[1].Columns.Add(
        this.Application.ActiveDocument.Tables[1].Columns[1]);
    this.Application.ActiveDocument.Tables[1].Columns.DistributeWidth();
    

See Also

Tasks

How to: Programmatically Create Word Tables

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

How to: Programmatically Populate Word Tables with Document Properties