Käytetään kohteeseen
Access for Microsoft 365 Access 2021 Access 2019 Access 2016

Koskee seuraavia

Lomakeobjekti

Raporttiobjekti

Voit käyttää PrtDevMode-ominaisuutta Tulosta-valintaikkunassa määriteltyä lomaketta tai raporttia koskevan tulostinlaitteen tilatiedon määrittämiseen tai palauttamiseen. Muuttuja, jolla on luku-/kirjoitusoikeudet.

lauseke.PrtDevMode

lauseke Pakollinen. Lauseke, joka palauttaa jonkin Koskee seuraavia -luettelon objekteista.

Huomautuksia

On erittäin suositeltavaa, että tutustut Win32-ohjelmistonkehityspaketin (SDK) sisältämään kattavaan PrtDevMode-, PrtDevNames- ja PrtMip-ominaisuuksien dokumentaatioon.

PrtDevMode-ominaisuusasetus on 94-tavuinen rakenne, joka vastaa Win32-ohjelmistonkehityspaketissa määriteltyä DEVMODE-rakennetta. Katso Win32-ohjelmistonkehityspaketista täydelliset tiedot PrtDevMode-ominaisuuden jäsenistä.

PrtDev Mode-ominaisuus käyttää seuraavia jäseniä.

Jäsen

Kuvaus

DeviceName

Enintään 32 tavun kokonaisluku (merkkijono), joka määrittää laiteohjaimen tukeman laitteen nimen – esimerkiksi ”HP LaserJet IIISi”, jos määritetty tulostin on Hewlett-Packard LaserJet IIISi. Jokaisella tulostinohjaimella on yksilöllinen merkkijono.

SpecVersion

Kokonaisluku, joka määrittää DEVMODE-rakenteen versionumeron Win32-ohjelmistonkehityspaketissa.

DriverVersion

Kokonaisluku, joka määrittää tulostinohjaimen kehittäjän tulostinohjaimelle määrittämän versionumeron.

Size

Kokonaisluku, joka määrittää DEVMODE-rakenteen koon tavuina. (Tämä arvo ei sisällä valinnaista dmDriverData-jäsentä tätä rakennetta mahdollisesti seuraavalle laitekohtaiselle tiedolle.) Jos sovellus käsittelee vain tietojen ohjaimesta riippumatonta osaa, voit käyttää tätä jäsentä tämän rakenteen pituuden selvittämiseen ottamatta huomioon eri versioita.

DriverExtra

Kokonaisluku, joka määrittää tätä rakennetta mahdollisesti seuraavan tiedon dmDriverData-jäsenen pituuden tavuina. Jos sovellus ei käytä laitekohtaisia tietoja, tämä jäsen asetetaan arvoon 0.

Fields

Pitkä kokonaislukuarvo, joka määrittää, mitkä DEVMODE-rakenteen jäljellä olevista jäsenistä on alustettu.

Orientation

Kokonaisluku, joka määrittää paperin suunnan. Se voi olla joko 1 (pystysuunta) tai 2 (vaaka).

PaperSize

Kokonaisluku, joka määrittää tulostuspaperin koon. Jos asetat tämän jäsenen arvoksi 0 tai 256, paperin pituus ja leveys määräytyvät PaperLength- ja PaperWidth-jäsenten mukaan. Muussa tapauksessa voit asettaa PaperSize-jäsenelle ennalta määritetyn arvon.

PaperLength

Kokonaisluku, joka määrittää paperin pituuden millimetrin kymmenesosina. Tämä jäsen ohittaa PaperSize-jäsenen määrittämän mukautettujen paperikokojen paperipituuden sekä hyvin monenkokoisille papereille tulostavien laitteiden, kuten pistematriisitulostimien, paperipituusasetukset.

PaperinLeveys

Kokonaisluku, joka määrittää paperin leveyden millimetrin kymmenesosina. Tämä jäsen ohittaa PaperSize-jäsenen yhteydessä määritetyn paperinleveysasetuksen.

Scale

Kokonaisluku, joka määrittää tulosteen skaalaustekijän. Sivun näennäiskoko skaalataan sivun fyysisestä koosta tekijän mittakaava/100 mukaan. Jos paperin koko on esimerkiksi 8,5 kertaa 11 tuumaa (Letter-koko), ja mittakaavan arvo on 50, paperi sisältää yhtä paljon tietoa kuin 17 kertaa 22 tuuman kokoinen paperi sisältäisi, koska tulosteen teksti ja kuvat ovat puolta pienemmät.

