![]() |
Word aus Delphi drucken
Hallo zusammen,
möchte gerne Word aus Delphi heraus drucken können, ohne in Word den Druckenbutton zu betätigen, oder Word zu starten! Hier der Quellcode.
Delphi-Quellcode:
try
word := CreateOleObject('Word.Application'); except ShowMessage('Word konnte nicht gestartet werden!'); end; word.Visible := True; word.Documents.Open(FileName := ExtractFilePath(ParamStr(0)) + 'BEGLEITSCHREIBEN- RECHTSANWALT.doc'); word.ActiveDocument.FormFields.Item('Name').Result := CBRechtsA.Text; word.ActiveDocument.FormFields.Item('Strasse').Result := EditRechtsAStrasse.Text; word.ActiveDocument.FormFields.Item('Plz').Result := EditRechtsAPLZ.Text; word.ActiveDocument.FormFields.Item('Ort').Result := EditRechtsAOrt.Text; word.ActiveDocument.FormFields.Item('Datum').Result := DatetoStr(Date); word.ActiveDocument.FormFields.Item('Mandant').Result := EditVName.Text + ' ' + EditName.Text; word.ActiveDocument.FormFields.Item('GaNr').Result := EditGaNr.Text; Hab schon in der Hilfe geschaut finde aber nichts. Gruß Andreas |
Re: Word aus Delphi drucken
Zitat:
Für die Beschreibung ist der Hersteller der COM-Komponenten (hier MS) zuständig, und man wird auch in der ![]() |
Re: Word aus Delphi drucken
Hallo,
bedanke mich. Hat funktioniert. Gruß Andreas |
Re: Word aus Delphi drucken
Hallo,
hab da aber noch ein Problem. Ich will das Word nach dem drucken sofort geschlossen wird. Wenn ich aber wie folgt vorgehe
Delphi-Quellcode:
bringt er mir eine Fehlermeldung!
word.Documents("Report.doc").Close;
SaveChanges:=wdDoNotSaveChanges; Gruß Andreas |
Re: Word aus Delphi drucken
die Fehlermeldung lautet
Documents ist keine Methode was ich aber nicht verstehe :( |
Re: Word aus Delphi drucken
Probier es doch mit ShellExecute und dem Verb 'print' statt dem ueblichen 'open'.
|
Re: Word aus Delphi drucken
Hi
Zitat:
Delphi-Quellcode:
Wird besser funktionieren... das was du geschrieben hast sieht mehr nach VB-Syntax aus!
word.Documents['Report.doc'].Close;
Greetz Boombuler |
Re: Word aus Delphi drucken
Zitat:
Warum so kompliziert?
Delphi-Quellcode:
if not VarIsEmpty(Word) then
begin Word.DisplayAlerts := 0; Word.Quit; Word:= Unassigned; end; |
Re: Word aus Delphi drucken
Hallo,
@toms hat auch soweit funktioniert.
Delphi-Quellcode:
Doch jetzt bringt er mir dauernd, dass er das Word Dokument speichern will. Dies kann man umgehen wenn man vorher die Methode word.ActiveDocument.close nutzt. Aber hier bringt er dann die Meldung, dass Word gerade beim drucken ist und dass beim abbrechen die Daten flöten gehen.
word.ActiveDocument.PrintOut;
if not VarIsEmpty(Word) then begin word.DisplayAlerts := 0; word.Quit; word := Unassigned; end; Ich will das Word automatisch gestartet wird, druckt und wieder schliesst, ohne irgend welche Meldungen. Kenne mich in VB leider nicht aus :( Gruß Andreas |
Re: Word aus Delphi drucken
Versuchs doch mit ShellExecute.
|
Re: Word aus Delphi drucken
Hallo,
keine Ahnung was du meinst mit ShellExecute? Gruß Andreas |
Re: Word aus Delphi drucken
Hi,
![]()
Delphi-Quellcode:
Gruß
ShellExecute(handle,'print','c:\test.doc',nil,nil,sw_ShowNormal);
Stephan :dance: |
Re: Word aus Delphi drucken
SW_HIDE waere wohl besser.
Ich erwarte schon das man wenigstens einen groben Ueberblick ueber die Win32 Funktionen im Kopf hat. Wer das nicht kann von dem erwarte ich das er faehig ist die Hilfe zu benutzen. Wer unter Windows programmiert und das PlatformSDK nicht installiert hat der ist selber schuld. |
Re: Word aus Delphi drucken
Hi,
sw_hide macht hier keinen unterschied :? Gruß Stephan :dance: |
Re: Word aus Delphi drucken
Ja ich weiss das Word sich hier erst garnicht zeigt, aber auf Details achten kann nie schaden.
Wer weiss was Microsoft als naechstes aendert. |
Re: Word aus Delphi drucken
Zitat:
1.) nicht im Hintergrund drucken; dazu gibt es in der Print-Methode den Parameter BackGround (oder so ähnlich) man kan es auch in den Winword Optionen einstellen, ob im Hintergrund gedruckt werden darf 2.) prüfen, ob im Hintergrund noch gedruckt wird und so lange warten und dann erst Word schliesen Ich würde die 1. Möglichkeit nehmen. |
Re: Word aus Delphi drucken
² Robert: Hm.. bei mir ists genau andersrum: Word zeigt sich immer - SW_HIDE, SW_SHOWNORMAL, direkt ausm Explorer... liegt evtl. an Word 2003 ??
Gruß Stephan |
Re: Word aus Delphi drucken
Zitat:
begin word.DisplayAlerts := 0; SaveChanges := wdSaveChanges; word.Quit(SaveChanges, EmptyParam, EmptyParam); {var SaveChanges: OleVariant} word := Unassigned; end; |
Re: Word aus Delphi drucken
Zitat:
Es auf Microsoft zu schieben ist aber selten falsch :mrgreen: , daher kann es gut an Word 2003 liegen. Ich bin nie ueber Word 2000 hinausgekommen (wozu auch). |
Re: Word aus Delphi drucken
Hallo,
hat funktioniert! Danke euch. Gruß Andreas |
Re: Word aus Delphi drucken
Zitat:
Mit OLE funktioniert's doch wunderbar. Halt gewusst wie... |
Re: Word aus Delphi drucken
Hi,
das erinnert mich an "Warum einfach, wenns auch kompliziert geht" :mrgreen: Das konnt ich mir nicht verkneifen, sorry :zwinker: Gruß Stephan :dance: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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