Hi Fiona,
Thanks for the additional information. Please try run the following code snippet which helps you achieve what you’re looking for:
Document doc = new Document(@"C:\Temp\input.doc");
Paragraph startPara = null;
Paragraph endPara = null;
Paragraph targetPara = null;
NodeCollection paragraphs = doc.GetChildNodes(NodeType.Paragraph, true);
foreach(Paragraph paragraph in paragraphs)
{
if (paragraph.ToString(SaveFormat.Text).Trim().Equals(""))
startPara = paragraph;
if (paragraph.ToString(SaveFormat.Text).Trim().Equals(""))
endPara = paragraph;
if (paragraph.ToString(SaveFormat.Text).Trim().Equals(""))
targetPara = paragraph;
}
ArrayList content = ExtractContent(startPara, endPara, false);
foreach(CompositeNode node in content)
{
targetPara.ParentNode.InsertBefore(node, targetPara);
NodeCollection runs = node.GetChildNodes(NodeType.Run, true);
foreach(Run run in runs)
run.Font.Hidden = false;
NodeCollection fields = node.GetChildNodes(NodeType.FieldStart, true);
foreach(FieldStart fieldStart in fields)
{
Paragraph parentPara = null;
if (fieldStart.FieldType == FieldType.FieldQuote)
{
parentPara = fieldStart.ParentParagraph;
Field quoteField = fieldStart.GetField();
quoteField.Remove();
parentPara.Runs.Add(new Run(doc, "Your customer text"));
}
}
}
doc.Save(@"C:\Temp\out.docx");
If we can help you with anything else, please feel free to ask.
Best regards,