Como criar documentos do Word programaticamente a partir de um modelo

Estou tentando criar cerca de 600 relatórios no microsoft office Word. Os documentos são preenchidos com dados de um banco de dados e imagens encontradas em uma unidade local. Eu descobri que eu poderia criar um projeto de modelo do Word no visual studio 2010 e programar o modelo para que, quando você digitar um único valor (número de identificação), ele preencha automaticamente o documento inteiro.

Estou bastante confiante de que isso é possível. o único problema é Como percorrer todas as entradas no banco de dados, abrir um novo documento com base no modelo e definir o valor do ID?

for(int i = 0; i < idnumbers.Count(); i++)
{
     Word.Application app = new Word.Application();
     Word.Document doc = app.Documents.Add(@"C:\..\WordGenerator\bin\Debug\WordTemplate.dotx");
     //input the id-number below: HOW??

     doc.SaveAs(FileName: @"c:\temp\test.docx"); 
}

O aplicativo deve ser executado apenas uma vez, gerando os relatórios e não precisa ser rápido. Só precisa ser fácil de desenvolver.

O problema aqui é que parece que o objeto DocumentBase não está acessível fora do projeto do Word. O Microsoft.Office.Interop.Word.Document substituto não possui funcionalidade como SelectContentControlsByTitle que permite localizar e definir meus ContentControls. E é exatamente isso que eu preciso fazer ..

É assim que meu código se parece agora para inserir o texto no meu campo: Word.Application app = new Word.Application ();

        Word.Document doc = app.Documents.Add(@"C:\..\test.dotx");

        foreach (Word.ContentControl cc in doc.SelectContentControlsByTitle("MyCCTitle"))
        {
            cc.Range.Text += "1234";
        }

        doc.SaveAs(FileName: @"c:\temp\test.docx");

Em seguida, um manipulador de eventos no meu modelo no BeforeSave preenche o documento com base no texto no objeto intitulado MyCCTitle.

questionAnswers(6)

yourAnswerToTheQuestion