Vlastnost PrtDevMode (Režim tiskového zařízení)

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Platí pro:

Objekt Form (Formulář)

Objekt Report (Sestava)

Vlastnost PrtDevMode lze použít k nastavení režimu tiskového zařízení specifikovaného pro formulář nebo sestavu v dialogovém okně Tisk nebo k získání informací o něm. Čtení/zápis, typ Variant .

výraz.PrtDevMode

výraz Povinný. Výraz, který vrací jeden z objektů seznamu Platí pro.

Poznámky

Doporučujeme prostudovat si úplnou dokumentaci k vlastnostem PrtDevMode, PrtDevNames a PrtMip v sadě Win32 Software Development Kit.

Vlastnost PrtDevMode se nastavuje jako 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.

VlastnostrežimuPrtDevpoužívá následující členy.

Člen

Popis

DeviceName (Název zařízení)

Řetězec o maximální délce 32 bajtů, který určuje název zařízení podporovaný ovladačem - například „HP LaserJet IIISi“, je-li specifikovanou tiskárnou Hewlett-Packard LaserJet IIISi. Každý ovladač tiskárny má svůj jedinečný řetězec.

SpecVersion (Verze specifikace)

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

DriverVersion (Verze ovladače)

Celé číslo, které specifikuje číslo verze ovladače tiskárny přiřazené vývojářem ovladače tiskárny.

Size (Velikost)

Celé číslo, které specifikuje velikost struktury DEVMODE v bajtech. (Tato hodnota nezahrnuje volitelný člen dmDriverData pro data specifická pro zařízení, která mohou následovat za strukturou.) Pokud aplikace pracuje jen s částí dat nezávislou na ovladači, je možné tento člen použít ke zjištění délky této struktury, aniž by bylo nutné brát v úvahu různé verze.

DriverExtra (Extra ovladač)

Celé číslo, které specifikuje velikost volitelného členu dmDriverData v bajtech pro data specifická pro zařízení, která mohou následovat za touto strukturou. Pokud aplikace nepoužívá informace specifické pro zařízení, je možné tento člen nastavit na 0.

Fields (Pole)

A aktualizována hodnota Long, která určuje, u kterých ze zbývajících členů ve struktuře DEVMODE.

Orientation (Orientace)

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

PaperSize (Velikost papíru)

Celé číslo, které určuje velikost papíru pro tisk. Nastavíte-li tento člen na hodnotu 0, popřípadě 256, délka a šířka papíru bude určena členy Délka papíru, popřípadě Šířka papíru. Jinak můžete člen PaperSize nastavit na předdefinovanou hodnotu.

PaperLength (Délka papíru)

Celé číslo, které určuje délku papíru v jednotkách 1/10 milimetru. Tento člen přepíše délku papíru specifikovanou členem PaperSize pro vlastní velikosti papíru nebo pro zařízení, jako jsou jehličkové tiskárny, které mohou tisknout na papíry různé velikosti.

PaperWidth (Šířka papíru)

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

Scale (Měřítko)

Celé číslo, které určuje měřítko tiskového výstupu. Zobrazovaná velikost papíru je rovna fyzické velikosti papíru vynásobené číslem scale/100. Například papír o rozměrech 8,5 krát 11 palců (formát letter) s hodnotou měřítka 50 by obsahoval tolik dat jako stránka o rozměrech 17 krát 22 palců, protože výstupní text a grafika by měly velikost rovnou polovině původní výšky a šířky.

Copies (Počet kopií)

Celé číslo, které určuje počet vytisknutých kopií, jestliže tiskové zařízení podporuje tisk více kopií.

DefaultSource (Výchozí zdroj)

Celé číslo, které určuje výchozí zásobník, z něhož se podává papír.

PrintQuality (Kvalita tisku)

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

Color (Barva)

Celé číslo. Pro barevnou tiskárnu určuje, zda se výstup tiskne barevně. Hodnoty jsou 1 (barevně) a  2 (černobíle).

Duplex

Celé číslo. Pro tiskárnu, která může tisknout duplexně, určuje, zda se výstup tiskne na obě strany papíru. Hodnoty jsou 1 (simplexně), 2 (horizontálně) a 3 (vertikálně).

YResolution (Rozlišení Y)

Celé číslo, které určuje rozlišovací schopnost tiskárny v ose y v bodech na palec (dpi). Jestliže se pro tiskárnu inicializuje tento člen, pak člen PrintQuality (Kvalita tisku) určuje rozlišovací schopnost tiskárny v ose x v jednotkách dpi.

TTOption (Možnost písma TrueType)

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

Collate (Kompletovat)

Celé číslo, které určuje, zda se při tisku několika kopií má použít funkce kompletace. Tisk nekompletovaných kopií je rychlejší a efektivnější, protože data se do tiskárny posílají jen jednou.

FormName (Název formuláře)

Řetězec o maximální délce 16 znaků určující velikost papíru, která se má použít; například „Letter“ nebo „Legal“.

Pad (Výplň)

Hodnota Long, která se používá k vyplnění mezerami, znaky nebo hodnotami pro budoucí verze.

Bits (Počet bitů)

Hodnota Long, která určuje barevné rozlišení zobrazovacího zařízení v bitech na pixel.

PW

Hodnota Long, která určuje šířku viditelné plochy zařízení (obrazovky nebo tiskárny) v pixelech.

PH

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

DFI

Hodnota Long, která určuje zobrazovací režim zařízení.

DFR

Hodnota Long, která určuje frekvenci zobrazovacího zařízení v hertzech (kmitech za sekundu) v určitém režimu.


Poznámka : Můžete nastavit vlastnost PrtDevMode jazyka Visual Basic for Applications (VBA) kód.

Nastavení této vlastnosti je typu zápis/čtení v návrhovém zobrazení nebo v zobrazení rozložení a typu jen čtení v ostatních zobrazeních.

Ovladače tiskárny mohou k vlastnosti DEVMODE připojit data závislá na zařízení, která bezprostředně následují za 94 bajty struktury DEVMODE. Proto je důležité, aby výše uvedená data DEVMODE nepřekročila délku 94 bajtů.

Strukturu DEVMODE používají pouze ovladače tiskáren, které exportují funkci ExtDeviceMode.

Aplikace může načíst velikosti a názvy papíru podporované tiskárnou pomocí hodnot DC_PAPERS, DC_PAPERSIZE a DC_PAPERNAMES použitých k vyvolání funkce DeviceCapabilities.

Před nastavením hodnoty členu TTOption (Možnost písma TrueType) by aplikace měly zjistit, jak může ovladač tiskárny používat písma TrueType, pomocí hodnoty DC_TRUETYPE použité k vyvolání funkce DeviceCapabilities.

Příklad

V následujícím příkladu se vlastnost PrtDevMode používá ke kontrole velikosti stránky definované uživatelem pro sestavu:

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 lze změnit orientaci sestavy. V tomto příkladu se orientace na výšku přepíná na orientaci na šířku nebo obráceně v závislosti na aktuální orientaci sestavy.

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

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

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.

×