You could change the line:
Code:
ActiveDocument.ContentControls(2).Range.Text = StrDetails
to:
Code:
With ActiveDocument.SelectContentControlsByTitle("ClientDetails")
.Item(.Count).Range.Text = StrDetails
End With
where 'ClientDetails' is the title you give to the output content control. That way, the output will always go to the last output content control in the document.