Sifat PrtDevMode

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Digunakan pada

Borang objek

Laporan objek

Anda boleh menggunakan sifat PrtDevMode Setkan atau kembali pencetakan maklumat mod peranti yang ditentukan untuk borang atau laporan dalam kotak dialog Cetak . Baca/tulis varian.

ungkapan. PrtDevMode

ungkapan Diperlukan. Ungkapan yang mengembalikan satu objek dalam digunakan pada senarai.

Catatan

Adalah amat disyorkan rujuk Kit pembangunan perisian Win32 untuk dokumentasi lengkap pada sifat PrtDevMode, PrtDevNamesdan PrtMip .

Seting sifat PrtDevMode ialah struktur bait 94 yang cermin struktur MODDEV yang ditakrifkan dalam Kit pembangunan perisian Win32. Untuk maklumat lengkap pada PrtDevMode sifat ahli, rujuk Kit pembangunan perisian Win32.

SifatmodPrtDevmenggunakan ahli berikut.

Ahli

Perihalan

DeviceName

rentetan dengan maksimum bait 32 yang menentukan nama peranti pemacu menyokong — contohnya, "HP LaserJet IIISi" jika Hewlett-Packard LaserJet IIISi pencetak yang ditentukan. Setiap pemacu pencetak mempunyai rentetan yang unik.

SpecVersion

Ada Integer yang menentukan bilangan struktur MODDEV versi dalam Kit pembangunan perisian Win32.

DriverVersion

Integer yang menentukan nombor versi pemacu pencetak yang diperuntukkan oleh pembangun pemacu pencetak.

Saiz

Integer yang menentukan saiz, dalam Bait, struktur MODDEV. (Nilai ini tidak termasuk ahli pilihan dmDriverData untuk peranti tertentu data, yang boleh mengikuti struktur ini.) Jika aplikasi memanipulasi hanya pemacu bukan sebahagian data, anda boleh menggunakan ahli ini untuk mengetahui panjang struktur ini tanpa perlu akaun untuk versi yang berlainan.

DriverExtra

Integer yang menentukan saiz, dalam Bait, ahli pilihan dmDriverData untuk peranti tertentu data, yang boleh mengikuti struktur ini. Jika aplikasi tidak menggunakan maklumat peranti tertentu, anda mengesetkan ahli ini 0.

Medan

A panjang nilai yang menentukan yang ahli baki dalam struktur MODDEV dimulakan.

Orientasi

Integer yang menentukan orientasi kertas. Mungkin 1 (potret) atau 2 (landskap).

Saiz kertas

Integer yang menentukan saiz kertas untuk mencetak pada. Jika anda mengesetkan ahli ini kepada 0 atau 256, kepanjangan dan lebar kertas ditentukan oleh ahli PaperLength dan PaperWidth, masing-masing. Jika tidak, anda boleh mengesetkan saiz kertas ahli kepada nilai yang dipratentukan.

PaperLength

Integer yang menentukan panjang kertas dalam unit 1/10 Oerlikon yang. Ahli ini akan mengubah panjang kertas yang ditentukan oleh ahli saiz kertas saiz kertas tersuai atau peranti seperti pencetak titik matriks yang boleh dicetak pada pelbagai saiz kertas.

PaperWidth

Integer yang menentukan lebar kertas dalam unit 1/10 Oerlikon yang. Ahli ini akan mengubah lebar kertas yang ditentukan oleh ahli saiz kertas.

Skala

Integer yang menentukan faktor yang output cetakan akan diskalakan. Saiz halaman jelas adalah diskalakan daripada saiz halaman fizikal sebanyak faktor skala/100. Contohnya, sehelai kertas yang mengukur 8.5 oleh 11 inci (saiz Surat) dengan nilai skala 50 akan mengandungi data sebanyak sebagai halaman mengukur 17 oleh 22 inci kerana output teks dan grafik akan setengah mereka asal ketinggian dan lebar.

Salinan

Integer yang menentukan bilangan salinan dicetak jika peranti pencetakan menyokong berbilang halaman salinan.

DefaultSource

Integer yang menentukan Tong lalai yang kertas yang diberi.

PrintQuality

Integer yang menentukan resolusi pencetak. Nilai adalah –4 (tinggi), –3 (sederhana), –2 (rendah) dan – 1 (Draf).

Warna

Integer. Untuk pencetak warna, menentukan sama ada output dicetak dalam warna. Nilai adalah 1 (warna) dan 2 (monokrom).

Dupleks

Integer. Untuk pencetak berupaya untuk cetakan Dupleks, menentukan sama ada output dicetak pada kedua-dua belah kertas. Nilai adalah 1 (simpleks), 2 (mendatar) dan 3 (menegak).

YResolution

Integer yang menentukan resolusi y pencetak dalam titik per inci (dpi). Jika pencetak initializes ahli ini, ahli PrintQuality menentukan resolusi x pencetak dalam dpi.

TTOption

Integer yang menentukan cara fon TrueType akan dicetak.

Kumpul semak

Integer yang menentukan sama ada pengumpulan harus digunakan apabila mencetak berbilang salinan. Menggunakan salinan uncollated menyediakan lebih cepat, lebih cekap output, kerana data akan dihantar ke pencetak hanya sekali.

FormName

Rentetan dengan maksimum 16 aksara yang menentukan saiz kertas untuk digunakan; "Contohnya, huruf" atau "Undang-undang".

Pad

Nilai panjang yang digunakan untuk pad keluar ruang, aksara, atau nilai untuk versi akan datang.

Bit

Nilai panjang yang menentukan dalam bit per piksel resolusi warna peranti paparan.

PW

Nilai panjang yang menentukan lebar dalam piksel, permukaan peranti kelihatan (skrin atau pencetak).

PH

Nilai panjang yang menentukan ketinggian, dalam piksel, permukaan peranti kelihatan (skrin atau pencetak).

DFI

Nilai panjang yang menentukan mod paparan peranti.

DFR

Nilai panjang yang menentukan kekerapan, dalam hertz (kitaran sesaat), peranti paparan dalam mod tertentu.


Nota: Anda boleh mengesetkan sifat PrtDevMode yang menggunakan Visual Basic for Applications (VBA) kod.

Seting sifat ini adalah baca/tulis dalam pandangan Reka bentuk atau pandangan tataletak, dan baca sahaja dalam pandangan lain.

Pemacu pencetak boleh menambah data khusus peranti sejurus selepasnya bait 94 struktur MODDEV. Sebab ini, ia adalah penting bahawa data MODDEV yang dinyatakan di atas tidak melebihi 94 bait.

Hanya pemacu pencetak yang mengeksport fungsi ExtDeviceMode menggunakan struktur MODDEV.

Aplikasi boleh ambil saiz kertas dan nama yang disokong oleh pencetak menggunakan nilai DC_PAPERS, DC_PAPERSIZE dan DC_PAPERNAMES untuk memanggil fungsi DeviceCapabilities .

Sebelum mengesetkan nilai ahli TTOption, aplikasi patut Ketahui cara pemacu pencetak boleh menggunakan fon TrueType menggunakan nilai DC_TRUETYPE untuk memanggil fungsi DeviceCapabilities .

Contoh

Contoh berikut menggunakan sifat PrtDevMode untuk menyemak saiz halaman takrifan pengguna untuk laporan:

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

Contoh berikut menunjukkan cara untuk mengubah orientasi laporan. Contoh ini akan menukar orientasi daripada potret kepada landskap atau landskap kepada potret bergantung pada orientasi semasa dalam laporan.

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: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×