AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Word Automatisation Beschleunigen

Ein Thema von GoTo0815 · begonnen am 12. Mär 2020 · letzter Beitrag vom 19. Mär 2020
Antwort Antwort
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
247 Beiträge
 
Delphi 12 Athens
 
#1

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 12:03
Wir machen das ähnlich. Unsere Vorlagen haben die Endung .DOTX
Beim speichern auf das Format stellen.
Zum bearbeiten muss man die .DOTX Dateien im Windows Explorer mit rechter Maus Taste und dann „öffnen“ editieren.
Weiß nicht ob das ein Vorteil ist.
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 12:39
... würde es nur um einzelne Werte gehen, aber es werden ganze Preistabellen je Artikel eingefügt. Diese sind in der Anzahl der Reihen und Spalten unterschiedlich groß.
Ich würde erst einmal abwarten, ob jemand hier noch eine Idee hätte, ein Dokument nur einmal zu laden und es immer wieder neu aus einer Variable einem neuen Dokument zuzuweisen.
Der Aufwand der Umstellung wäre hier viel geringer. Sollte das dann keine Zeitersparnis bringen, würde ich andere Wege auch noch einmal anschauen.

Das Befüllen eines Dokuments geht übrigens deutlich zügiger, wenn man die Sichtbarkeit der MS Word App (Visible) auf False setzt.
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 12:51
Hallo,
ich werfe mal WPTools in die Runde.
Die können mittlerweise auch DOCX.
Heiko
  Mit Zitat antworten Zitat
Pfaffe

Registriert seit: 29. Jan 2009
297 Beiträge
 
Delphi 12 Athens
 
#4

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 12:56
Word.Visible:= false;
Nicht DOCX, sondern dotx als Vorlage verwenden.

Bei Excel: ExcelApplication1.Visible[FLCID]:= false;
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 13:56
Ich weiß nicht ob es noch mehr Geschwindigkeit bringt, jedenfalls gäbe es da noch WordApp.ScreenUpdating := False;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 14:27
Pfaffe: Inwieweit hilft es eine DotX anstatt der DocX zu verwenden?
Muss diese dann in meinem Fall nicht auch tausende Male von der Festplatte geladen werden?
Die eigentliche Frage ist, wie verhindere ich das häufige Laden der Datei von der Festplatte.
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 17:32
Eine Dot-Datei ist eine Vorlage, eine DOC das (mehr oder weniger) finale Dokument. Da einige Funktionalitäten eigentlich nur bei Vorlagen verfügbar sind, bin ich davon ausgegangen, daß DOC ein Schreibfehler war??
Die wichtigste Beschleunigung wurde schon genannt Visible=False.
Dann bringt die Arbeit mit Range statt Selection auch etwas.
Und vllt. können wir Dir weiter helfen wenn Du den Source postest.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#8

AW: Word Automatisation Beschleunigen

  Alt 12. Mär 2020, 18:13
Hmm..

Also um das leeren = Laden wird Du wohl nicht herum kommen.
Word unterstützt kein speichern/laden per Stream, somit kannst Du dir das originale Word-Dokument nicht vor dem Bearbeiten in nen Stream speichen und dann vor jeder Rechnung einfach wieder ins Word zurück schreiben.

Es scheint hier nur eine Möglichkeit über die Zwischenablage zu geben, was mir aber zu gefährlich wäre, wenn der User noch andere Copy/Paste Aktionen während deiner Erzeugung durchführen kann.

Eine Beschleunigung könnte somit (neben Visible:=False / ScreenUpdating := False) noch die Verwendung einer schnellen SSD zum Laden der Vorlage oder eine temporäre RAM-Disk, wenn es keine Hardware Option gibt..

Alternativ kannst Du die Vorlage natürlich auch jedes Mal selber neu per Programm erstellen, ob das jedoch schneller geht...

Somit würde ansonsten nur die Verwendung einer Report-Komponente eine Alternative darstellen, dann müsste in dessem Designer nur das Word-Dokument nachgebildet werden.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz