How to: Programmatically Create Word Tables
The Tables collection is a member of the Microsoft.Office.Interop.Word.Document, Microsoft.Office.Tools.Word.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 Microsoft.Office.Tools.Word.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 Microsoft.Office.Interop.Word.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