Berlaku Untuk
Access untuk Microsoft 365 Access 2021 Access 2019 Access 2016

Berlaku untuk

Objek Formulir

Objek Report

Anda dapat menggunakan properti PrtDevMode untuk mengatur atau mengembalikan informasi mode perangkat pencetakan yang ditentukan untuk formulir atau laporan dalam kotak dialog Cetak. Membaca/menulis Variant.

ekspresi.PrtDevMode

ekspresi Diperlukan. Ekspresi yang mengembalikan salah satu objek dalam daftar Berlaku Untuk.

Keterangan

Sebaiknya, periksa Kit Pengembangan Perangkat Lunak Win32 untuk dokumentasi lengkap tentang properti PrtDevMode, PrtDevNames, dan PrtMip.

Pengaturan properti PrtDevMode adalah struktur 94 byte yang mencerminkan struktur DEVMODE yang ditentukan dalam Kit Pengembangan Perangkat Lunak Win32. Untuk informasi lengkap tentang anggota properti PrtDevMode, periksa Kit Pengembangan Perangkat Lunak Win32.

Properti ModePrtDevmenggunakan anggota berikut ini.

Anggota

Deskripsi

DeviceName

Sebuah string dengan ukuran maksimal 32 byte, menentukan nama perangkat yang didukung driver seperti "HP LaserJet IIISi" jika Hewlett-Packard LaserJet IIISi adalah printer yang ditentukan. Setiap driver printer memiliki string yang unik.

SpecVersion

Sebuah Integer yang menentukan nomor versi struktur DEVMODE dalam Kit Pengembangan Perangkat Lunak Win32.

DriverVersion

Sebuah Integer yang menentukan nomor versi driver printer yang ditetapkan oleh pengembang driver printer.

Size (Ukuran)

Bilangan Bulat yang menentukan ukuran, dalam byte, struktur DEVMODE. (Nilai ini tidak menyertakan anggota dmDriverData opsional untuk data khusus perangkat, yang dapat mengikuti struktur ini.) Jika aplikasi hanya memanipulasi bagian data yang bebas driver, Anda dapat menggunakan anggota ini untuk mencari tahu panjang struktur ini tanpa harus memperhitungkan versi yang berbeda.

DriverExtra

Sebuah Integer yang menentukan ukuran dmDriverData opsional, dalam byte, untuk data khusus perangkat, yang dapat mengikuti struktur ini. Jika aplikasi tidak menggunakan informasi khusus perangkat, atur anggota ini ke 0.

Fields

Sebuah nilai Long yang menentukan sisa anggota mana dalam struktur DEVMODE yang telah dimulai.

Orientation

Sebuah Integer yang menentukan orientasi kertas. Bilangan dapat berupa 1 (potret) atau 2 (lanskap).

PaperSize

Sebuah Integer yang menentukan ukuran kertas untuk mencetak. Jika anggota ini diatur ke 0 atau 256, panjang dan lebar kertas masing-masing ditentukan oleh anggota PaperLength dan PaperWidth. Jika tidak, atur anggota PaperSize dengan nilai yang sudah ditentukan sebelumnya.

PaperLength

Sebuah Integer yang menentukan panjang kertas dalam satuan 1/10 milimeter. Anggota ini menimpa panjang kertas yang ditentukan oleh anggota PaperSize untuk ukuran kertas kustom atau untuk perangkat seperti printer dot matriks yang dapat mencetak pada berbagai ukuran kertas.

PaperWidth

Sebuah Integer yang menentukan lebar kertas dalam satuan 1/10 milimeter. Anggota ini menimpa lebar kertas yang ditentukan oleh anggota PaperSize.

Scale

Sebuah Integer yang menentukan faktor untuk penentuan skala output cetak. Ukuran halaman sebenarnya diskalakan dari ukuran fisik halaman dengan faktor skala/100. Sebagai contoh, selembar kertas berukuran 8,5 x 11 inci (ukuran letter) dengan nilai Skala 50 akan berisi data sebanyak yang terdapat pada halaman berukuran 17 x 22 inci karena teks dan grafik outputnya berukuran setengah dari ketinggian dan lebar aslinya.

