Office
Logi sisse

Atribuut PrtDevMode (Prindiseadme režiim)

Rakenduskoht

Objekt Form

Objekt Report

Atribuuti PrtDevMode saate kasutada dialoogiboksis Printimine vormile või aruandele määratud prindiseadme režiimiteabe seadmiseks või tagastamiseks. Loetav/kirjutatav andmetüüp Variant.

avaldis.PrtDevMode

avaldis (nõutav). Avaldis, mis tagastab mõne objekti, mis on loendis Rakenduskoht.

Märkused

On tungivalt soovitatav, et tutvute atribuutide PrtDevMode, PrtDevNames ja PrtMip täieliku dokumentatsiooniga, mis sisaldub Win32 tarkvaraarenduskomplektis.

Atribuudi PrtDevMode säte on 94-baidine struktuur, mis peegeldab Win32 tarkvaraarenduskomplektis määratletud struktuuri DEVMODE. Rohkem teavet atribuudi PrtDevMode liikmete kohta leiate Win32 tarkvaraarenduskomplektist.

Atribuudil PrtDevMode on järgmised liikmed.

Liige

Kirjeldus

DeviceName

Maksimaalselt 32-baidine string, mis määrab draiveri toega seadme nime, nt „HP LaserJet IIISi“, kui Hewlett-Packard LaserJet IIISi on määratud printer. Iga printeridraiveri string on kordumatu.

SpecVersion

Täisarv, mis määrab struktuuri DEVMODE versiooninumbri Win32 tarkvaraarenduskomplektis.

DriverVersion

Täisarv, mis määrab printeri draiveri looja poolt draiverile antud versiooninumbri.

Size

Täisarv, mis määrab struktuuri DEVMODE mahu baitides. (Väärtus ei sisalda seda struktuuri järgivate seadmepõhiste andmete jaoks valikulist liiget dmDriverData.) Kui rakendus töötleb ainult draiverist sõltumatut andmeosa, saate seda liiget kasutada struktuuri pikkuse väljaselgitamiseks ilma versioonide erinevust arvesse võtmata.

DriverExtra

Täisarv, mis määrab seda struktuuri järgivate seadmepõhiste andmete jaoks valikulise liikme dmDriverData mahu baitides. Kui rakendus ei kasuta seadmepõhist teavet, määrake selle liikme väärtuseks 0.

Fields

Pikk täisarv, mis määrab kindlaks, millised struktuuri DEVMODE ülejäänud liikmed on lähtestatud.

Orientation

Täisarv, mis määrab paberi paigutussuuna. See võib olla kas 1 (vertikaalpaigutus) või 2 (horisontaalpaigutus).

PaperSize

Täisarv, mis määrab printimiseks kasutatava paberi formaadi. Kui määrate selle liikme väärtuseks 0 või 256, määratakse paberi pikkus ja laius vastavalt liikmetega PaperLength (Paberi pikkus) ja PaperWidth (Paberi laius). Muul juhul saate liikme PaperSize (Paberi formaat) seada eelnevalt määratletud väärtuse abil.

PaperLength

Täisarv, mis määrab kindlaks paberi pikkuse ühikutes 1/10 millimeetrit. Kohandatud paberiformaatide korral või mitut formaati paberitele printivate seadmete (nt maatriksprinterite) korral kirjutab see liige üle liikmega PaperSize (Paberi formaat) määratud paberi pikkuse.

PaperWidth

Täisarv, mis määrab kindlaks paberi laiuse ühikutes 1/10 millimeetrit. Liige alistab liikmega PaperSize (Paberi formaat) määratud paberi laiuse.

Scale

Täisarv, mis määrab kindlaks teguri, mille võrra prinditavat väljundit mastaabitakse. Kuvatav lehesuurus mastaabitakse paberi formaadist teguri mastaap/100 abil. Nt võib paberileht suurusega 21,59x27,94 cm (formaat Letter) mastaabiväärtuse 50 korral sisaldada sama palju andmeid kui leht mõõtmetega 43,18x55,88 cm, sest väljundteksti ja -graafika kõrgus ja laius on sel juhul algsest poole väiksemad.

