PrtDevMode tulajdonság

Érvényesség

Form objektum

Report objektum

A PrtDevMode tulajdonsággal beállíthatja vagy visszaadhatja a nyomtatóeszköz üzemmódjának a Nyomtatás párbeszédpanelen egy űrlaphoz vagy jelentéshez megadott adatait. Olvasható/írható, Változó adattípusú.

kifejezés.PrtDevMode

A kifejezés megadása kötelező. A kifejezésnek az Érvényesség listában szereplő objektumok egyikét kell visszaadnia.

Megjegyzések

Javasoljuk, hogy a Win32 szoftverfejlesztői készlet tanulmányozásával szerezzen átfogóbb tudást a PrtDevMode, a PrtDevNames és a PrtMip tulajdonságról.

A PrtDevMode tulajdonság beállítása egy olyan 94 bites struktúra, amely megfelel a Win32 szoftverfejlesztői készletben definiált DEVMODE-struktúrának. A PrtDevMode tulajdonság tagjairól minden információt megtalál a Win32 szoftverfejlesztői készletben.

A PrtDevMode tulajdonság a következő tagokat használja.

Tag

Leírás

DeviceName

Egy legfeljebb 32 bájtos karakterlánc, amely az illesztőprogram által támogatott eszköz nevét adja meg – például „HP LaserJet IIISi”, ha a megadott nyomtató a Hewlett-Packard LaserJet IIISi. Minden egyes nyomtatóillesztő-program egyedi karakterláncot használ.

SpecVersion

Egy egész szám, amely a DEVMODE-struktúra Win32 szoftverfejlesztői készletben megtalálható verziószámát adja meg.

DriverVersion

Egy egész szám, amely a nyomtatóillesztő-programnak a fejlesztője által megadott verziószámát adja meg.

Size

Egy egész szám, amely a DEVMODE struktúra méretét adja meg bájtban. (Ez az érték nem tartalmazza az opcionális dmDriverData tagot azoknál az eszközspecifikus adatoknál, amelyek képesek követni ezt a struktúrát.) Ha egy alkalmazás az adatoknak csak az illesztőprogramtól független részére van hatással, akkor ezzel a taggal megállapíthatja a struktúra hosszát anélkül, hogy számolnia kellene a különböző verziókkal.

DriverExtra

Egy egész szám, amely megadja az opcionális dmDriverData tag méretét bájtban azokhoz az eszközspecifikus adatokhoz, amelyek képesek követni ezt a struktúrát. Ha egy alkalmazás nem használ eszközspecifikus adatokat, ezt a tagot 0 értékre kell állítani.

Fields

Egy hosszú érték, amely azt adja meg, hogy a DEVMODE-struktúra fennmaradó tagjai közül melyek lettek inicializálva.

Orientation

Egy egész szám, amely a papír tájolását adja meg. Értéke lehet 1 (álló) vagy 2 (fekvő).

PaperSize

Egy egész szám, amely a nyomtatási papír méretét adja meg. Ha ezt a tagot egy 0 és 256 közé eső értékre állítja, akkor a papír hosszúságát és szélességét a helyzettől függően a PaperLength és a PaperWidth tag fogja megadni. Ellenkező esetben a PaperSize tagot egy előre definiált értékre állíthatja.

PaperLength

Egy egész szám, amely a papír hosszúságát adja meg 0,1 milliméteres egységekben. Ez a tag felülbírálja a PaperSize tag által megadott papírhosszúságot az egyéni papírméretek, illetve az olyan eszközök esetén, mint például a mátrixnyomtatók, amelyek különböző méretű papírokra képesek nyomtatni.

PaperWidth

Egy egész szám, amely a papír szélességét adja meg 0,1 milliméteres egységekben. Ez a tag felülbírálja a PaperSize tag által megadott papírszélességet.

Scale

Egy egész szám, amely azt a tényezőt adja meg, amely alapján a kinyomtatott kimenet méretezése történik. A látható papírméret méretezése a fizikai papírméret alapján történik, méret/100 tényezővel arányosítva. Egy 8,5x11 hüvelyk (Letter) méretű, 50-es méretezési értékkel rendelkező papír például annyi adatot tartalmaz, amennyi egy 17x22 hüvelyk méretű lapon elfér, mivel a kimeneti szöveg és képek magassága és szélessége az eredeti magasság és szélesség fele lesz.

