Office
Log på

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 på det kraftigste, at du rådfører dig med Win32 Software Development Kit for at se den komplette dokumentation vedr. egenskaberne PrtDevMode, PrtDevNames og PrtMip.

Egenskaben PrtDevMode er en 94-byte struktur, som afspejler den DEVMODE-struktur, der er defineret i Win32 Software Development Kit. Du finder komplette oplysninger om medlemmerne i egenskaben PrtDevMode i Win32 Software Development Kit.

Egenskaben PrtDevMode bruger 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, for 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 medlemmet PaperSize 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 fremføres.

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 dupleksudskrivning – 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 medlemmet PrintQuality 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 visningsenhedens farveopløsning i bits pr. pixel.

PW

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

PH

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

DFI

En Lang værdi, der angiver enhedens visningstilstand.

DFR

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


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

×