Egenskaben PrtDevMode

Gælder for

Formularobjekt

Rapportobjekt

Du kan bruge egenskaben PrtDevMode til at angive eller returnere oplysninger om tilstanden for udskrivningsenheder, der er angivet for en formular eller rapport i dialogboksen Udskriv. Læs/skriv Variant.

udtryk.PrtDevMode

udtryk Påkrævet. Et udtryk, der returnerer et af objekterne på listen Gælder for.

Bemærkninger

Det anbefales stærkt, at du rådfører dig med Win32 Software Development Kit for komplet dokumentation vedr. egenskaberne PrtDevMode, PrtDevNames og PrtMip.

Egenskabsindstillingen PrtDevMode er en 94-byte struktur, som afspejler DEVMODE-strukturen, der er defineret i Win32 Software Development Kit. For komplette oplysninger om PrtDevMode-egenskabsmedlemmerne skal du se Win32 Software Development Kit.

PrtDev Mode-egenskaben bruger de følgende medlemmer.

Medlem

Beskrivelse

DeviceName

En streng med højst 32 bytes, der angiver navnet på enheden, som driveren understøtter – f.eks. "HP LaserJet IIISi", hvis Hewlett-Packard LaserJet IIISi er den angivne printer. Hver printerdriver har en entydig streng.

SpecVersion

Et Heltal, der angiver versionsnummeret for DEVMODE-strukturen i Win32 Software Development Kit.

DriverVersion

Et Heltal, der angiver printerdriverens versionsnummer, som er tildelt af printerdriverudvikleren.

Size

Et Heltal, der angiver størrelsen i byte på DEVMODE-strukturen. (Denne værdi omfatter ikke det valgfrie dmDriverData-medlem for enhedsspecifikke data, der kan følge efter denne struktur.) Hvis et program kun manipulerer den driveruafhængige del af dataene, kan du bruge dette medlem til at finde længden på denne struktur uden at tage højde for forskellige versioner.

DriverExtra

Et Heltal, der angiver størrelsen i bytes, på det valgfrie dmDriverData-medlem for enhedsspecifikke data, der kan følge efter denne struktur. Hvis et program ikke bruger enhedsspecifikke oplysninger, kan du indstille medlemmet til 0.

Fields

En Lang værdi, der angiver, hvilket af de resterende medlemmer i DEVMODE-strukturen, der er blevet initialiseret.

Orientation

Et Heltal, der angiver papirets retning. Det kan være enten 1 (stående) eller 2 (liggende).

PaperSize

Et Heltal, der angiver størrelsen på papiret, der udskrives på. Hvis du indstiller dette medlem til 0 eller 256, er papirets længde og bredde henholdsvis angivet af medlemmerne PaperLength og PaperWidth. Ellers kan du indstille PaperSize-medlemmet til en foruddefineret værdi.

PaperLength

Et Heltal, der angiver papirlængden i enheder på 1/10 af en millimeter. Dette medlem tilsidesætter papirlængden, der er angivet af medlemmet PaperSize for brugerdefinerede papirstørrelser eller for enheder, som f.eks. dot-matrixprintere, der kan udskrive på en række forskellige papirstørrelser.

PaperWidth

Et Heltal, der angiver papirbredden i enheder på 1/10 af en millimeter. Dette medlem tilsidesætter papirbredden, der er angivet af medlemmet PaperSize.

Scale

Et Heltal, der angiver den faktor, som det udskrevne indhold skaleres efter. Den angivne sidestørrelse skaleres fra den fysiske sidestørrelse efter en faktor på skala/100. Et stykke papir, der måler 8,5 x 11 tommer (letter-størrelse) med en Skalaværdi på 50, vil f.eks. indeholde lige så meget data som en side, der måler 17 x 22 tommer, fordi outputteksten og grafikken er halv størrelse i forhold til den oprindelige højde og bredde.

Copies

Et Heltal, der angiver antallet af kopier, som udskrives, hvis udskrivningsenheden understøtter kopier af flere sider.

DefaultSource

Et Heltal, der angiver standardplaceringen, hvorfra papir fødes.

PrintQuality

Et Heltal, der angiver printerens opløsning. Værdierne er –4 (høj), –3 (mellem), –2 (lav) og –1 (kladde).

Color

Et Heltal. For en farveprinter – angiver, om der skal udskrives i farve. Værdierne er 1 (farve) og 2 (sort-hvid).

Duplex

Et Heltal. For en printer med mulighed for dupleks-udskrivning – angiver, om der skal udskrives på begge sider af papiret. Værdier er 1 (simpleks), 2 (vandret) og 3 (lodret).

YResolution

Et Heltal, der angiver printerens y-opløsning i punkter pr. tomme (dpi). Hvis printeren igangsætter dette medlem, så angiver PrintQuality-medlemmet printerens x-opløsning i dpi.

TTOption

Et Heltal, der angiver, hvordan TrueType-skrifttyper udskrives.

Collate

Et Heltal, der angiver, om sortering skal bruges ved udskrivning af flere kopier. Sætvis kopiering giver en hurtigere og mere effektiv udskrivning, fordi dataene kun sendes til printeren én gang.

FormName

En streng på højst 16 tegn, der angiver papirstørrelsen – f.eks. "Letter" eller "Legal".

Pad

En Lang værdi, der bruges til at indsætte mellemrum, tegn eller værdier til fremtidige versioner.

Bits

En Lang værdi, der angiver i bits pr. pixel visningsenhedens farveopløsning.

PW

En Lang værdi, der angiver bredden, i pixel, på den synlige overflade på enheden (skærm eller printer).

PH

En Lang værdi, der angiver højden, i pixel, på den synlige overflade på enheden (skærm eller printer).

DFI

En Lang værdi, der angiver enhedens visningstilstand.

DFR

En Lang værdi, der angiver frekvensen i hertz (cyklusser pr. sekund), for visningsenheden i en bestemt tilstand.


Bemærk: Du kan angive egenskaben PrtDevMode ved hjælp af VBA-kode (Visual Basic for Applications).

Denne egenskabsindstilling har læse/skriveadgang i Designvisning eller Layoutvisning og er skrivebeskyttet i andre visninger.

Printerdrivere kan tilføje enhedsspecifikke data umiddelbart efter de 94 bytes for DEVMODE-strukturen. Af denne grund er det vigtigt, at DEVMODE-dataene beskrevet ovenfor ikke overstiger 94 bytes.

Kun printerdrivere, der eksporterer funktionen ExtDeviceMode, bruger DEVMODE-strukturen.

Et program kan hente de papirstørrelser og navne, der understøttes af en printer, ved hjælp af værdierne DC_PAPERS, DC_PAPERSIZE og DC_PAPERNAMES til at kalde funktionen DeviceCapabilities.

Før du angiver værdien af TTOption-medlemmet, bør programmer finde ud af, hvordan en printerdriver kan bruge TrueType-skrifttyper ved hjælp af DC_TRUETYPE-værdien til at kalde DeviceCapabilities-funktionen.

Eksempel

I følgende eksempel anvendes egenskaben PrtDevMode til at kontrollere den brugerdefinerede sidestørrelse 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

Følgende eksempel viser, hvordan rapportens retning ændres. I dette eksempel ændres retningen fra stående til liggende eller liggende til stående afhængigt af rapportens aktuelle retning.

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
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×