Platí pro
Access pro Microsoft 365 Access 2021 Access 2019 Access 2016

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 Povinný argument. Výraz, který vrátí 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, jako například HP LaserJet IIISi, pokud zadaná tiskárna představuje model 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é ovladači přiřadil jeho vývojář.

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 určující, které zbývající členy ve struktuře DEVMODE se inicializovaly.

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í koeficient, 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 koeficientu scale/100. Například papír o rozměrech 8,5 × 11 palců (formát Letter) s hodnotou Scale 50 by obsahoval tolik dat jako stránka o rozměrech 17 × 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 hertzích (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 * 94End TypePrivate 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 LongEnd TypePublic 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 = NothingEnd 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 přepne orientace na výšku na orientaci na šířku nebo naopak.

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 = NothingEnd Sub

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.