Властивість «Режим пристрою друку»

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

Застосування

Об’єкт «Форма» (Form)

Об’єкт «Звіт» (Report)

Властивість Режим пристрою друку (PrtDevMode) використовується для встановлення або отримання відомостей про режим пристрою друку, заданого для форми або звіту в діалоговому вікні Друк. Тип значення — варіант (Variant) для читання й записування.

вираз.PrtDevMode

вираз Обов’язково. Вираз, який повертає один з об’єктів зі списку «Застосування».

Зауваження

Дуже рекомендовано звернутися до пакета SDK Win32 для перегляду повної документації щодо властивостей Режим пристрою друку (PrtDevMode), Імена пристроїв друку (PrtDevNames) і PrtMip.

Значення властивості Режим пристрою друку (PrtDevMode) — це структура довжиною 94 байти, що відповідає структурі DEVMODE, визначеній у пакеті SDK Win32. Для отримання повних відомостей щодо членів властивості Режим пристрою друку (PrtDevMode) зверніться до пакета SDK Win32.

Властивість PrtDevрежим використовує такі учасників.

Член

Опис

DeviceName (Ім’я пристрою)

Значення типу рядок максимальної довжини 32 байти, який визначає ім’я підтримуваного драйвером пристрою, наприклад «HP LaserJet IIISi», якщо заданим принтером є Hewlett-Packard LaserJet IIISi. Кожний драйвер принтеру має унікальний рядок.

SpecVersion (Версія специфікації)

На ціле число, яке вказує номер версії DEVMODE структури в Win32 програмного забезпечення розробника.

DriverVersion (Версія драйвера)

Значення типу ціле число (Integer), яке визначає версію драйвера принтера, встановлену розробником драйвера.

Size (Розмір)

Ціле число, що визначає розмір структури DEVMODE в байтах. (Ця величина не враховує довжину необов’язкового члена для специфічних для пристрою даних, dmDriverData, який може бути записаним після цієї структури. Якщо застосунок використовує тільки незалежну від драйвера частину даних, за цим членом можна визначити довжину структури без потреби враховувати відмінності у версіях.

DriverExtra (Додаткові дані драйвера)

Значення типу ціле число (Integer), яке визначає розмір у байтах необов’язкового члена dmDriverData, який може бути записаним після цієї структури. Якщо застосунок не використовує специфічні для пристрою відомості, можна встановити для цього члена значення 0.

Fields (Поля)

A довгі значення, яке вказує решти учасників у структурі DEVMODE було ініціалізувати.

Orientation (Орієнтація)

Значення типу ціле число (Integer) число, яке визначає орієнтацію паперу. Воно може дорівнювати 1 (книжкова) або 2 (альбомна).

PaperSize (Розмір паперу)

Значення типу ціле число (Integer), яке визначає розмір паперу, на якому виконується друк. Якщо задати для цього члена значення 0 або 256, довжина та ширина паперу задаються значеннями членів Довжина паперу (PaperLength) і Ширина паперу (PaperWidth) відповідно. У іншому випадку можна встановити для члена Розмір паперу (PaperSize) наперед визначене значення.

PaperLength (Довжина паперу)

Значення типу ціле число (Integer), яке визначає довжину паперу в одиницях 0,1 мм. Значення цього члена перевизначає довжину паперу, задану членом Розмір паперу (PaperSize) для настроюваних розмірів паперу або для пристроїв на зразок матричних принтерів, які можуть друкувати на папері різного розміру.

PaperWidth (Ширина паперу)

Значення типу ціле число (Integer), яке визначає ширину паперу в одиницях 0,1 мм. Значення цього члена перевизначає довжину паперу, задану членом Розмір паперу (PaperSize).

Scale (Масштаб)

Значення типу ціле число (Integer), що визначає коефіцієнт, за яким буде масштабуватися друкований вміст. Видимий розмір сторінки становить фізичний розмір сторінки, масштабований з коефіцієнтом масштаб/100. Наприклад, аркуш паперу розміром 210х297 мм (А4) за масштабу 50 міститиме стільки ж даних, що й сторінка розміром 420х594 мм, оскільки ширина і висота надрукованого тексту і графіки будуть удвічі меншими за вихідні.

Copies (Копії)

Значення типу ціле число (Integer), яке визначає кількість копій, що друкуватимуться, якщо пристрій друку підтримує багатосторінкові копії.

DefaultSource (Джерело паперу)

Значення типу ціле число (Integer), яке визначає лоток, з якого подається папір.

PrintQuality (Якість друку)

Значення типу ціле число (Integer), яке визначає роздільну здатність принтера. Можливі значення: –4 (висока), –3 (середня), –2 (низька) і –1 (чернетка).

Color (Колір)

Значення типу ціле число (Integer). Для кольорового принтера визначає, чи друкувати вміст кольором. Можливі значення: 1 (кольоровий), 2 (монохромний).

Duplex (Двосторонній друк)

Значення типу ціле число (Integer). Для принтера, що підтримує двобічний друк, визначає, чи вміст буде надруковано з обох боків паперу. Можливі значення: 1 (однобічний друк), 2 (горизонтальний), 3 (вертикальний)

YResolution (Роздільна здатність по вертикалі)

Значення типу ціле число (Integer), яке визначає вертикальну роздільну здатність принтера в точках на дюйм (dpi). Якщо принтер ініціалізує цей член, член «Якість друку (PrintQuality)» визначає роздільну здатність принтера по горизонталі в точках на дюйм.

TTOption (Параметр TrueType)

Значення типу ціле число (Integer), яке визначає спосіб друку шрифтів TrueType.

Collate (Розбирати за копіями)

Значення типу ціле число (Integer), яке вказує, чи потрібно використовувати розбирання за копіями в разі друкування кількох копій. Якщо розбирання не використовується, друк відбувається швидше, оскільки дані для кожної сторінки надсилаються на принтер тільки один раз.

FormName (Ім’я форми)

Рядок з максимальною довжиною 16 символів, який визначає розмір використовуваного паперу, наприклад «Letter» або «A4».

Pad (Резервні байти)

Значення типу довге ціле (Long), що використовується для резервування у структурі пробілів, символів або значень для майбутніх версій.

Bits (Біти)

Значення типу довге ціле (Long), яке визначає кольорову роздільну здатність дисплея в бітах на піксель.

PW

Значення типу довге ціле (Long), яке визначає ширину в пікселях видимого простору пристрою (екрана або принтера).

PH

Значення типу довге ціле (Long), яке визначає висоту в пікселях видимого простору пристрою (екрана або принтера).

DFI

Значення типу довге ціле (Long), яке визначає режим відображення пристрою.

DFR

Значення типу довге ціле (Long), яке визначає частоту в Гц пристрою дисплея в певному режимі.


Примітка : Ви можете встановити властивості режим пристрою друку , за допомогою Visual Basic для застосунків (VBA) з кодом.

Значення цієї властивості є доступним для читання й записування в поданні конструктора або поданні розмічування, в інших поданнях значення властивості доступне тільки для читання.

Драйвери принтерів можуть додавати специфічні для пристроїв дані безпосередньо після 94-байтної структури DEVMODE. Тому важливо, щоб дані DEVMODE, описані вище, не перевищували 94 байтів.

Тільки драйвери принтерів, які експортують функцію 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

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×