Einzelnen Beitrag anzeigen

einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#5

AW: Word 2010 Vorlage.dot ausfüllen

  Alt 8. Feb 2012, 11:48
Hallo,

Delphi-Quellcode:
    WordApp.Documents.Open2000(FileName, EmptyParam, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Du öffnest glaube ich damit die Vorlage. Es wird kein neues Dokument anhand der Vorlage erstellt. Da in Word eine Datei nur einmal geöffnet sein kann, wird beim zweiten Versuch die bereits geöffnete verwendet. Es müsste beim WordApp.Documents auch ein Add geben.

    Dokument.ConnectTo(WordApp.ActiveDocument);
Noch ein Tipp, das ActiveDocument sollte man nicht benutzt. Unter Umständen kann der Benutzer während der Programmausführung ein anderes Dokument aktivieren. Macht der Benutzer dies zum falschen Zeitpunkt, greift man über ActiveDocument auf das Falsche zu. Die Open- und Add-Methoden geben eigentlich das geöffnete/erzeugte Dokument zurück.

Auch auf sowas wie CurrentSelection und Zwischenablage sollte man bei der Word-/Excel-Automation verzichten. Diese Automationen sind nicht die Schnellsten. Vor allem wenn viele Seiten erzeugt werden sollen, kann das eine Weile dauern. Genug Zeit für den Benutzer mal schnell noch mit Verwendung der Zwischenablage eine E-Mail weiter zuschreiben. Der Benutzer macht das:
3. Strg+X
5. Cursor eine Absatz nach unten
8. Strg+V

Und dein Program macht parallel das:
1. CopyToClipboard
2. ChangeCursor
4. PasteFromClipboard
6. SelectNextArea
7. CopyToClipboard
9. ChangeCursor
10. PasteFromClipboard

Die Zahlen geben die Reihenfolge an, wie der Rechner das gerade in diesem Moment abarbeitet. Wenn der Benutzer nicht die Funktion Strg+Z kennt, wird er bestimmt richtig sauer. Vor allem wenn er die ultimative Antwort auf alle Fragen ausgeschnitten hat.

einbeliebigername.
  Mit Zitat antworten Zitat