Office
Aanmelden

PrtDevMode (printermodus), eigenschap

Van toepassing op

Form-object

Report-object

Met de eigenschap PrtDevMode kunt u de modusinformatie van het afdrukapparaat instellen of uitlezen die voor een formulier of rapport is opgegeven in het dialoogvenster Afdrukken. Lezen/schrijven Variant.

expressie.PrtDevMode

expressie Vereist. Een expressie die een van de objecten in de lijst Van toepassing op retourneert.

Opmerkingen

Het is zeer raadzaam om de Win32 Software Development Kit te raadplegen voor volledige documentatie over de eigenschappen PrtDevMode, PrtDevNames en PrtMip.

De instelling van de eigenschap PrtDevMode is een structuur van 94 bytes die een weerspiegeling vormt van de structuur DEVMODE zoals gedefinieerd in de Win32 Software Development Kit. Raadpleeg de Win32 Software Development Kit voor volledige informatie over de leden van de eigenschap PrtDevMode.

De eigenschap PrtDevMode maakt gebruik van de volgende leden.

Lid

Beschrijving

DeviceName

Een reeks van maximaal 32 bytes voor de naam van het apparaat dat in het stuurprogramma wordt ondersteund, bijvoorbeeld 'HP LaserJet IIISi' als de Hewlett-Packard LaserJet IIISi de opgegeven printer is. Bij elk printerstuurprogramma hoort een unieke tekenreeks.

SpecVersion

Een Integer met het versienummer van de structuur DEVMODE in de Win32 Software Development Kit.

DriverVersion

Een Integer die het versienummer specificeert van het printerstuurprogramma, zoals toegewezen door de ontwikkelaar van het printerstuurprogramma.

Size

Een Integer die in bytes het formaat specificeert van de structuur DEVMODE. (Deze waarde is exclusief het optionele lid dmDriverData voor apparaatspecifieke gegevens, dat na deze structuur kan worden geplaatst.) Als een toepassing alleen het stuurprogramma-onafhankelijke gedeelte van de gegevens manipuleert, kunt u met dit lid de lengte van deze structuur vaststellen zonder rekening te hoeven houden met verschillende versies.

DriverExtra

Een Integer die in bytes het formaat specificeert van het optionele lid dmDriverData voor apparaatspecifieke gegevens, dat na deze structuur kan worden geplaatst. Als er in een toepassing geen gebruik wordt gemaakt van apparaatspecifieke informatie, stelt u dit lid in op 0.

Fields

Een Long-waarde die aangeeft welke van de resterende leden in de structuur DEVMODE zijn geïnitialiseerd.

Orientation

Een Integer die de afdrukstand van het papier aangeeft. Deze kan 1 zijn (staand) of 2 (liggend).

PaperSize

Een Integer die het formaat aangeeft van het papier waarop wordt afgedrukt. Als u dit lid instelt op 0 of 256, worden de lengte en breedte van het papier respectievelijk bepaald door de leden PaperLength en PaperWidth. Anders kunt u het lid PaperSize instellen op een vooraf gedefinieerde waarde.

PaperLength

Een Integer die de lengte van het papier aangeeft in eenheden van 0,1 millimeter. Bij instelling van dit lid wordt de papierlengte genegeerd die wordt gespecificeerd door het lid PaperSize voor aangepaste papierformaten of voor apparaten zoals matrixprinters, die op verschillende papierformaten kunnen afdrukken.

PaperWidth

Een Integer die de breedte van het papier aangeeft in eenheden van 0,1 millimeter. Bij instellen van dit lid wordt de papierbreedte genegeerd die wordt gespecificeerd door het lid PaperSize.

Scale

Een Integer die de factor aangeeft waarmee het afdrukresultaat wordt geschaald. De resulterende paginagrootte wordt geschaald op basis van de fysieke paginagrootte met een factor schaal/100. Een stuk papier van 8,5 bij 11 inch (Letter-formaat) met een waarde Scale van 50 bevat bijvoorbeeld evenveel gegevens als een pagina van 17 bij 22 inch, aangezien de afgedrukte tekst en graphics half zo hoog en breed zijn als het origineel.

