Ισχύει για
Access για Microsoft 365 Access 2021 Access 2019 Access 2016

Ισχύει για

Αντικείμενο Form

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

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

expression.PrtDevMode

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

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

Συνιστούμε θερμά να συμβουλευθείτε το 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 * 94End TypePrivate 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 LongEnd TypePublic 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 = NothingEnd 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 = NothingEnd Sub

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.