PrtDevMode-ominaisuus

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 on the PrtDevMode-ominaisuuden jäsenistä.

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

Jäsen

Kuvaus

Laitenimi

Enintään 32 tavun 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.

Koko

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 erilaisia 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.

Kentät

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

Suunta

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

Paperikoko

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 PaperinPituus- ja PaperinLeveys-jäsenten mukaan. Muussa tapauksessa voit asettaa Paperikoko-jäsenelle ennalta määritetyn arvon.

PaperinPituus

Kokonaisluku, joka määrittää paperin pituuden millimetrin kymmenesosina. Tämä jäsen ohittaa Paperikoko-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 Paperikoko-jäsenen yhteydessä määritetyn paperinleveysasetuksen.

Mittakaava

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.

Kopiot

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

Oletuslähde

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

Tulostuslaatu

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

Väri

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

Kaksipuolinen

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, Tulostuslaatu-jäsen määrittää tulostimen x-tarkkuuden dpi-yksikköinä.

TTOption

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

Lajittele

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.

Lomakenimi

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

Pad

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

Bits

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

PW

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

PH

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

DFI

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

DFR

Pitkä arvo, joka määrittelee 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 * 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

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 = Nothing
End Sub
Kehitä Office-taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×