Copies

Een Integer die het aantal afgedrukte exemplaren specificeert, indien het afdrukapparaat exemplaren van meerdere pagina's ondersteunt.

DefaultSource

Een Integer die de standaardlade specificeert waaruit het papier wordt ingevoerd.

PrintQuality

Een Integer die de afdrukresolutie aangeeft. De waarden zijn -4 (hoog), -3 (gemiddeld), -2 (laag) en -1 (concept).

Color

Een Integer. Geeft voor een kleurenprinter aan of het resultaat in kleur wordt afgedrukt. De waarden zijn 1 (kleur) en 2 (monochroom).

Duplex

Een Integer. Geeft voor een printer die dubbelzijdig kan afdrukken aan of het resultaat op beide kanten van het papier wordt afgedrukt. De waarden zijn 1 (enkelzijdig), 2 (horizontaal) en 3 (verticaal).

YResolution

Een Integer die de y-resolutie van de printer aangeeft in punten (dots) per inch (dpi). Als de printer dit lid initialiseert, specificeert het lid PrintQuality de x-resolutie van de printer in dpi.

TTOption

Een Integer die specificeert hoe TrueType-lettertypen worden afgedrukt.

Collate

Een Integer die aangeeft of de exemplaren moeten worden gesorteerd als er meerdere exemplaren worden afgedrukt. Niet-gesorteerde exemplaren afdrukken geeft een sneller, efficiënter resultaat omdat de gegevens maar één keer naar de printer hoeven te worden gestuurd.

FormName

Een tekenreeks van maximaal 16 tekens dat het formaat aangeeft van het gebruikte papier, bijvoorbeeld 'Letter' of 'Legal'.

Pad

Een Long-waarde die wordt gebruikt voor het opvullen van spaties, tekens of waarden voor toekomstige versies.

Bits

Een Long-waarde die in bits per pixel de kleurenresolutie van het weergaveapparaat specificeert.

PW

Een Long-waarde die in pixels de breedte specificeert van het zichtbare apparaatoppervlak (scherm of printer).

PH

Een Long-waarde die in pixels de hoogte specificeert van het zichtbare apparaatoppervlak (scherm of printer).

DFI

Een Long-waarde die de weergavemodus van het apparaat specificeert.

DFR

Een Long-waarde die in hertz (cycli per seconde) de frequentie van het weergaveapparaat in een bepaalde modus specificeert.


Opmerking: U kunt de eigenschap PrtDevMode met VBA-code (Visual Basic for Applications) instellen.

Deze eigenschapsinstelling is lezen/schrijven in de ontwerpweergave en de indelingsweergave, en alleen-lezen in andere weergaven.

Printerstuurprogramma's kunnen direct na de 94 bytes van de structuur DEVMODE apparaatspecifieke gegevens toevoegen. Het is belangrijk dat informatie die is opgenomen na de eerste 94 bytes van de DEVMODE-gegevens, niet wordt overschreven.

Alleen printerstuurprogramma's die de functie ExtDeviceMode exporteren, maken gebruik van de structuur DEVMODE.

De papierformaten en -namen die op de printer worden ondersteund, kunnen worden opgehaald door de functie DeviceCapabilities aan te roepen met de waarden DC_PAPERS, DC_PAPERSIZE en DC_PAPERNAMES.

Voordat de waarde van het lid TTOption wordt ingesteld, moet eerst worden bepaald hoe een printerstuurprogramma TrueType-lettertypen kan gebruiken. Hiertoe wordt met de waarde DC_TRUETYPE de functie DeviceCapabilities aangeroepen.

Voorbeeld