Copies

Kokonaisluku, joka määrittää tulostettavien kopioiden lukumäärän, jos tulostuslaite tukee monisivuisia kopioita.

DefaultSource

Kokonaisluku, joka määrittää paperinsyötön oletuskaukalon.

PrintQuality

Kokonaisluku, joka määrittää tulostimen tarkkuuden. Arvot ovat – 4 (erinomainen), – 3 (keskitaso), – 2 (matala) ja – 1 (luonnos).

Color

Kokonaisluku. Väritulostimessa tämä määrittää, käytetäänkö tulostuksessa väriä. Arvot ovat 1 (väri) ja 2 (mustavalkoinen).

Duplex

Kokonaisluku. Jos tulostin kykenee kaksipuoliseen tulostukseen, tämä määrittää, tulostetaanko paperin molemmille puolille. Arvot ovat 1 (yksipuolinen), 2 (vaakasuuntainen) ja 3 (pystysuuntainen).

YResolution

Kokonaisluku, joka määrittää tulostimen y-tarkkuuden pisteinä tuumaa kohti (dpi). Jos tulostin alustaa tämän jäsenen, PrintQuality-jäsen määrittää tulostimen x-tarkkuuden dpi-yksikköinä.

TTOption

Kokonaisluku, joka määrittää, miten TrueType-fontit tulostuvat.

Collate

Kokonaisluku, joka määrittää, käytetäänkö lajittelutoimintoa tulostettaessa useita kopioita. Lajittelemattomat kopiot tulostuvat nopeammin ja tehokkaammin, koska tiedot lähetetään tulostimeen vain kerran.

FormName

Korkeintaan 16 merkin merkkijono, joka määrittää käytettävän paperikoon, esimerkiksi Letter tai Legal.

Pad

Pitkä kokonaislukuarvo, jonka perusteella lisätään välilyöntejä, merkkejä tai vastaisten versioiden numeroita.

Bits

Pitkä kokonaislukuarvo, joka määrittää näyttölaitteen väritarkkuuden bitteinä pikseliä kohti.

PW

Pitkä kokonaislukuarvo, joka määrittää pikseleinä laitteen (näytön tai tulostimen) näkyvän pinnan leveyden.

PH

Pitkä kokonaislukuarvo, joka määrittää pikseleinä laitteen (näytön tai tulostimen) näkyvän pinnan korkeuden.

DFI

Pitkä kokonaislukuarvo, joka määrittää laitteen näyttötilan.

DFR

Pitkä kokonaislukuarvo, joka määrittää näyttölaitteen taajuuden hertseinä (sykleinä sekunneissa) tietyssä tilassa.

Huomautus: Voit määrittää PrtDevMode-ominaisuuden käyttämällä Visual Basic for Applications (VBA) -koodia.

Ominaisuuden asetus on rakenne- ja asettelunäkymässä luku ja kirjoitus, muissa näkymissä vain luku.

Tulostinohjaimet voivat lisätä laitekohtaisia tietoja heti DEVMODE-rakenteen 94 tavun perään. Tästä syystä on tärkeää, että yllä kuvatut DEVMODE-tiedot eivät ole 94:ää tavua pitempiä.

Vain sellaiset tulostinohjaimet, jotka vievät ExtDeviceMode-funktion, käyttävät DEVMODE-rakennetta.

Sovellus voi hakea tulostimen tukemia paperikokoja ja niiden nimiä käyttämällä DC_PAPERS-, DC_PAPERSIZE- ja DC_PAPERNAMES-arvoja DeviceCapabilities-funktion kutsumiseen.

Ennen TTOption-jäsenen arvon määrittämistä sovellusten tulisi selvittää, kuinka tulostinohjain voi käyttää TrueType-fontteja, käyttämällä DC_TRUETYPE-arvoa DeviceCapabilities-funktion kutsumiseen.

Esimerkki

Seuraavassa esimerkissä käytetään PrtDevMode-ominaisuutta käyttäjän raportille määrittämän sivukoon selvittämiseen:

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

Seuraava esimerkki näyttää, miten raportin paperin suuntaa voi muuttaa. Tässä esimerkissä suunta vaihdetaan vaakasuunnasta pystysuuntaiseksi tai pystysuuntaisesta vaakasuuntaiseksi sen mukaan, mikä raportin nykyinen suuntaus on.

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

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.