So, nun bin ich's leid.
Der "wortweise" Zugriff ist irgendwie nicht der richtige Weg.
Jetzt gehe ich einfach die Holzhammermethode:
Word aufrufen
Dokument als tmp. Textdatei speichern
Word-Dokument schließen
Anschließend die tmp. Textdatei laden und irgendwie verarbeiten.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
StartDir := extractFilePath(ParamStr(0));
mV := CreateOleObject('Word.Application');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mV.Quit;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
ZL,Zl2 : TStringList;
I : Integer;
begin
If OpenDialog1.Execute Then
Begin
ZL := TStringList.Create;
Zl.Sorted := CheckBox2.Checked;
If Not CheckBox1.Checked Then
Zl.Duplicates := dupIgnore;
Zl2 := TStringList.Create;
Zl2.Sorted := Zl.Sorted;
Zl2.Duplicates := Zl.Duplicates;
mV.Visible := False; // Das klappt nicht wirklich!
mV.Documents.open (FileName:=OpenDialog1.FileName, ConfirmConversions:=False, Format:=wdOpenFormatAuto) ;
mV.ActiveDocument.SaveAs (FileName:=StartDir+'TMPFB.TXT', FileFormat:=wdFormatText, AddToRecentFiles:=True) ;
mV.Documents.Close;
Memo1.Lines.LoadFromFile(StartDir+'TMPFB.TXT'); // Ab hier ist erst mal alles richtige Baustelle...
Zl.DelimitedText:=Memo1.Lines.Text;
DeleteFile(StartDir+'TMPFB.TXT');
For I :=0 To zl.Count-1 Do
Zl2.Add(Trim(Zl[i]));
Memo1.Lines.Assign(ZL2);
Zl.Free;
Zl2.Free;
End;
end;
Übrigens, hat jemand 'n Tipp für mich,
dass wenn ich mit einem Word-Dokument verbinde,
Word NICHT im Hintergrund angezeigt wird?
Moin