Copies

Sebuah Integer yang menentukan jumlah salinan yang dicetak jika perangkat pencetakan mendukung salinan beberapa halaman.

DefaultSource

Sebuah Integer yang menentukan tempat default untuk memasukkan kertas.

PrintQuality

Sebuah Integer yang menentukan resolusi printer. Nilainya adalah –4 (tinggi), –3 (sedang), –2 (rendah), dan – 1 (draf).

Color

Sebuah Integer. Untuk printer warna, menentukan apakah output dicetak berwarna. Nilainya adalah 1 (warna) dan 2 (satu warna).

Duplex

Sebuah Integer. Untuk printer yang dapat melakukan pencetakan dupleks, menentukan apakah hasil akan dicetak di kedua sisi kertas. Nilainya adalah 1 (simpleks), 2 (horizontal), dan 3 (vertikal).

YResolution

Sebuah Integer yang menentukan resolusi y dari printer dalam titik per inci (dpi). Jika printer memulai anggota ini, anggota PrintQuality menentukan resolusi x dari printer dalam dpi.

TTOption

Sebuah Integer yang menentukan cara font TrueType akan dicetak.

Collate

Sebuah Integer yang menentukan apakah kolase harus digunakan ketika mencetak beberapa salinan. Menggunakan salinan yang tidak dikolase akan menghasilkan output yang lebih cepat dan efisien karena data hanya dikirimkan sekali ke printer.

FormName

String dengan ukuran maksimal 16 karakter yang menentukan ukuran kertas yang akan digunakan; misalnya, "Letter" atau “Legal".

Pad

Sebuah nilai Long yang digunakan untuk memperpanjang spasi, karakter, atau nilai untuk versi mendatang.

Bits

Sebuah nilai Long yang menentukan resolusi warna perangkat tampilan dalam satuan bit per piksel.

PW

Sebuah nilai Long yang menentukan lebar, dalam piksel, dari permukaan perangkat yang terlihat (layar atau printer).

PH

Suatu nilai Long yang menentukan tinggi permukaan perangkat yang terlihat (layar atau printer) dalam piksel.

DFI

Sebuah nilai Long yang menentukan mode tampilan perangkat.

DFR

Sebuah nilai Long yang menentukan frekuensi, dalam hertz (siklus per detik), dari perangkat tampilan dalam mode tertentu.

Catatan: Anda dapat mengatur properti PrtDevMode menggunakan kode Visual Basic for Applications (VBA).

Pengaturan properti ini adalah baca/tulis dalam tampilan Desain atau tampilan Tata Letak, dan baca-saja dalam tampilan lain.

Driver printer dapat menambahkan data khusus perangkat langsung setelah 94 byte struktur DEVMODE. Karena alasan ini, penting bahwa data DEVMODE yang dijelaskan di atas tidak melebihi 94 byte.

Hanya driver printer yang mengekspor fungsi ExtDeviceMode yang menggunakan struktur DEVMODE.

Aplikasi dapat mengambil ukuran kertas dan nama yang didukung oleh printer menggunakan nilai DC_PAPERS, DC_PAPERSIZE dan DC_PAPERNAMES untuk menjalankan fungsi DeviceCapabilities.

Sebelum mengatur nilai anggota TTOption, aplikasi harus mengetahui bagaimana driver printer dapat menggunakan font TrueType menggunakan nilai DC_TRUETYPE untuk menjalankan fungsi DeviceCapabilities.

Contoh

Contoh berikut ini menggunakan properti PrtDevMode untuk memeriksa ukuran halaman yang ditentukan pengguna untuk laporan:

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

Contoh berikut ini memperlihatkan cara untuk mengubah orientasi laporan. Contoh ini akan mengubah orientasi dari potret ke lanskap atau lanskap ke potret tergantung pada orientasi laporan saat ini.

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

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.