Veröffentlicht 3. Februar 200322 j Hallo Leute, ich möchte gerne von Access aus ein Word - Dokument drucken. So weit ganz gut, aber bisher kann ich nur auf dem Standarddrucker drucken. Ich möchte aber auch gezielt Drucker, Ein-/Ausgabefächer und den Duplexdruck ansteuern können. Hat jemand eine Idee? Hier mal meine Funktion: Public Function Word_Datei_Drucken(Datei As String) Dim oWordApp As Word.Application Dim oWord As Word.Document Set oWordApp = New Word.Application oWordApp.Visible = False oWordApp.ActivePrinter = "Xerox Doc Centre 460" Set oWord = oWordApp.Documents.Add(Datei) oWord.PrintOut False oWordApp.Quit End Function
3. Februar 200322 j Benutz doch einfach einen CommonDialog. Mit dem Ding kannst du auch Drucker auswählen.
3. Februar 200322 j Kann ich damit auch Fächer und Duplex steuern? Wie Funktioniert der denn genau? Gruß Alex
3. Februar 200322 j Ich nehme mal an, du arbeitest an einem VB-Projekt. Der commonDialog ist der Microsoft Common Dialog Control, bei mir in der Version 6.0. und muss über Komponenten... in das Projekt eingebunden werden. VB kann mit dem Printer-Objekt nur auf den Standartdrucker drucken. Soll ein anderer Drucker als dieser verwendet werden, gibt es im Grunde genommen nur zwei Möglichkeiten: 1. Der andere Drucker wird als Standartdrucker deffiniert. Dann kann man auf dem gewählten Drucker mit den im Druckerdialog vorgenommenen Einstellungen drucken. Der Nachteil ist, das der ausgewählte Drucker auch für andere Anwendungen dann der Standartdrucker ist. Auf jedem System gibt es nur einen Standartdrucker und die durch den Druckerdialog vorgenommenen Eistellungen sind Systemeinstellungen. 2. den Commondialog so konfigurieren, das er einen hDC (device context) zurückgibt. mit diesem dc kann man mit VB-Bordmitteln allerdings nicht viel anfangen. Der Druckjob muss dann über die WinAPI gedreht werden. Wie das für Word gehen soll, weiss ich allerdings nicht. Beispielcode für 1: On Error Resume Next CommonDialog1.PrinterDefault = True CommonDialog1.CancelError = True CommonDialog1.ShowPrinter If Err Then Exit Sub End If On Error GoTo 0 Beispielcode für 2: On Error Resume Next CommonDialog1.PrinterDefault = False CommonDialog1.Flags = cdlPDReturnDC CommonDialog1.CancelError = True CommonDialog1.ShowPrinter If Err Then Exit Sub End If hDC = CommonDialog1.hDC 'hDC als long deklariert On Error GoTo 0
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.