Доброго времени суток!
Сделал простенький компонент для замены текста в документах Word (docx) и OpenDocument (odt). Особенностью данного компонента является отсутствие необходимости какого-либо дополнительного ПО типа MS Office или OpenOffice и использует только встроенные библиотеки. В связи с чем он может работать на различных платформах (но ещё не проверял ).
DocumentProcessing.zip
Как использовать:
uses
DocumentProcessing;
...
procedure TForm2.Button1Click(Sender: TObject);
var
Document: TDocumentProcessor;
begin
Document:= TDocumentProcessor.Create(Self);
Document.FilePath:= 'D:\test.docx';
Document.Open(TDocumentKind.dkDocx);
Document.ReplaceText('Familiya', 'Cat');
Document.Save;
Document.Open('D:\test.odt', TDocumentKind.dkOdt);
Document.ReplaceText('Familiya', 'Cat', [rfReplaceAll]);
Document.Save;
end;
Немного о принципе работы:
Проблемы: