Proprietà PrtDevMode

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

Si applica a

Oggetto Form

Oggetto Report

È possibile utilizzare la proprietà PrtDevMode per impostare o restituire le informazioni sulla modalità della periferica di stampa specificate per una maschera o un report nella finestra di dialogo Stampa. Valore Variant di lettura/scrittura.

espressione.PrtDevMode

espressione Obbligatorio. Espressione che restituisce uno degli oggetti dell'elenco Si applica a.

Osservazioni

Per una documentazione completa relativa alle proprietà PrtDevMode, PrtDevNames e PrtMip, si consiglia di consultare Win32 Software Development Kit.

L'impostazione della proprietà PrtDevMode è una struttura a 94 byte che riflette la struttura DEVMODE definita in Win32 Software Development Kit. Per informazioni dettagliate sui membri della proprietà PrtDevMode, consultare Win32 Software Development Kit.

La proprietà dimodalitàPrtDevutilizza i seguenti membri.

Membro

Descrizione

DeviceName

stringa con un massimo di 32 byte che specifica il nome della periferica supportata dal driver, ad esempio "HP LaserJet IIISi" se la stampante specificata è una Hewlett-Packard LaserJet IIISi. Ogni driver di stampante dispone di una stringa univoca.

SpecVersion

Un Integer che specifica il numero di versione della struttura DEVMODE in Win32 Software Development Kit.

DriverVersion

Valore intero che specifica il numero di versione del driver di stampante assegnato dallo sviluppatore del driver di stampante.

Dimensioni

Valore intero che specifica la dimensione in byte della struttura DEVMODE. Questo valore non include il membro facoltativo dmDriverData per i dati specifici della periferica. Il membro facoltativo può essere posizionato dopo questa struttura. Se un'applicazione modifica solo la parte di dati indipendente dal driver, è possibile utilizzare questo membro per ricavare la lunghezza della struttura senza dover considerare versioni diverse.

DriverExtra

Valore intero che specifica la dimensione in byte del membro facoltativo dmDriverData per i dati specifici della periferica. Il membro facoltativo può essere posizionato dopo questa struttura. Se un'applicazione non utilizza informazioni specifiche della periferica, impostare questo membro su 0.

Campi

A valore Long che specifica quali membri rimanenti nella struttura DEVMODE inizializzato.

Orientamento

Valore intero che specifica l'orientamento del foglio. È possibile impostare 1 (verticale) o 2 (orizzontale).

PaperSize

Valore intero che specifica le dimensioni del foglio su cui viene eseguita la stampa. Se questo membro viene impostato su 0 o 256, l'altezza e la larghezza del foglio vengono specificate rispettivamente dalle proprietà PaperLength e PaperWidth. In caso contrario, è possibile impostare il membro PaperSize su un valore predefinito.

PaperLength

Valore intero che specifica la lunghezza del foglio in unità pari a 1/10 di millimetro. Questo membro sostituisce la lunghezza del foglio specificata tramite il membro PaperSize per dimensioni di foglio personalizzate o per periferiche quali le stampanti a matrice di punti in grado di stampare su una vasta gamma di dimensioni di foglio.

PaperWidth

Valore intero che specifica la larghezza del foglio in unità pari a 1/10 di millimetro. Questo membro sostituisce la larghezza del foglio specificata tramite il membro PaperSize.

Scala

Valore intero che specifica il fattore di scala in base applicato all'output stampato. Le dimensioni apparenti della pagina vengono ridimensionate rispetto alle dimensioni fisiche della pagina di un fattore di scala percentuale. Ad esempio, se si utilizza un foglio che misura 21,6 x 27,9 cm (formato lettera) e si imposta il membro Scale su 50, verrà inclusa una quantità di dati uguale a quella inclusa in una pagina che misura 43,2 per 55,8 cm, poiché il testo e le immagini di output avranno l'altezza e la larghezza dimezzate rispetto a quelle originarie.

Copie

Valore intero che specifica il numero di copie stampate se la periferica di stampa supporta la copia multiple.

DefaultSource

Valore intero che specifica il cassetto di alimentazione predefinito.

PrintQuality

Valore intero che specifica la risoluzione della stampante. I valori disponibili sono –4 (alta), –3 (media), –2 (bassa) e –1 (bozza).

Colore

Valore intero. Per stampanti a colori specifica se l'output verrà stampato a colori. I valori disponibili sono 1 (a colori) e 2 (monocromatico).

Duplex

Valore intero. Per stampanti che supportano la stampa fronte retro specifica se l'output verrà stampato su entrambi i lati del foglio. I valori disponibili sono 1 (singolo), 2 (orizzontale) e 3 (verticale).

YResolution

Valore intero che specifica la risoluzione y della stampante in DPI (Dots Per Inch, punti per pollice). Se la stampante inizializza questo membro, il membro PrintQuality specifica la risoluzione x in DPI della stampante.

TTOption

Valore intero che specifica la modalità di stampa dei tipi di carattere TrueType.

Collate

Valore intero che specifica se utilizzare l'ordinamento in caso di stampa di più copie. L'utilizzo di copie non ordinate consente di ottenere un output più veloce ed efficiente poiché i dati vengono inviati alla stampante solo una volta.

FormName

Stringa contenente un massimo di 16 caratteri che specifica la dimensione la dimensione del foglio da utilizzare, ad esempio "Lettera" o "Legale".

Pad

Valore LV (valore lungo, Long Value) utilizzato per riempire spazi, caratteri o valori per le versioni successive.

Bit

Valore LV (valore lungo, Long Value) che specifica in bit per pixel la risoluzione di colori della periferica di visualizzazione.

PW

Valore LV (valore lungo, Long Value) che specifica la larghezza, in pixel, della superficie visibile della periferica (schermo o stampante).

PH

Valore LV (valore lungo, Long Value) che specifica l'altezza, in pixel, della superficie visibile della periferica (schermo o stampante).

DFI

Valore LV (valore lungo, Long Value) che specifica la modalità di visualizzazione della periferica.

DFR

Valore LV (valore lungo, Long Value) che specifica la frequenza, in hertz (cicli al secondo), della periferica di visualizzazione in una modalità specifica.


Nota : È possibile impostare la proprietà PrtDevMode utilizzando Visual Basic, Applications Edition (VBA).

L'impostazione di questa proprietà è in lettura/scrittura nella visualizzazione Struttura o Layout e di sola lettura nelle altre visualizzazioni.

I driver delle stampanti possono aggiungere dati specifici della periferica subito dopo i 94 della struttura DEVMODE. Per tale motivo, è importante che i dati DEVMODE precedentemente descritti non superino i 94 byte.

Solo i driver di stampante che esportano la funzione ExtDeviceMode utilizzano la struttura DEVMODE.

Un'applicazione può recuperare le dimensioni e i nomi di foglio supportati dalla stampante chiamando la funzione DeviceCapabilities tramite i valori DC_PAPERS, DC_PAPERSIZE e DC_PAPERNAMES.

Prima di impostare il valore del membro TTOption, le applicazioni dovrebbero verificare come un driver di stampante è in grado di utilizzare i tipi di carattere TrueType chiamando la funzione DeviceCapabilities tramite il valore DC_TRUETYPE.

Esempio

Nell'esempio seguente la proprietà PrtDevMode viene utilizzata per controllare le dimensioni di pagina definite dall'utente per un report:

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

Nell'esempio seguente viene illustrato come modificare l'orientamento del report. L'orientamento viene modificato da verticale a orizzontale oppure da orizzontale a verticale a seconda dell'orientamento corrente del report.

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

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×