Gjelder for
Access for Microsoft 365 Access 2021 Access 2019 Access 2016

Gjelder for

Skjemaobjekt

Report-objektet

Du kan bruke egenskapen PrtDevMode til å angi eller returnere modusinformasjon for en skriverenhet spesifisert for et skjema eller en rapport i dialogboksen Skriv ut. Variant for lesing/skriving.

uttrykk.PrtDevMode

uttrykk Påkrevd. Et uttrykk som returnerer ett av objektene i Gjelder for-listen.

Merknader

Det anbefales sterkt at du slår opp i Win32 Software Development Kit for fullstendig dokumentasjon om egenskapene PrtDevMode, PrtDevNames og PrtMip.

Innstillingen for egenskapen PrtDevMode er en struktur på 94 byte som gjenspeiler DEVMODE-strukturen som er definert i Win32 Software Development Kit. Slå opp i Win32 Software Development Kit for all informasjon om medlemmene av egenskapen PrtDevMode.

Egenskapen Mode i PrtDev bruker de følgende medlemmene.

Medlem

Beskrivelse

DeviceName

En streng med maksimalt 32 byte som angir navnet på enheten som driveren støtter, for eksempel «HP LaserJet IIISi» hvis Hewlett-Packard LaserJet IIISi er den angitte skriveren. Hver skriverdriver har en unik streng.

SpecVersion

Et heltall som angir versjonsnummeret til DEVMODE-strukturen i Win32 Software Development Kit.

DriverVersion

Et heltall som angir skriverens versjonsnummer som er angitt av utvikleren av skriverdriveren.

Size

Et heltall som angir størrelsen på DEVMODE-strukturen i byte. (Denne verdien inkluderer ikke det valgfrie dmDriverData-medlemmet for enhetsspesifikke data, som kan følge denne strukturen.) Hvis et program påvirker bare den driveruavhengige delen av dataene, kan du bruke dette medlemmet til å finne strukturlengden uten å måtte ta hensyn til forskjellige versjoner.

DriverExtra

Et heltall som angir størrelsen på det valgfrie dmDriverData-medlemmet i byte for enhetsspesifikke data, som kan følge denne strukturen. Hvis et program ikke bruker enhetsspesifikk informasjon, kan du angi dette medlemmet til 0.

Fields

En lang verdi som angir hvilke av de gjenværende medlemmene i DEVMODE-strukturen som er initialisert.

Orientation

Et heltall som angir retningen på papiret. Det kan være enten 1 (stående) eller 2 (liggende).

PaperSize

Et heltall som angir størrelsen på papiret som skrives ut. Hvis du setter dette medlemmet til 0 eller 256, angis lengden og bredden på papiret av henholdsvis medlemmene PaperLength og PaperWidth. Hvis ikke kan du angi PaperSize-medlemmet til en forhåndsdefinert verdi.

PaperLength

Et heltall som angir papirlengden i enheter på 1/10 millimeter. Dette medlemmet overstyrer papirlengden som er angitt av PaperSize-medlemmet for egendefinerte papirstørrelser eller for enheter som matriseskrivere som kan skrives ut på en rekke forskjellige papirstørrelser.

PaperWidth

Et heltall som angir papirbredden i enheter på 1/10 millimeter. Dette medlemmet overstyrer papirbredden som angis av PaperSize-medlemmet.

Scale

Et heltall som angir skaleringsfaktoren for utskriften. Den effektive sidestørrelsen skaleres fra den fysiske sidestørrelsen med en faktor på skala/100. Et papir som måler 8,5 x 11 tommer (Letter-størrelse), vil med en skalaverdi på 50 for eksempel inneholde så mye data som en side som måler 17 x 22 tommer, fordi utdatateksten og grafikken vil være halvparten av den opprinnelige høyden og bredden.

Copies

Et heltall som angir hvor mange eksemplarer som skrives ut hvis skriveren støtter kopier av flere sider.

DefaultSource

Et heltall som angir standardskuffen som papiret mates fra.

PrintQuality

Et heltall som angir skriveroppløsning. Verdiene er – 4 (høy), – 3 (middels), – 2 (lav) og – 1 (kladd).

Color

Et heltall. Angir om utskriften skrives ut i farger på en fargeskriver. Verdiene er 1 (farge) og 2 (svart-hvitt).

Duplex

Et heltall. Angir om utskriften skrives ut på begge sider av papiret på en skriver som støtter dobbeltsidig utskrift. Verdiene er 1 (enkeltsidig), 2 (vannrett) og 3 (loddrett).

YResolution

Et heltall som angir skriverens y-oppløsning i punkt per tomme (ppt). Hvis skriveren initialiserer dette medlemmet, angir PrintQuality-medlemmet skriverens x-oppløsning i ppt.

TTOption

Et heltall som angir hvordan TrueType-skrifter skrives ut.

Collate

Et heltall som angir om sortering skal brukes ved utskrift av flere eksemplarer. Bruk av usorterte eksemplarer gir raskere og mer effektiv utskrift fordi dataene bare sendes til skriveren én gang.

FormName

En streng med maksimalt 16 tegn som angir papirstørrelsen som brukes, for eksempel Letter eller Legal.

Pad

En lang verdi som brukes til å fylle ut mellomrom, tegn eller verdier for fremtidige versjoner.

Bits

En lang verdi som angir fargeoppløsningen på visningsenheten i biter per piksel.

PW

En lang verdi som angir bredden på enhetens synlige overflate i piksler (skjerm eller skriver).

PH

En lang verdi som angir høyden på enhetens synlige overflate i piksler (skjerm eller skriver).

DFI

En lang verdi som angir enhetens visningsmodus.

DFR

En lang verdi som angir frekvensen til visningsenheten i en bestemt modus i hertz (sykluser per sekund).

Obs!: Du kan angi egenskapen PrtDevMode ved å bruke VBA-kode (Visual Basic for Applications).

Denne egenskapsinnstillingen kan leses og skrives til i utformingsvisning og oppsettvisning og bare leses i andre visninger.

Skriverdrivere kan legge til enhetsspesifikke data rett etter de 94 bytene i DEVMODE-strukturen. Derfor er det viktig at DEVMODE-dataene som beskrives ovenfor, ikke overskrider 94 byte.

Bare skriverdrivere som eksporterer ExtDeviceMode-funksjonen, bruker DEVMODE-strukturen.

Et program kan hente papirstørrelser og -navn som støttes av en skriver, ved å bruke verdiene DC_PAPERS, DC_PAPERSIZE og DC_PAPERNAMES til å kalle opp DeviceCapabilities-funksjonen.

Før verdien av TTOption-medlemmet angis, bør programmer finne ut hvordan en skriverdriver kan bruke TrueType-skrifter, ved å bruke DC_TRUETYPE-verdien til å kalle opp DeviceCapabilities-funksjonen.

Eksempel

Det følgende eksemplet bruker egenskapen PrtDevMode til å kontrollere den brukerdefinerte sidestørrelsen for en rapport:

Private Type str_DEVMODE    RGB As String * 94End TypePrivate 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 LongEnd TypePublic 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 = NothingEnd Sub

Det følgende eksemplet viser hvordan du kan endre retningen for rapporten. Dette eksemplet endrer papirretningen fra stående til liggende eller fra liggende til stående avhengig av den gjeldende papirretningen til rapporten.

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 = NothingEnd Sub

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.