Ιδιότητα PrtDevMode

Ισχύει για

Αντικείμενο φόρμας

Αντικείμενο αναφοράς

Μπορείτε να χρησιμοποιήσετε την ιδιότητα PrtDevMode για να ορίσετε ή να δείτε τις πληροφορίες λειτουργίας της συσκευής εκτύπωσης, που έχουν καθοριστεί για μια φόρμα ή αναφορά, στο παράθυρο διαλόγου Εκτύπωση. Μεταβλητή σύνταξης/ανάγνωσης.

expression.PrtDevMode

Η παράσταση είναι υποχρεωτική. Μια παράσταση που επιστρέφει ένα από τα αντικείμενα της λίστας "Iσχύει για".

Παρατηρήσεις

Συνιστούμε θερμά να συμβουλευθείτε το Win32 Software Development Kit, για πλήρη τεκμηρίωση σχετικά με τις ιδιότητες PrtDevMode, PrtDevNames και PrtMip.

Η ρύθμιση ιδιοτήτων PrtDevMode είναι μια δομή 94 byte, η οποία αντιστοιχεί στη δομή DEVMODE που καθορίζεται στο Win32 Software Development Kit. Για πλήρεις πληροφορίες σχετικά με τα μέλη της ιδιότητας PrtDevMode, ανατρέξτε στο Win32 Software Development Kit.

Η ιδιότητα PrtDevMode χρησιμοποιεί τα παρακάτω μέλη.

Μέλος

Περιγραφή

DeviceName

Μια συμβολοσειρά με έως και 32 byte που καθορίζει το όνομα της συσκευής που υποστηρίζει το πρόγραμμα οδήγησης — για παράδειγμα, "HP LaserJet IIISi", εάν ο καθορισμένος εκτυπωτής είναι ο Hewlett-Packard LaserJet IIISi. Κάθε πρόγραμμα οδήγησης εκτυπωτή διαθέτει δική του συμβολοσειρά.

SpecVersion

Ένας Ακέραιος που καθορίζει τον αριθμό έκδοσης της δομής DEVMODE στο Win32 Software Development Kit.

DriverVersion

Ένας Ακέραιος που καθορίζει τον αριθμό έκδοσης του προγράμματος οδήγησης εκτυπωτή που έχει αντιστοιχιστεί από τον κατασκευαστή του προγράμματος οδήγησης.

Size

Ένας Ακέραιος που καθορίζει το μέγεθος, σε byte, της δομής DEVMODE. (Αυτή η τιμή δεν περιλαμβάνει το προαιρετικό μέλος dmDriverData για δεδομένα ειδικά για τη συσκευή, που μπορεί να ακολουθούν αυτήν τη δομή.) Εάν κάποια εφαρμογή χειρίζεται μόνο το τμήμα δεδομένων που είναι ανεξάρτητο από το πρόγραμμα οδήγησης των δεδομένων, μπορείτε να χρησιμοποιήσετε αυτό το μέλος για να βρείτε το μήκος αυτής της δομής, χωρίς να χρειάζεται να λάβετε υπόψη σας τις διαφορετικές εκδόσεις.

DriverExtra

Ένας Ακέραιος που καθορίζει το μέγεθος, σε byte, του προαιρετικού μέλους dmDriverData για δεδομένα ειδικά για τη συσκευή, που μπορεί να ακολουθούν αυτήν τη δομή. Εάν μια εφαρμογή δεν χρησιμοποιεί πληροφορίες ειδικά για τη συσκευή, μπορείτε να ορίσετε αυτό το μέλος σε 0.

Fields

Μια Μεγάλη τιμή που καθορίζει ποια από τα εναπομείναντα μέλη στη δομή DEVMODE έχουν προετοιμαστεί.

Orientation

Ένας Ακέραιος που καθορίζει τον προσανατολισμό του χαρτιού. Μπορεί να είναι 1 (κατακόρυφος) ή 2 (οριζόντιος).

