Vlastnost PrtDevMode

Platí pro

Objekt Form

Objekt Report

Pomocí vlastnosti PrtDevMode lze nastavit nebo vrátit informace o režimu tisku zařízení, které jsou pro formulář nebo sestavu zadané v dialogovém okně Tisk. Typ Variant (Neurčený typ) pro čtení/zápis.

výraz.PrtDevMode

Výraz je povinný. Musí to být výraz, který vrací jeden z objektů v seznamu Platí pro.

Poznámky

Důrazně doporučujeme, abyste se seznámili s úplnou dokumentací k vlastnostem PrtDevMode, PrtDevNames a PrtMip v sadě Win32 Software Development Kit.

Nastavení vlastnosti PrtDevMode je 94bajtová struktura, která zrcadlí strukturu DEVMODE definovanou v sadě Win32 Software Development Kit. Úplné informace o členech vlastnosti PrtDevMode najdete v sadě Win32 Software Development Kit.

Vlastnost PrtDevMode používá následující členy.

Člen

Popis

DeviceName

Řetězec s maximálním počtem 32 bajtů určující název zařízení, které daný ovladač podporuje – například „HP LaserJet IIISi“, pokud zadaná tiskárna je Hewlett-Packard LaserJet IIISi Ovladač každé tiskárny má jedinečný řetězec.

SpecVersion

Celé číslo, které určuje číslo verze struktury DEVMODE v sadě Win32 Software Development Kit

DriverVersion

Celé číslo určující číslo verze ovladače tiskárny, které přidělil vývojář ovladače tiskárny

Size

Celé číslo, které určuje velikost struktury DEVMODE (v bajtech). (Tato hodnota nezahrnuje volitelný člen dmDriverData pro data specifická pro jednotlivá zařízení, který může následovat za touto strukturou.) Pokud aplikace zpracovává jenom část dat, která je nezávislá na ovladači, můžete pomocí tohoto člena zjistit délku této struktury, aniž by se musely brát v úvahu jiné verze.

DriverExtra

Celé číslo určující velikost (v bajtech) volitelného členu dmDriverData pro data specifická pro jednotlivá zařízení, který může následovat za touto strukturou. Pokud aplikace nepoužívá informace specifické pro jednotlivá zařízení, nastavíte pro tento člen hodnotu 0.

Fields

Dlouhé celé číslo, které určuje, které zbývající členy ve struktuře DEVMODE jsou inicializované

Orientation

Celé číslo, které určuje orientaci papíru. Může mít hodnotu 1 (na výšku) nebo 2 (na šířku).

PaperSize

Celé číslo, které určuje formát papíru pro tisk. Pokud nastavíte tento člen na hodnotu 0 nebo 256, určují délku a šířku papíru členy PaperLength a PaperWidth v uvedeném pořadí. Jinak můžete nastavit člen PaperSize na předdefinovanou hodnotu.

PaperLength

Celé číslo, které určuje délku papíru v jednotkách 1/10 milimetru. Tento člen přepíše délku papíru určenou členem PaperSize a používá se pro vlastní formáty papíru nebo pro zařízení, která můžou tisknout na různé formáty papíru, například jehličkové tiskárny.

PaperWidth

Celé číslo, které určuje šířku papíru v jednotkách 1/10 milimetru. Tento člen přepíše šířku papíru určenou členem PaperSize.

Scale

Celé číslo určující faktor, podle kterého se přizpůsobí měřítko pro vytištěný výstup. Skutečná velikost stránky se určí z fyzické velikosti stránky podle faktoru scale/100. Například papír o rozměrech 8,5 x 11 palců (formát letter) s hodnotou Scale 50 by obsahoval tolik dat jako stránka o rozměrech 17 x 22 palců, protože text a grafika výstupu by byly poloviční oproti původní výšce a šířce.

Copies

Celé číslo určující počet tištěných kopií, pokud zařízení pro tisk podporuje vícestránkové kopie

DefaultSource

Celé číslo určující výchozí zásobník, ze kterého se papír podává

PrintQuality

Celé číslo, které určuje rozlišení tiskárny. Hodnoty jsou -4 (vysoká), -3 (střední), -2 (nízká) a -1 (koncept).

Color

Celé číslo. U barevné tiskárny určuje, jestli se výstup vytiskne barevně. Hodnoty jsou 1 (barevně) a 2 (monochromaticky).

Duplex

Celé číslo. U tiskárny umožňující oboustranný tisk určuje, jestli se výstup vytiskne na obě strany papíru. Hodnoty jsou 1 (jednostranný tisk), 2 (vodorovně) a 3 (svisle).

YResolution

Celé číslo, které určuje rozlišení tiskárny v ose Y v bodech na palec (dpi). Pokud tiskárna inicializuje tento člen, určuje rozlišení tiskárny v ose X v bodech na palec (dpi) člen PrintQuality.

TTOption

Celé číslo, které určuje, jak se vytisknou písma TrueType.

Collate

Celé číslo, které určuje, jestli se má při tisku více kopií použít kompletování. Tisk bez kompletování kopií je rychlejší a efektivnější, protože data se odesílají na tiskárnu jenom jednou.

FormName

Řetězec s maximálním počtem 16 znaků, který určuje formát používaného papíru, například Letter nebo Legal

Pad

Dlouhé celé číslo, které se používá k doplnění mezer, znaků nebo hodnot pro budoucí verze

Bits

Dlouhé celé číslo, které určuje barevné rozlišení zobrazovacího zařízení (v bitech na pixel)

PW

Dlouhé celé číslo, které určuje šířku viditelné plochy zařízení (obrazovky nebo tiskárny) v pixelech

PH

Dlouhé celé číslo, které určuje výšku viditelné plochy zařízení (obrazovky nebo tiskárny) v pixelech

DFI

Dlouhé celé číslo, které určuje režim zobrazení zařízení

DFR

Dlouhé celé číslo, které určuje frekvenci zobrazovacího zařízení v konkrétním režimu (v cyklech za sekundu)


Poznámka : Vlastnost PrtDevMode můžete nastavit pomocí kódu jazyka VBA (Visual Basic for Applications).

Tato vlastnost je nastavená pro čtení/zápis v návrhovém zobrazení nebo v zobrazení rozložení a jen pro čtení v jiných zobrazeních.

Ovladače tiskárny můžou přidávat data specifická pro jednotlivá zařízení hned za 94 bajtů struktury DEVMODE. Proto je důležité, aby data DEVMODE uvedená výše nepřekročila velikost 94 bajtů.

Strukturu DEVMOD používají jenom ovladače tiskárny, které exportují funkci ExtDeviceMode.

Aplikace může načítat formáty a názvy papíru podporované tiskárnou pomocí hodnot DC_PAPERS, DC_PAPERSIZE a DC_PAPERNAMES, které volají funkci DeviceCapabilities.

Před nastavením hodnoty člena TTOption by aplikace měly zjistit, jak ovladač tiskárny může používat písma TrueType, pomocí hodnoty DC_TRUETYPE, která volá funkci DeviceCapabilities.

Příklad

V následujícím příkladu se pomocí vlastnosti PrtDevMode zjišťuje uživatelem definovaná velikost stránky sestavy:

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

Následující příklad ukazuje, jak změnit orientaci sestavy. V tomto příkladu se v závislosti na aktuální orientaci sestavy orientace přepne z orientace na výšku na orientaci na šířku, nebo z orientace na šířku na orientaci na výšku.

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šiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×