Copies

Täisarv, mis määrab prinditavate eksemplaride arvu (kui prindiseade toetab mitut eksemplari).

DefaultSource

Täisarv, mis määrab paberi söötmisel kasutatava salve vaikeväärtuse.

PrintQuality

Täisarv, mis määrab printeri eraldusvõime. Väärtused on –4 (kõrge), –3 (keskmine), –2 (madal) ja –1 (mustand).

Color

Täisarv. Värviprinteri korral määrab, kas väljund on prinditud värviliselt. Väärtused on 1 (värviline) ja 2 (mustvalge).

Duplex

Täisarv. Määrab kahepoolset printimist võimaldava printeri puhul, kas väljund prinditakse paberi mõlemale poolele. Väärtused on 1 (simpleks), 2 (horisontaalne) ja 3 (vertikaalne).

YResolution

Täisarv, mis määrab printeri y-eraldusvõime punktides tolli kohta (dpi). Kui printer lähtestab selle liikme, siis määrab liige PrintQuality (Prindi kvaliteet) printeri x-eraldusvõime dpi-des (punktides tolli kohta).

TTOption

Täisarv, mis määrab TrueType-fontide printimise viisi.

Collate

Täisarv, mis määrab, kas mitme eksemplari printimisel prinditakse eksemplarhaaval. Kui te ei kasuta eksemplarhaaval printimist, on printimiskiirus suurem, sest andmed saadetakse printerisse ainult üks kord.

FormName

Kuni 16 märgi pikkune string, mis määrab kasutatava paberi formaadi (nt Letter või Legal).

Pad

Pikk täisarv, mida kasutatakse tühikute, märkide ja väärtuste täidistamiseks tulevaste versioonide jaoks.

Bits

Pikk täisarv, mis määrab kuvaseadme värvieraldusvõime bittides piksli kohta.

PW

Pikk täisarv, mis määrab nähtavaloleva seadmepinna (ekraanil või printeril) laiuse pikslites.

PH

Pikk täisarv, mis määrab nähtavaloleva seadmepinna (ekraanil või printeril) kõrguse pikslites.

DFI

Pikk täisarv, mis määrab seadme kuvarežiimi.

DFR

Pikk täisarv, mis määrab kasutatava režiimi puhul kuvaseadme sageduse hertsides (tsüklites sekundi kohta).


Märkus.: Atribuudi PrtDevMode saate määrata Visual Basic for Applicationsi (VBA) koodi abil.

See atribuudisäte on kujundus- ja küljendivaates lugemis-/kirjutamisõigusega ning ülejäänud vaadetes kirjutuskaitstud.

Järgides 94-baidist DEVMODE-struktuuri, saavad printeridraiverid seadmepõhiseid andmeid viivitamatult lisada. Seetõttu on oluline, et eespool liigendatud DEVMODE-andmed ei ületaks mahuliselt 94 baiti.

DEVMODE-struktuuri kasutavad ainult funktsiooni ExtDeviceMode eksportivad printeridraiverid.

Rakendus saab printeri toetatavad paberiformaadid ja -nimed teada, kasutades funktsiooni DeviceCapabilities kutsumiseks väärtusi DC_PAPERS, DC_PAPERSIZE ja DC_PAPERNAMES.

Enne liikme TTOption väärtuse seadmist peaksid rakendused välja selgitama, kuidas printeridraiver saab TrueType-fonte kasutada. Selleks tuleb väärtuse DC_TRUETYPE abil kutsuda funktsioon DeviceCapabilities.

Näide.

Järgmises näites kasutatakse kasutaja poolt aruande jaoks määratletud leheküljesuuruse kontrollimiseks atribuuti PrtDevMode.

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

Järgmises näites kirjeldatakse aruande paigutussuuna muutmist. Sõltuvalt aruande praegusest suunast muudetakse suund vastavalt püstpaigutusest rõhtpaigutuseks või rõhtpaigutusest püstpaigutuseks.

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
Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×