You have numerous options for programmatic editing, none of which is necessarily 'the best', including:
• editing Word's built-in document properties, combined with DOCPROPERTY fields in the document;
• creating/editing custom document properties, combined with DOCPROPERTY fields in the document;
• using bookmarks, also possibly combined with cross-reference fields;
• using tables, formfields or content controls (the latter are usable only in Word 2007 & later) as placeholders;
• using embedded objects (eg Excel workbooks) or linking to external objects (eg Excel workbooks, other documents, etc).
• using custom Quick Parts that can be used to add whole pages/sections of content, if need be, as/when required.
It's not really a question of working with vba, but with the Word object model. All of that model's properties, procedures and methods are, of course, exposed to vba. If you're working in C#, it them becomes a matter of learning how to automate Word and call the Word object model to do whatever you need.
PS: There are many C# code snippets for Office automation at the MSDN library:
http://msdn.microsoft.com/en-US/
http://msdn.microsoft.com/en-us/libr...bd(VS.80).aspx
http://msdn.microsoft.com/en-us/library/ee342218.aspx
http://code.msdn.microsoft.com/
http://support.microsoft.com/kb/316384
http://support.microsoft.com/kb/302084