Autor Beitrag
Raffo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 300



BeitragVerfasst: Di 04.10.05 15:11 
Wie kann ich veranlassen, das zumindest der DruckerSetup Dialog kommt um ein Dokument automatisch auszudrucken?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
WordObject := TWordObject.Create;
WordObject.NewDoc(MeineDocDatei);

{
PrinterSetupDialog1.execute;
hierdurch kommt zwar der Dialog, wird aber die Zuweisung wird von Word ignoriert
auch wenn es vor dem .Create steht
}


WordObject.print;
Wordobject.CloseDoc;
WordObject.Free;
WordObject:=nil;


Hab schon überlegt den Standarddrucker temporär umzulegen, aber sauber ist das nicht, und damit besteht ja auch nicht die Möglichkeit in ENTWURF / GUT / BESSER zu drucken...

Ralf
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 04.10.05 18:38 
Hallo

Word.print -> Drucken im Word
printersetupdialog.execute -> Auswahl des Druckers in deinem Delphi-Programm.
beides hat so zusammen nichts mit einander zu tun.

Wenn du den Drucker in Word setzt, geht das mit der activeprinter-Eigenschaft. Den Druckernamen kannst du aus deinen Printersetup-dialog nehmen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
uses printer;
...
if printersetupdialog.execute then
  name:=printers[printers.itemindex]

Ob du so allerdings die Druckqualität einstellen kannst, kann ich Dir leider nicht sagen, mußt Du probieren.

Word.activeprinter hat allerdings den unschönen Nebeneffekt, das Word diesen Drucker gleich zum systemweiten Standarddrucker macht, was nicht unbedingt gewünscht ist.
Das kannst du so umgehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Var dialog:olevariant; 
  begin 
    dialog:=WordApplication1.Dialogs.Item(wdDialogFilePrintSetup); 
    dialog.printer := Druckername; 
    dialog.DoNotSetasSysdefault := True; 
    dialog.execute; 
  end;

Dann gilt der Drucker nur für Word

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Raffo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 300



BeitragVerfasst: Di 04.10.05 18:50 
Danke, klingt doch vielversprechend und werd es mir morgen mal ansehen.