AGB  ·  Datenschutz  ·  Impressum  







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

OLE Drucker WinWord

Ein Thema von Christoph Frank · begonnen am 16. Mär 2007 · letzter Beitrag vom 16. Jan 2008
Antwort Antwort
Christoph Frank

Registriert seit: 6. Mär 2007
26 Beiträge
 
#1

OLE Drucker WinWord

  Alt 16. Mär 2007, 15:54
Hallo zusammen,

//Ausdrucken
MSWord.Application.PrintOut(Range := 0, Item := 0, Copies := 1, PageType := 0);
//Dateien schließen
MSWord.Documents.Close(SaveChanges := 0);
//MSWord schließen
MSWord.Quit;

Aus obigem Code ist ersichtlich, was ich tun möchte. Eigentlich will ich nach erfolgreichem Ausdruck WinWord wieder schließen, erhalte aber die Message, daß Word gerade druckt und falls ich mit 'Ja' antworte ist alles futsch.
Wie kann ich sicherstellen, daß WinWord erst nach Beendigung des Druckens geschlossen wird?

Gruß Christoph
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: OLE Drucker WinWord

  Alt 16. Mär 2007, 16:03
Vielleicht hilft ein MSWord.DisplayAlerts := False;
Thomas
  Mit Zitat antworten Zitat
Christoph Frank

Registriert seit: 6. Mär 2007
26 Beiträge
 
#3

Re: OLE Drucker WinWord

  Alt 17. Mär 2007, 12:23
Jetzt weiß ich nicht, ob Du die Antwort zweimal bekommst, ich war schon ausgelogged als ich sie schrieb.

habe Deinen Tipp ausprobiert, hat aber nicht geklappt. Nach langen Versuchen habe ich aber folgende Lösung gefunden:

//Ausdrucken
MSWord.Application.PrintOut(Background := false, Range := 0, Item := 0, Copies := 1, PageType := 0);
//Dateien schließen
MSWord.Documents.Close(SaveChanges := 0);
//MSWord schließen
MSWord.Quit;

Background := true -> bedeutet, daß das Makro fortgesetzt werdn soll, während WinWord druckt.
Background := false -> setzt dann eben das Makro nicht fort.

Vielen Dank trotzdem für Deine Hilfe
Gruß Christoph
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: OLE Drucker WinWord

  Alt 17. Mär 2007, 13:27
Du hast die Lösung ja schon gefunden. Word druckt normalerweise im Hintergrund, d.h. du kannst dein Dokument weiter bearbeiten, während Word an den Druckertreiber streamt. Ein Schliessen von Word bricht dieses Streamen natürlich ab, und deshalb muss du diese Hintergrunddrucken abschalten, und das geht so, wie du beschrieben hast.

Ich hab mich auch mal intensiver damit beschäftigen müssen. Vielleicht erhältst Du ja noch einige interessante Erkenntnisse aus meinem Tool PrintDoc.
  Mit Zitat antworten Zitat
vanmir

Registriert seit: 13. Dez 2005
Ort: Köln
1 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: OLE Drucker WinWord

  Alt 16. Jan 2008, 13:59
Hi

Meine Lösung ist :

Delphi-Quellcode:
  while WordApplication1.BackgroundPrintingStatus > 0 do
      application.processmessages
  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 06:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz