Vlastnosť PrtDevMode

Vzťahuje sa na

Objekt Form

Objekt Report

Vlastnosť PrtDevMode môžete použiť na nastavenie alebo vrátenie informácii o režime tlačového zariadenia, ktoré sú špecifikované pre formulár alebo zostavu v dialógovom okne Tlačiť. Variant na čítanie a zapisovanie.

výraz.PrtDevMode

výraz (povinný) Výraz, ktorý vráti jeden z objektov v zozname Vzťahuje sa na.

Poznámky

Dôrazne sa odporúča pozrieť si úplnú dokumentáciu k vlastnostiam PrtDevMode, PrtDevNames a PrtMip v súprave Win32 Software Development Kit.

Vlastnosť PrtDevMode je 94-bajtová štruktúra, ktorá zrkadlí štruktúru DEVMODE definovanú v súprave Win32 Software Development Kit. Úplné informácie o členoch vlastnosti PrtDevMode získate v súprave Win32 Software Development Kit.

Vlastnosť PrtDevMode používa nasledovných členov.

Člen

Popis

Názov zariadenia

Reťazec podporuje maximálne 32 bajtov, ktoré určujú názov zariadenia podporovaného ovládačom, napríklad HP LaserJet IIISi, ak je zadanou tlačiarňou Hewlett-Packard LaserJet IIISi. Každý ovládač tlačiarne má jedinečný reťazec.

SpecVersion

Celé číslo, ktoré určuje číslo verzie štruktúry DEVMODE v súprave Win32 Software Development Kit.

DriverVersion

Celé číslo, ktoré určuje číslo verzie ovládača tlačiarne priradené vývojárom ovládača tlačiarne.

Veľkosť

Celé číslo, ktoré určuje veľkosť štruktúry DEVMODE v bajtoch. (Táto hodnota nezahŕňa voliteľného člena dmDriverData týkajúceho sa údajov špecifických pre zariadenie, ktoré môžu využívať túto štruktúru.) Ak aplikácia pracuje iba s časťou údajov, ktoré sú nezávislé na ovládači, môžete tohto člena používať na zisťovanie dĺžky štruktúry bez nutnosti zohľadňovania rôznych verzií.

DriverExtra

Celé číslo, ktoré určuje veľkosť voliteľného člena dmDriverData týkajúceho sa údajov špecifických pre zariadenie, ktoré môžu využívať túto štruktúru. Ak aplikácia nepoužíva informácie špecifické pre zariadenie, nastavte tohto člena na hodnotu 0.

Polia

Hodnota Long, ktorá určuje, ktorí zo zostávajúcich členov štruktúry DEVMODE boli inicializovaní.

Orientácia

Celé číslo, ktoré určuje orientáciu papiera. Môže mať hodnotu 1 (na výšku) alebo 2 (na šírku).

Veľkosť papiera

Celé číslo, ktoré určuje veľkosť papiera, ktorý sa použije pri tlači. Ak nastavíte tohto člena na hodnotu 0 alebo 256, dĺžka a šírka papiera budú určené členmi PaperLength a PaperWidth. Ak nie, môžete nastaviť člena Veľkosť papiera na preddefinovanú hodnotu.

PaperLength

Celé číslo, ktoré určuje dĺžku papiera v jednotkách s veľkosťou minimálne 1/10 milimetra. Tento člen prepíše dĺžku papiera, ktorá je zadaná pomocou člena Veľkosť papiera pre vlastné veľkosti papiera alebo pre zariadenia ako ihličkové tlačiarne, ktoré dokážu tlačiť na papieri s rôznymi veľkosťami.

PaperWidth

Celé číslo, ktoré určuje šírku papiera v jednotkách s veľkosťou minimálne 1/10 milimetra. Tento člen prepíše šírku papiera, ktorá je zadaná pomocou člena Veľkosť papiera.

Mierka

Celé číslo, ktoré určuje koeficient, ktorým sa mení mierka tlačeného výstupu. Pravá veľkosť strany sa stanovuje zmenou mierky skutočnej veľkosti strany a koeficientu mierka/100. Napríklad papier s rozmermi 8,5 x 11 palcov (listový formát) s mierkou v hodnote 50 by obsahoval rovnaký počet údajov ako strana s rozmermi 17 x 22 palcov, pretože výsledný text a grafika by mali iba polovicu ich pôvodnej výšky a šírky.

