Toon posts:

Pinter aansturen in VBA (Access)

Pagina: 1
Acties:
  • 187 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Weet iemand hoe ik met code direct een bepaalde printer aanspreek?
Het is namelijk de bedoeling dat als men op een knop drukt dat er dan direct 4X naar een printerpad geprint wordt.

Dus printen naar: \[SERVER]\[PRINTERNAAM]
Ik print nu via een printerdialoogvenster, maar dat is helemaal niet handig omdat ik meteen pagina 1 tm 1 4X wil printen naar 1 bepaalde printer. (gebruikers moeten dan eerst kiezen van pagina 1 tot pagina 1, en 4X)

Alvast bedankt,

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Met het dos commando copy /b printbestand.prn \\server\printernaam kun je dit doen. Dit zou je dan via het Shell commando in VBA kunnen uitvoeren.

Maar je moet dus eerst een printbestand kunnen genereren voordat je dit met het copy commando kunt versturen.

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
Er is totaal geen printbestand aanwezig. Er moet namelijk een Access rapport worden afgedrukt.

Is dit mogelijk via code?? (rechtstreeks naar de printer)

[ Voor 12% gewijzigd door Verwijderd op 05-02-2003 13:31 ]


  • Bu588
  • Registratie: Maart 2000
  • Laatst online: 22-12-2025
Als dit rapport altijd naar die printer moet worden gestuurd, kun je dat instellen bij de page-setup van het rapport (in de ontwerpweergave).

Als je meer opties wilt instellen kun je werken met een zelfgemaakt Type, ik heb daar wel een voorbeeld van (Access 2000). Ik heb er zelf nooit echt mee gewerkt, dus ik weet niet precies wat iedere optie doet en hoe je hem instelt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Type zwtDeviceMode
   dmDeviceName As String * 16
   dmSpecVersion As Integer
   dmDriverVersion As Integer
   dmSize As Integer
   dmDriverExtra As Integer
   dmFields As Long
   dmOrientation As Integer
   dmPaperSize As Integer
   dmPaperlength As Integer
   dmPaperWidth As Integer
   dmScale As Integer
   dmCopies As Integer
   dmDefaultSource As Integer
   dmPrintQuality As Integer
   dmColor As Integer
   dmDuplex As Integer
   dmResolution As Integer
   dmTTOption As Integer
   dmCollate As Integer
   dmFormName As String * 16
   dmPad As Long
   dmBits As Long
   dmPW As Long
   dmDFI As Long
   dmDRr As Long
End Type

Een voorbeeld functie om e.e.a. in te stellen vond ik ook nog:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function KiesAantal(MijnRapport As String, Aantal As Integer)
Dim dm As zwtDevModeStr
Dim DevMode As zwtDeviceMode
DoCmd.OpenReport MijnRapport, acViewDesign
Reports(MijnRapport).Painting = False
If Not IsNull(Reports(MijnRapport).PrtDevMode) Then
    dm.RGB = Reports(MijnRapport).PrtDevMode
    LSet DevMode = dm
    DevMode.dmCopies = Aantal
    LSet dm = DevMode
    Reports(MijnRapport).PrtDevMode = dm.RGB
    DoCmd.SetWarnings False
    DoCmd.DoMenuItem 7, 0, 2
    Reports(MijnRapport).Painting = True
    DoCmd.Close acReport, MijnRapport
    DoCmd.SetWarnings True
End If
End Function

Hopelijk kom je hier wat verder mee....

[ Voor 2% gewijzigd door Bu588 op 05-02-2003 14:33 . Reden: typo ]

Nothing is fool-proof to a sufficiently talented fool...


  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 21-08 16:03
De PrintOut methode is daar speciaal voor gemaakt :) Meer uitleg vind je hier

En met het ActivePrinter Property kan je de actieve printer selecteren

[ Voor 36% gewijzigd door -Klimaks- op 05-02-2003 15:07 ]

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy


Verwijderd

Topicstarter
Ik weet dat het in te stellen is in de ontwerpmodus van het rapport, alleen heb ik hier in het verleden problemen mee gehad omdat sommige windows 98 computers deze printer niet pakken omdat de naam anders is. (Printer wordt namelijk toegewezen aan het rapport op een Win2k machine) Daarom wil ik graag naar het pad printen, die is namelijk altijd hetzelfde op alle computers.

In ieder geval bedankt voor de rest van de code

[ Voor 4% gewijzigd door Verwijderd op 05-02-2003 15:04 ]


Verwijderd

Topicstarter
Weet niemand hoe ik dat kan doen met code?

  • Capa
  • Registratie: November 2002
  • Laatst online: 19-08 09:21
[google=printing vb]

[ Voor 9% gewijzigd door Capa op 06-02-2003 15:46 ]

Pagina: 1