This file will be the one that will be merged with your word template.
The code is quite clear but here are some additional comments to help understanding some parts:
using System;
using Microsoft.Office.Interop.Word;
class Program
{
static object missing = Type.Missing;
static void Main(string[] args)
{
_Application application = (_Application)new Application();
object fileName = @"C:\Temp\Merge\doc to merge.docx";
_Document document = application.Documents.Open(ref fileName, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
document.MailMerge.MainDocumentType = WdMailMergeMainDocType.wdFormLetters;
document.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
string dataSource = @"C:\Temp\Merge\datafile.txt";
object subType = WdMergeSubType.wdMergeSubTypeOther;
document.MailMerge.OpenDataSource(dataSource, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref subType);
document.MailMerge.Execute(ref missing);
object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
document.Close(ref saveChanges, ref missing, ref missing);
object index = 1;
document = application.Documents.get_Item(ref index);
object newFileName = @"C:\Temp\Merge\doc merged.docx";
document.SaveAs(ref newFileName, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing);
document.Close(ref missing, ref missing, ref missing);
object saveOptions = WdSaveOptions.wdDoNotSaveChanges;
application.Quit(ref saveOptions, ref missing, ref missing);
}
}