Hmm..
(Wieso OleContainer?
)
Mach es einfach so:
Delphi-Quellcode:
uses
ComObj;
const
wdDoNotSaveChanges = $00000000;
wdSaveChanges = $FFFFFFFF;
wdPromptToSaveChanges = $FFFFFFFE;
function GetWordText(AFileName : string):string;
var
WordApp : OleVariant;
Doc : OleVariant;
SaveChanges: OleVariant;
tmpStr : string;
begin
WordApp := CreateOLEObject('Word.Application'); // Word-Verbindung zu neuem Word
try
WordApp.Documents.Open(AFileName); // Datei laden
try
WordApp.Visible := false; // Unsichtbar machen
Doc := WordApp.ActiveDocument;
Doc.ActiveWindow.Selection.WholeStory; // Alles Markieren
tmpStr := Doc.ActiveWindow.Selection.Text; // Markierten Text lesen
Result := StringReplace(tmpStr,#13,#13#10,[rfReplaceAll]); // Zeilenumbrüche korrigieren
SaveChanges := wdDoNotSaveChanges;
WordApp.Quit(SaveChanges, EmptyParam, EmptyParam); // Word Schließen ohne speichern
except
WordApp.Visible := true; // Auf jedenfall sichtbar machen, wenn ein Fehler auftritt
end;
finally
WordApp := Unassigned; // Verbindung lösen
end;
end;
Alles hierzu habe ich aus den ersten Hits zu 'Delphi Word Text' googlen entnommen.