PaperSize

Ένας Ακέραιος που καθορίζει το μέγεθος του χαρτιού εκτύπωσης. Εάν ορίσετε αυτό το μέλος σε 0 ή 256, το μήκος και το πλάτος του χαρτιού καθορίζονται από τα μέλη PaperLength και PaperWidth, αντίστοιχα. Διαφορετικά, μπορείτε να ορίσετε το μέλος PaperSize σε μια προκαθορισμένη τιμή.

PaperLength

Ένας Ακέραιος που καθορίζει το μήκος του χαρτιού σε μονάδες του 1/10 του χιλιοστόμετρου. Αυτό το μέλος ακυρώνει το μήκος χαρτιού που καθορίζεται από το μέλος PaperSize για προσαρμοσμένα μεγέθη χαρτιού ή για συσκευές όπως οι εκτυπωτές ακίδων που μπορούν να εκτυπώσουν σε διάφορα μεγέθη χαρτιού.

PaperWidth

Ένας Ακέραιος που καθορίζει το πλάτος του χαρτιού σε μονάδες του 1/10 του χιλιοστόμετρου. Αυτό το μέλος ακυρώνει το πλάτους χαρτιού που καθορίζεται από το μέλος PaperSize.

Scale

Ένας Ακέραιος που καθορίζει τον συντελεστή κλιμάκωσης για το αποτέλεσμα εκτύπωσης. Το εμφανιζόμενο μέγεθος σελίδας προσαρμόζεται υπό κλίμακα από το φυσικό μέγεθος σελίδας, με συντελεστή κλίμακα/100. Για παράδειγμα, ένα κομμάτι χαρτί με διαστάσεις 8,5 επί 11 ίντσες (μέγεθος Letter) με τιμή κλίμακας 50, θα περιέχει τόσα δεδομένα όσο μια σελίδα με διαστάσεις 17 επί 22 ίντσες, επειδή το εκτυπωμένο κείμενο και τα γραφικά, θα έχουν το μισό από το αρχικό ύψος και πλάτος τους.

Copies

Ένας Ακέραιος που καθορίζει τον αριθμό των αντιτύπων που εκτυπώνονται, εάν η συσκευή εκτύπωσης υποστηρίζει αντίγραφα πολλαπλών σελίδων.

DefaultSource

Ένας Ακέραιος που καθορίζει την προεπιλεγμένη θέση από την οποία γίνεται η τροφοδοσία χαρτιού.

PrintQuality

Ένας Ακέραιος που καθορίζει την ανάλυση του εκτυπωτή. Οι τιμές είναι –4 (υψηλή), –3 (μεσαία), –2 (χαμηλή) και –1 (πρόχειρο).

Color

Ένας Ακέραιος. Για έναν έγχρωμο εκτυπωτή, καθορίζει εάν η εκτύπωση γίνεται με χρώμα. Οι τιμές είναι 1 (έγχρωμη) και 2 (μονόχρωμη).

Duplex

Ένας Ακέραιος. Για έναν εκτυπωτή που υποστηρίζει εκτύπωση διπλής όψης, καθορίζει εάν η εκτύπωση γίνεται και στις δύο πλευρές του χαρτιού. Οι τιμές είναι 1 (απλή), 2 (οριζόντια) και 3 (κατακόρυφη).

YResolution

Ένας Ακέραιος που καθορίζει την ανάλυση στον κατακόρυφο άξονα του εκτυπωτή σε κουκκίδες ανά ίντσα (dpi). Αν ο εκτυπωτής προετοιμάζει αυτό το μέλος, το μέλος PrintQuality καθορίζει την ανάλυση στον άξονα χ του εκτυπωτή σε dpi.

TTOption

Ένας Ακέραιος που καθορίζει πώς θα εκτυπωθούν οι γραμματοσειρές TrueType.

Collate

