You’re right - I’ve found in Aspose.Words you often have to approach a problem with a different mindset than VBA. The Aspose.Words table object will contain all the text runs which I can copy/extract out.
My table cell is rich, with lists, formatting etc. It’s only in a row so that, if I need to remove the text, I can remove the whole row rather than paragraph by paragraph.
I’ve tested with my variation of your How to Extract Selected Content Between Nodes in a Document function (customised to exclude the parent table by the fourth boolean parameter).
Basic test example:
Aspose.Words.Tables.Table _table = (Aspose.Words.Tables.Table)AsposeWordDocument.GetChild(NodeType.Table, 0, true);
Node n = _table.PreviousSibling;
System.Collections.ArrayList extractedNodes = Business.AsposeFunc.ExtractContent(_table.Rows.Cells.FirstChild, _table.Rows.Cells.LastChild, true, true);
while (extractedNodes.Count > 0)
// Insert the last node from the reversed list
// Remove this node from the list after insertion.