Copies

Egy egész szám, amely a kinyomtatott példányok számát adja meg, ha a nyomtatóeszköz támogatja a többpéldányos nyomtatást.

DefaultSource

Egy egész szám, amely az alapértelmezett papíradagolót adja meg.

PrintQuality

Egy egész szám, amely a nyomtatási felbontást adja meg. Az értékek -4 (magas), -3 (közepes), -2 (alacsony) és -1 (vázlat).

Color

Egy egész szám, amely színes nyomtató esetén megadja, hogy a kimenet nyomtatása színesben történjen-e. Értéke lehet 1 (színes) vagy 2 (monokróm).

Duplex

Egy egész szám, amely a duplex nyomtatásra képes nyomtatók esetén megadja, hogy a kimenet a papír mindkét oldalára legyen-e nyomtatva. Értéke lehet 1 (szimplex), 2 (vízszintes) és 3 (függőleges).

YResolution

Egy egész szám, amely a nyomtató y-felbontását adja meg képpont/hüvelykben (dpi). Ha a nyomtató inicializálja ezt a tagot, a PrintQuality tag a nyomtató x-felbontását adja meg dpi-ben.

TTOption

Egy egész szám, amely megadja, hogy hogyan történjen a TrueType betűtípusok nyomtatása.

Collate

Egy egész szám, amely megadja, hogy többpéldányos nyomtatás esetén legyen-e használatban szétválogatás. Ha szétválogatás nélkül nyomtat, az gyorsabb, hatékonyabb kimenetet biztosít, hiszen az adatokat csak egyszer kell elküldeni a nyomtatónak.

FormName

Egy legfeljebb 16 karakterből álló karakterlánc, amely a használandó papír méretét adja meg; például „Letter” vagy „Legal”.

Pad

Egy hosszú érték, amely szóközök, karakterek vagy jövőbeli verziókra vonatkozó értékek helyének megadására szolgál.

Bits

Egy hosszú érték, amely a megjelenítőeszköz felbontását adja meg bit/képpontban.

PW

Egy hosszú érték, amely a látható eszközfelület (képernyő vagy nyomtató) szélességét adja meg képpontban.

PH

Egy hosszú érték, amely a látható eszközfelület (képernyő vagy nyomtató) magasságát adja meg képpontban.

DFI

Egy hosszú érték, amely az eszköz megjelenítési módját adja meg.

DFR

Egy hosszú érték, amely a megjelenítőeszköz frekvenciáját adja meg hertzben (ciklus/másodperc) egy adott üzemmódban.


Megjegyzés : A PrtDevMode tulajdonságot Visual Basic for Applications (VBA) formátumú kód használatával állíthatja be.

Ez a tulajdonság olvasható/írható Tervező vagy Elrendezés nézetben, a többi nézetben azonban írásvédett.

A nyomtatóillesztő-programok a DEVMODE-struktúra 94 bájtja után közvetlenül vehetik fel az eszközspecifikus adatokat. Emiatt fontos, hogy a DEVMODE fent vázolt adatai ne haladják meg a 94 bájtot.

Csak az ExtDeviceMode funkciót exportáló nyomtatóillesztő-programok használják a DEVMODE-struktúrát.

Az alkalmazások a nyomtató által támogatott papírméreteket és -neveket úgy olvashatják be, hogy a DC_PAPERS, a DC_PAPERSIZE és a DC_PAPERNAMES értékek használatával meghívják a DeviceCapabilities függvényt.

Mielőtt beállítanák a TTOption tag értékét, az alkalmazásoknak ki kell deríteniük, hogy a nyomtatóillesztő-program hogyan tudja használnia a TrueType betűtípusokat. Ehhez az alkalmazások a DC_TRUETYPE érték használatával meghívják a DeviceCapabilities függvényt.

Példa

A következő példa a PrtDevMode tulajdonság használatával ellenőrzi egy jelentés felhasználó által definiált oldalméretét:

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

A következő példa azt mutatja be, hogy hogyan módosítható a jelentés tájolása. A példa alapján a tájolás állóról fekvőre, illetve fekvőről állóra módosítható attól függően, hogy jelenleg milyen a jelentés tájolása.

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
Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×