Você não precisa componentes para criar documentos Word veja uma rotina completa, adapte as suas necessidades
adcione ao uses Comobj procedure TF_ProcessosAcomp.SpeedButton36Click(Sender: TObject); var NewWord,Document, Range: Variant; nome:string; i:integer; begin //tenho um modelo de documento do word com o cabeçalho e logomarca da empresa CopyFile(Pchar(ExtractFilePath(Application.ExeName)+'modeloWord.doc'),Pchar(nome),false); except end; NewWord:= CreateOleObject('Word.Basic'); NewWord.AppShow; //mostra o word newWord.FileOpen(nome); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('CLIENTE'+#9+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(RxDBLookupCombo1.Text)); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert(#13+'AUTOR'+#9+#9+#9+': '); AutorProcesso.First; newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(AutorProcessoLAUTOR.AsString)); AutorProcesso.Next; while not AutorProcesso.Eof do begin newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(#13+#9+#9+#9+': '); newWord.insert(trim(AutorProcessoLAUTOR.AsString)); AutorProcesso.Next; end; newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert(#13+'RÉU'+#9+#9+#9+': '); REUS_PROCESSO.First; newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(REUS_PROCESSOLREUS.AsString)); REUS_PROCESSO.Next; while not REUS_PROCESSO.Eof do begin newWord.insert(#13+#9+#9+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(REUS_PROCESSOLREUS.AsString)); REUS_PROCESSO.Next; end; newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('PROCESSO N.'+#9+#9 +': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(ProcessosNUMERO_PROCESSO.AsString)); newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('AÇÃO'+#9+#9+#9 +': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(RxDBLookupCombo2.Text)); newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('DATA DE DISTRIB.'+#9': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(DBDateEdit1.Text); newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('COMARCA/TRIBUNAL'+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(RxDBLookupCombo3.Text)); newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('ÓRGÃO JULGADOR'+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(trim(RxDBLookupCombo4.Text)); newWord.insert(#13+ ''); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert('VALOR DA CAUSA'+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; newWord.insert(tamanho_V(ProcessosVALOR_CAUSA.AsFloat,15)); newWord.FontSize(8); newWord.bold; NewWord.LeftPara; newWord.insert(' - GRAU DE RISCO DO PROCESSO'+#9+': '); newWord.FontSize(9); newWord.bold(false); NewWord.LeftPara; if Grau_risco.Eof then newWord.insert('INDEFINIDO') else newWord.insert(trim(Grau_riscoDESCRICAO.AsString)); newWord.insert(#13+ ''); newWord.FontSize(9); newWord.bold; NewWord.LeftPara; newWord.insert(#13+'ANDAMENTOS DO PROCESSO'); newWord.insert(#13+''); newWord.FontSize(9); newWord.bold(false); NewWord.JustifyPara; newWord.insert('----------------------------------------------------------------------------------------------------------------------------------------------------------------------'); AndamentoProcesso.first; while not AndamentoProcesso.Eof do begin newWord.FontSize(9); newWord.bold; NewWord.LeftPara; newWord.insert(#13+DateToStr(AndamentoProcessoDATA.AsDateTime)+ ' - '+TRIM(AndamentoProcessoDESCRICAO.AsString)); newWord.FontSize(9); newWord.bold(false); NewWord.JustifyPara; newWord.insert(#13+trim(DBMemo4.Text)); newWord.FontSize(9); newWord.bold(false); NewWord.JustifyPara; newWord.insert(#13+'----------------------------------------------------------------------------------------------------------------------------------------------------------------------'); AndamentoProcesso.Next end; end;