Announcement

Collapse
No announcement yet.

Schnell(st)e Mgl. Daten an WordDoc zu übergeben?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Schnell(st)e Mgl. Daten an WordDoc zu übergeben?

    Hallo!

    Erst die gute Nachricht: Ich habe mein erstes Projekt Delphi-Word meinem Auftraggeber abgegeben - funktionert.

    Jetzt die schlechte: Viel zu langsam!
    Meine im Forum gelernte Übergabe:
    hs:=Fields.Fields[ZugeordneteDBSpalte[TabSp]-1].AsString;
    aWordTable.Cell(Tabzeile, TabSp).Range.Text := hs;
    ist sehr, sehr langsam.
    Es geht um die 5 min., um 130 Records aus einer Access-mdb in Word zu bringen (auf einem Pentium 350 Mhz, 256 Ram).
    Das muss doch schneller gehen, oder?
    Ich wollte gerne bei der Tab.Form bleiben, da dann der Anwender die Tabelle in der Wordvorlage leicht nach seinen Vorstellungen formatiern könnte.
    Oder muss ich doch versuchen, die Daten zeilenweise als String mit Tabs übergeben oder das Dokument vorher als RTF generieren o.ä.?

    Patrick

  • #2
    Hallo,

    das Ausfüllen einer Tabelle geht auch innerhalb von Word langsam zur Sache, wenn diese Funktion aus einem VBA-Makro von Word heraus ausgeführt wird. Ich würde folgendes machen: <br>
    a) Sicherstellen, dass sich hinter <i>aWordTable</i> eine Interface-Variable für <i>Table</i> und kein OleVariant befindet <br>
    b) Beim Eintragen der Daten sollte Word nicht sichtbar sein (Visible := False) <br>
    c) Die Tabelle in der DOT-Vorlage sollte nur aus einer Zeile bestehen, die restlichen Zeilen werden erst zur Laufzeit (aWordTable.Rows.Add(EmptyParam)) hinzugefügt.

    Wenn das dann immer noch zu langsam ist, würde ich die Tabelle im eigenen Programm als RTF generieren und den ganzen RTF-Block in das Word-Dokument einfügen

    Comment


    • #3
      Danke Herr Kosch,
      ich hatte gestern abend mal das ganze ohne Tabelle zeilenweise mit Tabulatoren dazwischen ausprobiert - sehr schnell aber eben entsprechende Abstriche beim Layout.
      Mal sehen, je nachdem was der Auftraggeber meint, versuche ich es mal mit RTF-Genieren (hoffe, das ist nicht zu schwierig).

      Grüsse
      Patrick Weisse

      Comment

      Working...
      X