Einzelnen Beitrag anzeigen

stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Word Zugriff per Ole -- zunehmend langsamer

  Alt 25. Apr 2007, 15:42
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
  Mit Zitat antworten Zitat