vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Beidseitiger Druck /duplex) 
Autor: Erdmännchen
Datum: 12.01.06 09:54

Hallo

Ich versuche mit Office Automation aus Access2002 in Word2002 beidseitig zu drucken.

Dim objWord As New Word.Application
Dim objDoc As Word.Document
 
Set objWord = New Word.Application
Set objDoc = objWord.Documents.Add("MeineVorlage.DOT") 'dort gespeichert wo 
' auch Normal.DOT liegt.
 
objWord.Visible = True
objWord.WindowState = wdWindowStateMaximize
objWord.Activate
 
objWord.ActivePrinter = "WeissWalti PS"
 
'Activate Duplex Print   KB194306, Method 2
With objWord
  [color=red].WordBasic.SendKeys "%fp%p%d{enter}+{tab}+{tab}{enter}"[/color]
End With
 
objWord.Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
  wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
  ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
  False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
  PrintZoomPaperHeight:=0
Bis auf den roten Teil funktioniert die Automatisierung von Word - wenn ich also das SendKeys weglasse wird das Dokument ganz normal gedruckt. Die Idee wie man den Duplex-Print aktiviert habe ich von MS aus KB194306 http://support.microsoft.com/kb/194306/ (die Tastenfolge habe ich auf meinen LaserJet-Treiber angepasst). Aber irgendetwas stimmt da nicht: der Duplex Modus meines Laserjets wird nicht aktiviert, dafür wird im Editor wo der Code steht eine zusätzliche Leezeile nach dem End With eingeschoben.

Eigentlich gefällt mir die Methode mit SendKeys gar nicht (sprachabhängig und von der Realisation des Treibers abhängig. Im Helpfile hab ich noch was gefunden das den Duplex-Druck auslösen sollte - funktioniert aber leider auch nicht!
Sub test()
Dim myPrinter As Printer
Dim ix As Integer
 
ix = 0
Do
  Set myPrinter = Application.Printers(ix)
  If myPrinter.DeviceName = "WeissWalti PS" Then
    myPrinter.Duplex = acPRDPVertical
    Exit Do
  End If
  ix = ix + 1
Loop
End Sub
Wer kann mir verraten, wie ich das angehen muss?

Erdmännchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Beidseitiger Druck /duplex)1.915Erdmännchen12.01.06 09:54
Die Lösung: Beidseitiger Druck (duplex)810Erdmännchen12.01.06 14:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel