activePrinter

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

activePrinter

Beitrag von Koverhage »

Hallo zusammen,

bisher verwende ich acticePrinter um den Drucker zu setzen, auf dem Word drucken soll.
Unter mnir nicht näher bekannten Umständen, wird manchmal der Standarddrucker (habe vorher den aktuellen Standarddrucker gesichert)
nicht zurückgesetzt.
Nun habe ich folgende gefunden:

Verwenden Sie die WordBasic FilePrintSetup Methode mit dem festgelegten DoNotSetAsSysDefault-Flag auf True, um einen neuen Drucker auszuwählen ohne dass sein Word den Standardsystemdrucker zu ändern. Beispielsweise statt Verwenden des folgenden Codes:

Set oWord = CreateObject("Word.Application")
oWord.ActivePrinter = "HP LaserJet 4 on LPT2"


Verwenden Sie den folgenden Code.

Set oWord = CreateObject("Word.Application")
oWord.WordBasic.FilePrintSetup Printer:="HP LaserJet 4 on LPT2", _
DoNotSetAsSysDefault:=1


Wenn ich das richtig verstehe, brauche ich dann ja nicht den aktuellen Standardrucker zu sichern und nachher zurücksetzen, aber wie kann ich das in Xbase++ machen ?
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Re: activePrinter

Beitrag von andreas »

Koverhage hat geschrieben:
Set oWord = CreateObject("Word.Application")
oWord.WordBasic.FilePrintSetup Printer:="HP LaserJet 4 on LPT2", _
DoNotSetAsSysDefault:=1


Wenn ich das richtig verstehe, brauche ich dann ja nicht den aktuellen Standardrucker zu sichern und nachher zurücksetzen, aber wie kann ich das in Xbase++ machen ?
Hallo Klaus,

ich vermute, dass es etwa so aussehen sollte:

Code: Alles auswählen

oWord:WordBasic:FilePrintSetup( "HP LaserJet 4 on LPT2",  1 )
Du kannst solche Sachen in der Hilfe für VBA in deinem Office finden, wenn du diese installiert hast. Allerdings finde ich keine richtige Beschreibung dafür. Es gibt nur Verweis, dass die entsprechende Funktion in VB ActivePrinter ist.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Hallo Andreas,

der von mir zitierte Text stammt von MS$
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Beitrag von Muecke »

Hallo Klaus,

kann es sein das Du das suchst:

Code: Alles auswählen

local cOldPrinter:= ""

      cOldPrinter := oWord:Activeprinter
      oWord:Activeprinter := "HP LaserJet 4 on LPT2"
   ENDIF
........
.........

   IF ! empty( cOldPrinter)
      oWord:Activeprinter := cOldPrinter         // setzen auf standard printer
   ENDIF
Gruss Thomas
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Thomas,

das will ich ja gerade vermeiden, das der Standarddrucker verbogen wird.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

bzw. das hat ja auch mehr den Grund, das manche Anwender die Rechte
nicht haben den Standarddrucker zu setzen, deshalb der Weg.
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Beitrag von Muecke »

Ja schon, aber ich blende ja dem Anwender die Drucker ein die install.sind.Wällt er ein anderer Drucker so nehme ich mein Beispiel und setze den ausgewählten Drucker für dieses Dock. Danach setze ich Old wieder auf standart.
So wie ich das versteh, willst Du dem Anwender ein Drucker plaz.der nicht als Standart ist.
Mit dem Beispiel kann ich als Chef auch nicht sehen mit welchem Drucker gedruckt wird. Ich setze den Drucker am Schluss ja wieder.

Gruss Thomas
Antworten