I need to programmatically add and remove rows from a Word 2010 table. Unfortunately the header of the table contains merged cells, both horizontally and vertically merged. That causes an error when using the Row.Add and Row.Delete methods. I have tested and discovered that I can programmically remove the merged cells (Cell.Split) and then do the .Add and .Delete methods and then restore the merged cells. The problem I’m having is identifying which cells that are merged.
-------------------------
| 1,1 | 1,2 | 1,3 | 1,4 |
-------------------------
| 2,1 | 2,2 | 2,3 | 2,4 |
-------------------------
If cells 1,1 and 2,1 are vertically merged then accessing Table.Cell(2,1) throws an error. Which is good. But, if cells 1,1 and 1,2 are horizontally merged, accessing 1,2 does not throw an error but accessing 1,4 does. Which means that I can’t determine which cells are horizontally merged.
What I’m trying to do is let the design people change the look and feel of a Word document but the data in the table is populated by an SQL query that people fill in using a web app.
My question, is there a way to determine the layout of a table so that I can remove the merged cells and recreate them after adding and removing rows?
Thanks,
Aaron
Well I ended up describing the layout of the table in the Table Properties / Alt Text / Decription area. And then reading that in the code to split the cells, delete rows and then remerged the cells. Crude but it works.