In het onderstaande voorbeeld wordt met behulp van de eigenschap PrtDevMode gecontroleerd welk papierformaat de gebruiker voor een rapport heeft gedefinieerd:

Private Type str_DEVMODE
RGB As String * 94
End Type
Private Type type_DEVMODE
strDeviceName As String * 32
intSpecVersion As Integer
intDriverVersion As Integer
intSize As Integer
intDriverExtra As Integer
lngFields As Long
intOrientation As Integer
intPaperSize As Integer
intPaperLength As Integer
intPaperWidth As Integer
intScale As Integer
intCopies As Integer
intDefaultSource As Integer
intPrintQuality As Integer
intColor As Integer
intDuplex As Integer
intResolution As Integer
intTTOption As Integer
intCollate As Integer
strFormName As String * 32
lngPad As Long
lngBits As Long
lngPW As Long
lngPH As Long
lngDFI As Long
lngDFr As Long
End Type
Public Sub CheckCustomPage(ByVal rptName As String)
Dim DevString As str_DEVMODE
Dim DM As type_DEVMODE
Dim strDevModeExtra As String
Dim rpt As Report
Dim intResponse As Integer
' Opens report in Design view.
DoCmd.OpenReport rptName, acDesign
Set rpt = Reports(rptName)
If Not IsNull(rpt.PrtDevMode) Then
strDevModeExtra = rpt.PrtDevMode
' Gets current DEVMODE structure.
DevString.RGB = strDevModeExtra
LSet DM = DevString
If DM.intPaperSize = 256 Then
' Display user-defined size.
intResponse = MsgBox("The current custom page size is " & _
DM.intPaperWidth / 254 & " inches wide by " & _
DM.intPaperLength / 254 & " inches long. Do you want " & _
"to change the settings?", vbYesNo + vbQuestion)
Else
' Currently not user-defined.
intResponse = MsgBox("The report does not have a custom page size. " & _
"Do you want to define one?", vbYesNo + vbQuestion)
End If
If intResponse = vbYes Then
' User wants to change settings. Initialize fields.
DM.lngFields = DM.lngFields Or DM.intPaperSize Or _
DM.intPaperLength Or DM.intPaperWidth
' Set custom page.
DM.intPaperSize = 256
' Prompt for length and width.
DM.intPaperLength = InputBox("Please enter page length in inches.") * 254
DM.intPaperWidth = InputBox("Please enter page width in inches.") * 254
' Update property.
LSet DevString = DM
Mid(strDevModeExtra, 1, 94) = DevString.RGB
rpt.PrtDevMode = strDevModeExtra
End If
End If
Set rpt = Nothing
End Sub

In het volgende voorbeeld ziet u hoe u de afdrukstand van het rapport kunt wijzigen. Met dit voorbeeld wordt de afdrukstand Staand gewijzigd in Liggend of omgekeerd, afhankelijk van de huidige afdrukstand van het rapport.

Public Sub SwitchOrient(ByVal strName As String)
Const DM_PORTRAIT = 1
Const DM_LANDSCAPE = 2
Dim DevString As str_DEVMODE
Dim DM As type_DEVMODE
Dim strDevModeExtra As String
Dim rpt As Report
' Opens report in Design view.
DoCmd.OpenReport strName, acDesign
Set rpt = Reports(strName)
If Not IsNull(rpt.PrtDevMode) Then
strDevModeExtra = rpt.PrtDevMode
DevString.RGB = strDevModeExtra
LSet DM = DevString
DM.lngFields = DM.lngFields Or DM.intOrientation
' Initialize fields.
If DM.intOrientation = DM_PORTRAIT Then
DM.intOrientation = DM_LANDSCAPE
Else
DM.intOrientation = DM_PORTRAIT
End If
' Update property.
LSet DevString = DM
Mid(strDevModeExtra, 1, 94) = DevString.RGB
rpt.PrtDevMode = strDevModeExtra
End If
Set rpt = Nothing
End Sub
Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×