Proprietatea PrtDevMode

Se aplică la

Obiectul Form

Obiectul Report

Puteți utiliza proprietatea PrtDevMode pentru a seta sau a returna informațiile specificate despre modul dispozitivului de imprimare pentru un formular sau un raport în caseta de dialog Imprimare. Variant în citire/scriere.

expresie.PrtDevMode

expresie Obligatoriu. O expresie care returnează unul dintre obiectele din lista Se aplică la.

Observații

Se recomandă ferm să consultați Kitul de dezvoltare software Win32 pentru documentația completă despre proprietățile PrtDevMode, PrtDevNames și PrtMip.

Setarea proprietății PrtDevMode este o structură pe 94 de byți care oglindește structura DEVMODE definită în Kitul de dezvoltare software Win32. Pentru informații complete despre membrii proprietății PrtDevMode, consultați Kitul de dezvoltare software Win32.

Proprietatea PrtDevMode utilizează următorii membri.

Membru

Descriere

DeviceName

Un șir cu un număr maxim de 32 de byți care specifică numele dispozitivului acceptat de driver, de exemplu, „HP LaserJet IIISi”, dacă Hewlett-Packard LaserJet IIISi este imprimanta specificată. Fiecare driver de imprimantă are un șir de caractere unic.

SpecVersion

Un număr întreg care specifică numărul de versiune al structurii DEVMODE în Kitul de dezvoltare de software Win32.

DriverVersion

Un număr întreg care specifică numărul de versiune al driverului imprimantei atribuit de dezvoltatorul driverului de imprimantă.

Size

Un număr întreg care specifică dimensiunea, în byți, a structurii DEVMODE. (Această valoare nu include membrul opțional dmDriverData pentru datele specifice dispozitivului, care poate urma după această structură.) Dacă o aplicație manipulează doar porțiunea independentă de driver a datelor, puteți utiliza acest membru pentru a afla lungimea acestei structuri fără a fi nevoie să vă preocupe diferitele versiuni.

DriverExtra

Un număr întreg care specifică dimensiunea, în byți, a membrului opțional dmDriverData pentru datele specifice de dispozitiv, care poate urma această structură. Dacă o aplicație nu utilizează informații specifice dispozitivului, setați acest membru la 0.

Fields

O valoare Lungă care specifică care dintre membrii rămași în structura DEVMODE au fost inițializați.

Orientation

Un număr întreg care specifică orientarea hârtiei. Acesta poate fi 1 (portret) sau 2 (vedere).

PaperSize

Un număr întreg care specifică dimensiunea hârtiei pe care se imprimă. Dacă setați acest membru la 0 sau 256, lungimea și lățimea hârtiei sunt specificate de membrii PaperLength, respectiv PaperWidth. În caz contrar, puteți seta membrul PaperSize la o valoare predefinită.

PaperLength

Un număr întreg care specifică lungimea hârtiei în unități de 1/10 dintr-un milimetru. Acest membru înlocuiește lungimea de hârtie specificată de membrul PaperSize pentru dimensiunile de hârtie particularizate sau pentru dispozitive cum ar fi imprimantele matriciale ce pot imprima pe o varietate de dimensiuni de hârtie.

PaperWidth

Un număr întreg care specifică lățimea hârtiei în unități de 1/10 dintr-un milimetru. Acest membru înlocuiește lățimea de hârtie specificată de membrul PaperSize.

Scale

Un număr întreg care specifică factorul după care va fi scalată ieșirea imprimării. Dimensiunea de pagină aparentă este scalată din dimensiunea paginii fizice după un factor de scară/100. De exemplu, o foaie de hârtie cu dimensiunea de 21,6 pe 28 cm (dimensiune Letter) cu o valoare de scară de 50 ar conține la fel de multe date ca o pagină cu dimensiunea de 43,2 pe 56 cm, deoarece textul de ieșire și ilustrațiile ar fi la jumătate din înălțimea și lățimea lor originale.

Copies

Un număr întreg care specifică numărul de copii imprimate, dacă dispozitivul de imprimare acceptă copierea mai multor pagini.

DefaultSource

Un număr întreg care specifică recipientul implicit din care se va face alimentarea cu hârtie.

PrintQuality

Un număr întreg care specifică rezoluția imprimantei. Valorile sunt –4 (mare), –3 (mediu), –2 (minim) și –1 (schiță).

Color

Un număr întreg. Pentru o imprimantă color, specifică dacă ieșirea să fie imprimată color. Valorile sunt 1 (color) și 2 (monocrom).

Duplex

Un număr întreg. Pentru o imprimantă cu capacități de imprimare duplex, specifică dacă ieșirea este imprimată pe ambele fețe ale hârtiei. Valorile sunt 1 (simplex), 2 (orizontal) și 3 (vertical).

YResolution

Un număr întreg care specifică rezoluția y a imprimantei în puncte pe inchi (dpi). Dacă imprimanta inițializează acest membru, membrul PrintQuality specifică rezoluția x a imprimantei în dpi.

TTOption

Un număr întreg care specifică modalitatea de imprimare a fonturilor TrueType.

Collate

Un număr întreg care specifică dacă trebuie utilizată asamblarea atunci când se imprimă mai multe copii. Utilizarea de copii neasamblate oferă rezultate mai rapide și mai eficiente, deoarece datele se trimit imprimantei o singură dată.

FormName

Un șir cu un număr maxim de 16 caractere care specifică dimensiunea hârtiei de utilizat; de exemplu, „Letter” sau „Legal”.

Pad

O valoare Lungă care este utilizată pentru a completa cu spații, caractere sau valori, pentru versiunile viitoare.

Bits

O valoare Lungă care specifică în byți per pixel rezoluția de culori a dispozitivului de afișare.

PW

O valoare Lungă care specifică lățimea, în pixeli, a suprafeței vizibile a dispozitivului (ecran sau imprimantă).

PH

O valoare Lungă care specifică înălțimea, în pixeli, a suprafeței vizibile a dispozitivului (ecran sau imprimantă).

DFI

O valoare Lungă care specifică modul de afișare a dispozitivului.

DFR

O valoare Lungă care specifică frecvența, în hertzi (cicluri pe secundă), a dispozitivului de afișare într-un anumit mod.


Notă : Puteți seta proprietatea PrtDevMode utilizând cod Visual Basic for Applications (VBA).

Această setare de proprietate este în citire/scriere în Vizualizarea proiect sau în Vizualizarea aspect, și doar în citire în alte vizualizări.

Driverele de imprimantă pot adăuga date specifice dispozitivelor imediat după cei 94 de byți din structura DEVMODE. Din acest motiv, este important ca datele DEVMODE prezentate mai sus să nu depășească 94 de byți.

Doar driverele de imprimantă care exportă funcția ExtDeviceMode utilizează structura DEVMODE.

O aplicație poate regăsi dimensiunile de hârtie și numele acceptate de o imprimantă utilizând valorile DC_PAPERS, DC_PAPERSIZE și DC_PAPERNAMES pentru a apela funcția DeviceCapabilities.

Înainte de a seta valoarea membrului TTOption, aplicațiile trebuie să afle cum poate un driver de imprimantă să utilizeze fonturi TrueType utilizând valoarea DC_TRUETYPE pentru a apela funcția DeviceCapabilities.

Exemplu

Următorul exemplu utilizează proprietatea PrtDevMode pentru a verifica dimensiunea paginii definite de utilizator pentru un raport:

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

Următorul exemplu vă arată cum să modificați orientarea raportului. Acest exemplu va comuta orientarea de la portret la vedere sau de la vedere la portret, în funcție de orientarea curentă a raportului.

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
Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×