Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Aplica-se a

Objeto Form

Objeto Report

Pode utilizar a propriedade ImpModoDisp para definir ou devolver as informações do modo do dispositivo de impressão para um formulário ou relatório na caixa de diálogo Imprimir. Variante de leitura/escrita.

expressão.ImpModoDisp

expressão Obrigatório. Uma expressão que devolve um dos objetos na lista Aplica-se A.

Observações

Recomendamos vivamente que consulte o Win32 Software Development Kit para obter a documentação completa sobre as propriedades ImpModoDisp, PrtDevNames e PrtMip.

A definição da propriedade ImpModoDisp é uma estrutura de 94 bytes que reflete a estrutura DEVMODE definida no Win32 Software Development Kit. Para obter informações completas sobre os membros da propriedade ImpModoDisp, consulte o Win32 Software Development Kit.

A propriedade ImpModoDisp utiliza os membros seguintes.

Membro

Descrição

DeviceName

Uma cadeia com um máximo de 32 bytes que especifica o nome do dispositivo que o controlador suporta (por exemplo, "HP LaserJet IIISi" se a impressora especificada for a Hewlett-Packard LaserJet IIISi). Cada controlador de impressora tem uma cadeia exclusiva.

SpecVersion

Um Número Inteiro que especifica o número de versão da estrutura DEVMODE no Win32 Software Development Kit.

DriverVersion

Um Número Inteiro que especifica o número de versão do controlador de impressora atribuído pelo programador do controlador da impressora.

Size

Um Número Inteiro que especifica o tamanho, em bytes, da estrutura DEVMODE. (Este valor não inclui o membro dmDriverData opcional para dados específicos do dispositivo, que podem seguir esta estrutura.) Se uma aplicação manipular apenas a porção dos dados independente do controlador, pode utilizar este membro para descobrir o comprimento desta estrutura sem ter de indicar as versões diferentes.

DriverExtra

Um Número Inteiro que especifica o tamanho, em bytes, do membro opcional dmDriverData para dados específicos do dispositivo, que podem seguir esta estrutura. Se uma aplicação não utilizar as informações específicas do dispositivo, tem de definir este membro para 0.

Fields

Um Valor longo que especifica os membros restantes da estrutura DEVMODE que foram inicializados.

Orientation

Um Número Inteiro que especifica a orientação do papel. O número pode ser 1 (vertical) ou 2 (horizontal).

PaperSize

Um Número Inteiro que especifica o tamanho do papel utilizado para imprimir. Se definir este membro para 0 ou 256, o comprimento e a largura do papel serão especificados pelos membros PaperLength e PaperWidth, respetivamente. Caso contrário, pode definir o membro PaperSize para um valor predefinido.

PaperLength

Um Número Inteiro que especifica o comprimento do papel em unidades de 1/10 de um milímetro. Este membro substitui o comprimento de papel especificado pelo membro PaperSize por tamanhos de papel personalizados ou para dispositivos como impressoras de matriz de pontos que podem imprimir em vários tamanhos de papel.

PaperWidth

Um Número Inteiro que especifica a largura do papel em unidades de 1/10 de um milímetro. Este membro substitui a largura do papel especificada pelo membro PaperSize.

Scale

Um Número Inteiro que especifica o fator pelo qual a impressão será dimensionada. O tamanho de página visível é dimensionado a partir do tamanho de página físico por um fator de escala/100. Por exemplo, uma folha de papel com 8,5 por 11 polegadas (tamanho de Letter) com um valor de Escala de 50 teria a mesma quantidade de dados que uma página com 17 por 22 polegadas, pois os gráficos e o texto finais teriam metade da largura e comprimento originais.

Copies

Um Número Inteiro que especifica o número de cópias impressas se o dispositivo de impressão suportar cópias de múltiplas páginas.

DefaultSource

Um Número Inteiro que especifica o tabuleiro predefinido a partir do qual o papel é fornecido.

PrintQuality

Um Número Inteiro que especifica a resolução da impressora. Os valores são: –4 (alto), –3 (médio), –2 (baixo) e –1 (rascunho).

Color

Um Número Inteiro. Para uma impressora a cores, especifica se a impressão é a cores. Os valores são: 1 (a cores) e 2 (monocromático).

Duplex

Um Número Inteiro. Para uma impressora compatível com impressão frente e verso, especifica se a impressão é a frente e verso. Os valores são: 1 (simples), 2 (horizontal) e 3 (vertical).

YResolution

Um Número Inteiro que especifica a resolução Y da impressora em PPP (pontos por polegada). Se a impressora inicializar este membro, o membro PrintQuality especifica a resolução X da impressora em PPP.

TTOption

Um Número Inteiro que especifica como os tipos de letra TrueType serão impressos.

Collate

Um Número Inteiro que especifica se o agrupamento deve ser utilizado na impressão de múltiplas cópias. A utilização de cópias desagrupadas proporciona uma impressão mais rápida e eficaz, pois os dados são enviados para a impressora apenas uma vez.

FormName

Uma cadeia com um máximo de 16 carateres que especifica o tamanho do papel a ser utilizado, por exemplo, "Letter" ou "Legal".

Pad

Um valor Longo que é utilizado para preencher espaços, carateres e valores para versões futuras.

Bits

Um valor Longo que especifica a resolução de cor, em bits por píxel, do dispositivo de visualização.

PW

Um valor Longo que especifica a largura, em píxeis, da superfície do dispositivo visível (ecrã ou impressora).

PH

Um valor Longo que especifica a altura, em píxeis, da superfície do dispositivo visível (ecrã ou impressora).

DFI

Um valor Longo que especifica o modo de visualização do dispositivo.

DFR

Um valor Longo que especifica a frequência, em hertz (ciclos por segundo), do dispositivo de visualização num modo específico.


Nota: Pode definir a propriedade ImpModoDisp com código VBA (Visual Basic for Applications).

A definição desta propriedade é de leitura/escrita na vista Estrutura ou na vista Esquema. Nas outras vistas, é só de leitura.

Os controladores de impressora podem adicionar dados específicos do dispositivo após os 94 bytes da estrutura DEVMODE. Por este motivo, é importante que os dados DEVMODE indicados acima não excedam os 94 bytes.

Apenas os controladores de impressora que exportem a função ExtDeviceMode utilizam a estrutura DEVMODE.

Uma aplicação pode obter os nomes e tamanhos de papel suportados por uma impressora ao utilizar os valores DC_PAPERS, DC_PAPERSIZE e DC_PAPERNAMES para chamar a função DeviceCapabilities.

Antes de definir o valor do membro TTOption, as aplicações devem descobrir como um controlador de impressora pode utilizar tipos de letra TrueType ao utilizar o valor DC_TRUETYPE para chamar a função DeviceCapabilities.

Exemplo

O exemplo seguinte utiliza a propriedade ImpModoDisp para verificar o tamanho de página definido pelo utilizador para um relatório:

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

O exemplo seguinte mostra como pode alterar a orientação do relatório. Neste exemplo a orientação será alterada de vertical para horizontal ou vice-versa, consoante a orientação atual do relatório.

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

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×