Kópie

Celé číslo, ktoré určuje počet kópií na vytlačenie, ak zariadenie podporuje viacstranového kópie.

DefaultSource

Celé číslo, ktoré určuje predvolený zásobník, z ktorého sa podáva papier.

PrintQuality

Celé číslo, ktoré určuje rozlíšenie tlačiarne. Hodnoty sú – 4 (vysoká), – 3 (stredná) – 2 (nízka), a -1 (koncept).

Farba

Celé číslo. Vo farebných tlačiarňach určuje, či sa má tlačiť farebne alebo nie. Hodnoty sú 1 (farebne) a 2 (čiernobielo).

Obojstranne

Celé číslo. V tlačiarňach umožňujúcich obojstrannú tlač určuje, či sa má tlačiť na oboch stranách papiera. Hodnoty sú 1 (jednostranne), 2 (vodorovne) a 3 (zvislo).

YResolution

Celé číslo, ktoré určuje rozlíšenie na osi y tlačiarne v počte bodov na palec (dpi). Ak tlačiareň inicializuje tohto člena, člen PrintQuality určuje rozlíšenie na osi x tlačiarne v dpi.

TTOption

Celé číslo, ktoré určuje, ako sa vytlačia písma TrueType.

Zoradiť

Celé číslo, ktoré určuje, či sa má pri tlači viacerých kópií použiť zoradenie. Nezoradenie kópií znamená rýchlejšiu a efektívnejšiu tlač, pretože údaje sa do tlačiarne odosielajú iba raz.

FormName

Reťazec s maximálne 16 znakmi, ktorý určuje veľkosť použitého papiera. Napríklad nastavenia List alebo Právne.

Pad

Hodnota Long, ktorá sa používa ako výplň pre medzery, znaky alebo hodnoty v budúcich verziách.

Bits

Hodnota Long, ktorá určuje farebné rozlíšenie v bitoch na pixel zobrazovacieho zariadenia.

PW

Hodnota Long, ktorá určuje šírku v pixeloch viditeľnej plochy zariadenia (obrazovky alebo tlačiarne).

PH

Hodnota Long, ktorá určuje výšku v pixeloch viditeľnej plochy zariadenia (obrazovky alebo tlačiarne).

DFI

Hodnota Long, ktorá určuje režim zobrazenia zariadenia.

DFR

Hodnota Long, ktorá určuje frekvenciu v Hz (cykly za sekundu) zobrazovacieho zariadenia v konkrétnom režime.


Poznámka: Vlastnosť PrtDevMode môžete nastaviť pomocou kódu programu Visual Basic for Applications (VBA).

Táto vlastnosť je v návrhovom zobrazení alebo zobrazení rozloženia nastavená na čítanie a zapisovanie, a v ostatných zobrazeniach iba na čítanie.

Ovládače tlačiarní môžu pridávať údaje špecifické pre zariadenie hneď po 94 bajtoch štruktúry DEVMODE. Z tohto dôvodu je dôležité, aby údaje štruktúry DEVMODE neprekračovali veľkosť 94 bajtov.

Štruktúru DEVMODE môžu používať iba ovládače tlačiarní, ktoré exportujú funkciu ExtDeviceMode.

Aplikácia môže načítať veľkosti a názvy papiera podporované tlačiarňou vykonaním funkcie DeviceCapabilities pomocou hodnôt DC_PAPERS, DC_PAPERSIZE a DC_PAPERNAMES.

Pred nastavením hodnoty člena TTOption, by aplikácie mali zistiť, ako ovládač tlačiarne používa písma TrueType vykonaním funkcie DeviceCapabilities pomocou hodnoty DC_TRUETYPE.

Príklad

V nasledujúcom príklade sa používa vlastnosť PrtDevMode na kontrolu veľkosti strany zadanej používateľom pre zostavu:

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

V nasledujúcom príklade sa predvádza, ako zmeniť orientáciu zostavy. V tomto príklade sa uskutoční zmena orientácie Na výšku na orientáciu Na šírku alebo z orientácie Na šírku na orientáciu Na výšku v závislosti od aktuálnej orientácie zostavy.

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
Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×