PrtDevMode-egenskap

Gjelder for

Form-objektet

Report-objektet

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

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 for PrtDevMode, PrtDevNames og PrtMip.

Egenskapsinnstillingen for PrtDevMode er en struktur på 94 byte som gjenspeiler strukturen DEVMODE, som er definert i Win32 Software Development Kit. Slå opp i Win32 Software Development Kit for all informasjon om egenskapsmedlemmene i PrtDevMode.

Egenskapen Modus 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 strukturen DEVMODE i Win32 Software Development Kit.

DriverVersion

Et heltall som angir skriverens versjonsnummer som er angitt av skriverens driverutvikler.

Size

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

DriverExtra

Et heltall som angir størrelsen på det valgfrie medlemmet dmDriverData i bytes, 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 strukturen DEVMODE 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 medlemmet PaperSize 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 medlemmet PaperSize 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 medlemmet PaperSize.

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 for eksempel måler 8,5 x 11 tommer (brevstø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 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, for 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 starter dette medlemmet, angir medlemmet PrintQuality 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 kopier. Bruk av usorterte kopier gir raskere og mer effektive utdata, fordi dataene sendes til skriveren bare én gang.

FormName

En streng med maksimalt 16 tegn som angir papirstørrelsen som brukes, for eksempel «Brev» eller «Juridisk».

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).


Merknad: Du kan angi PrtDevMode ved å bruke Visual Basic for Applications, VBA-kode.

Denne egenskapen har lese-/ skrivetilgang i utformingsvisning eller oppsettvisning, og kun lesetilgang i andre visninger.

Skriverdrivere kan legge til enhetsspesifikke data rett etter de 94 bytene på strukturen DEVMODE. Derfor er det viktig at DEVMODE-data som beskrevet ovenfor ikke overskrider 94 byte.

Bare skriverdrivere som eksporterer funksjonen ExtDeviceMode bruker strukturen DEVMODE.

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 funksjonen DeviceCapabilities.

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

Eksempel

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

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

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 rapportens gjeldende papirretning.

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
Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×