Ένας Ακέραιος που καθορίζει εάν θα χρησιμοποιείται συρραφή κατά την εκτύπωση πολλαπλών αντιγράφων. Η χρήση αντιγράφων χωρίς συρραφή παρέχει πιο γρήγορη και πιο αποτελεσματική εκτύπωση, διότι τα δεδομένα αποστέλλονται στον εκτυπωτή μόνο μία φορά.

FormName

Μια συμβολοσειρά με μέγιστο αριθμό 16 χαρακτήρων που καθορίζει το μέγεθος του χαρτιού προς χρήση. Για παράδειγμα, "Letter" ή "Legal".

Pad

Μια Μεγάλη τιμή που χρησιμοποιείται για τη συμπλήρωση των κενών διαστημάτων, χαρακτήρων ή τιμών για μελλοντικές εκδόσεις.

Bits

Μια Μεγάλη τιμή που καθορίζει, σε bit ανά pixel, την ανάλυση χρώματος της συσκευής προβολής.

PW

Μια Μεγάλη τιμή που καθορίζει το πλάτος, σε pixel, της ορατής επιφάνειας της συσκευής (οθόνη ή εκτυπωτής).

PH

Μια Μεγάλη τιμή που καθορίζει το ύψος, σε pixel, της ορατής επιφάνειας της συσκευής (οθόνη ή εκτυπωτής).

DFI

Μια Μεγάλη τιμή που καθορίζει τη λειτουργία προβολής της συσκευής.

DFR

Μια Μεγάλη τιμή που καθορίζει τη συχνότητα, σε hertz (κύκλοι ανά δευτερόλεπτο), της συσκευής προβολής σε μια συγκεκριμένη λειτουργία.


ΣΗΜΕΙΩΣΗ : Μπορείτε να ορίσετε την ιδιότητα PrtDevMode χρησιμοποιώντας κώδικα της Visual Basic for Applications (VBA).

Αυτή η ρύθμιση ιδιότητας είναι για ανάγνωση/εγγραφή σε προβολή σχεδίασης ή προβολή διάταξης και μόνο για ανάγνωση σε άλλες προβολές.

Τα προγράμματα οδήγησης εκτυπωτή μπορεί να προσθέτουν δεδομένα ειδικά για τη συσκευή αμέσως μετά τα 94 byte της δομής DEVMODE. Για τον λόγο αυτό, είναι σημαντικό τα δεδομένα DEVMODE που αναφέρθηκαν παραπάνω να μην υπερβαίνουν τα 94 byte.

Μόνο τα προγράμματα οδήγησης εκτυπωτή που εξάγουν τη συνάρτηση ExtDeviceMode χρησιμοποιούν τη δομή DEVMODE.

Μια εφαρμογή μπορεί να ανακτήσει τα μεγέθη και τα ονόματα χαρτιού που υποστηρίζονται από έναν εκτυπωτή, χρησιμοποιώντας τις τιμές DC_PAPERS, DC_PAPERSIZE και DC_PAPERNAMES, για να επικαλεστεί τη συνάρτηση DeviceCapabilities.

Πριν τον ορισμό της τιμής του μέλους TTOption, οι εφαρμογές πρέπει να ανακαλύψουν πώς ένα πρόγραμμα οδήγησης εκτυπωτή μπορεί να χρησιμοποιήσει γραμματοσειρές TrueType, χρησιμοποιώντας την τιμή DC_TRUETYPE για την επίκληση της συνάρτησης DeviceCapabilities.

Παράδειγμα

Το παρακάτω παράδειγμα χρησιμοποιεί την ιδιότητα 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

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να αλλάξετε τον προσανατολισμό της αναφοράς. Αυτό το παράδειγμα αλλάζει τον προσανατολισμό από οριζόντιο σε κατακόρυφο ή από κατακόρυφο σε οριζόντιο, ανάλογα με τον τρέχοντα προσανατολισμό της αναφοράς.

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
Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×