PDA

Vollständige Version anzeigen : per VBA - Code die Drucker aufrufen


Ivonne
17.06.2001, 07:29
Hi to all,

Ich würde gerne per VBA - Code die Drucker aufrufen in Windows.

Es muß doch irgend eine Möglichkeit geben, wie (siehe unten) beim Beispiel Explorer aufrufen.

Private Sub Explorer_Click()

Call Shell("c:\winnt\Explorer.exe", vbNormalFocus)

End Sub

Sinn und Zweck:

Es soll damit die Druckereinstellungen aufgerufen werden, dass man nachsehen kann wecher Drucker Standard ist und es nach belieben ändern kann.

Gruß
Ivonne

AWSW
17.06.2001, 09:51
Hallo Ivonne,
frisch aus dem Urlaub zurück, bekommst Du eine meiner (hoffentlich richtigen) Antworten :D

Ich habe für Dich mal etwas unter http://www.donkarl.com gestöbert und bin glaube ich fündig geworden:

---------------------------------------------
5.1 DRUCKER WECHSELN

P r o b l e m
Während des Arbeitens mit einer mdb soll (ohne Öffnen des Berichts-Entwurfes) der Drucker oder der Druckerschacht gewechselt werden.

L ö s u n g
Einfache Varianten:
Du öffnest den Bericht in der Seitenvorschau und rufst das Druckerdialogfenster auf z.B:
DoCmd.OpenReport "Berichtsname", acViewPreview
RunCommand acCmdPrint

Wenn es nur um verschiedene Schubladen oder andere Einstellungen bei einem Drucker geht, kannst du den Drucker mehrfach in Windows installieren und bei den Eigenschaften des Druckers die jeweilige Lade etc. einstellen. Im Bericht verwendest du dann den Drucker mit der gewünschten Lade bzw. mehrere Berichte mit den jeweiligen Druckern. Eine programmatorische Methode wird geschildert in: http://www.microsoft.com/IntlKB/Germany/Support/kb/D40/D40269.HTM

Ansonsten sind zum Wechseln des Druckers komplexe API-Aufrufe notwendig. http://www.microsoft.com/intlkb/germany/support/kb/D40/D40847.htm (NT-Standarddrucker ändern)
Verschiedene fertige Varianten zum Druckerwechseln bei http://www.access-guru.de (obddruck.zip) http://ourworld.compuserve.com/homepages/attac-cg/acgsoft.htm http://www.mcwtech.com/downloads.htm http://www.access-paradies.de
---------------------------------------------

Ich hoffe das hilft Dir weiter...

Hotte
17.06.2001, 14:11
Hallo Ivonne,
ich habe noch eine andere Lösung. Weiß aber nicht, ob das auf jedem Rechner funktioniert.
In der Code-Ansicht musst Du ein ActiveX-Steuerelement registrieren:
Microsoft Common Dialog Control, version 6.0
(Über das Menue - Extras - ActiveX-Steuerelement...)
Wenn Du das ActiveX-Steuerelement registriert hast, kannst Du in der "Toolbox - weitere Steuerelemente" auf das "Microsoft Common Dialog Control" zugreifen und in das Formular einfügen (Oder über "Einfügen - ActiveX-Steuerelement... in der Formular-Ansicht).

Dieses Steuerelement ist zur Laufzeit nicht sichtbar und dient nur zum Aufrufen von Standard-Dialoge aus Windows!

Füge dann eine Befehlsschaltfläche "CB_Drucker" ein.
In den Code "Beim Klicken" der Schaltfläche fügst Du folgendes ein:

Private Sub CB_Drucker_Click()

Me.ActiveXStr31.Flags = cdlPDPrintSetup
Me.ActiveXStr31.ShowPrinter

End Sub

Danach erscheint ein Standard-Dialog, in dem Du den Drucker auswählen kannst - und noch andere Einstellungen. Es wird von hier aber nicht gedruckt!

Ich weiß aber leider nicht, ob das ActiveX-Steuerelement Microsoft Common Dialog Control, version 6.0 auf jedem Rechner zur Verfügung steht!

Hoffentlich funktioniert es bei Dir und es hilft Dir.....

Ivonne
17.06.2001, 16:57
Hi Axel und Hotte,

Danke für Euere Hilfe, ich werde nun die verschiedenen Möglichkeiten ausprobieren.


Gruß
Ivonne

Günther Kramer
17.06.2001, 21:36
Hallo Ivonne,

hole dir die Freeware-Version des AP-Druck-Managers, damit hast du alles, was du brauchst, um den Drucker innerhalb Access mit VBA zu wechseln. Das Tool ist zudem unter allen Betriebssystemen getestet (Win95, 95, Win ME, Windows NT, Windows 2000). http://www.access-paradies.de -> Software-Katalog -> AP-Druck-Manager