Não sei se é isto que pretende, mas vamos lá:
Cole este código num modulo novo e salve;
Option Explicit
Type zwtDevModeStr
RGB As String * 94
End Type
Type zwtDeviceMode
dmDeviceName As String * 16
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperlength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * 16
dmPad As Long
dmBits As Long
dmPW As Long
dmDFI As Long
dmDRr As Long
End Type
Public Sub AlteraConfiguracaoRelatorio(rptName As String)
Dim DevString As zwtDevModeStr
Dim DM As zwtDeviceMode
Const DM_PAPERSIZE = &H2
Const DM_PAPERLENGTH = &H4
Const DM_PAPERWIDTH = &H8
Dim DevModeExtra As String
Dim rpt As Report
Dim response
Dim msg As String
'Abra o relatório em modo Design e oculto.
DoCmd.OpenReport rptName, A_DESIGN, , , acHidden
Set rpt = Reports(rptName)
If Not IsNull(rpt.PrtDevMode) Then
'Copia a propriedade PrtDevMode para uma string.
DevModeExtra = rpt.PrtDevMode
DevString.RGB = DevModeExtra
LSet DM = DevString
'Verifica o tamanho da página personalizada.
If DM.dmPaperSize = 256 Then
'Apresenta o tamanho da página personalizada.
msg = "O tamanho da página personalizada do " & rptName & " é de : " & DM.dmPaperWidth / 254
msg = msg & " largura " & DM.dmPaperlength / 254
msg = msg & " comprimento. Alterar o tamanho?"
response = MsgBox(msg, 4)
Else
msg = "Este relatório não tem uma página personalizada."
msg = msg & " Você pretende definir ?"
response = MsgBox(msg, 4)
End If
If response = 6 Then
'Se o usuário escolher Sim, muda o tamanho.
'Inicializa.
DM.dmFields = DM.dmFields Or DM_PAPERSIZE Or _
DM_PAPERLENGTH Or DM_PAPERWIDTH
'Define o tamanho da página.
DM.dmPaperSize = 256
msg = "Por favor, indique comprimento da página."
DM.dmPaperlength = InputBox(msg) * 254
msg = "Por favor, indique largura da página."
DM.dmPaperWidth = InputBox(msg) * 254
'Atualizar os primeiros 68 bytes da propriedade PrtDevMode.
LSet DevString = DM
Mid$(DevModeExtra, 1, 68) = DevString.RGB
rpt.PrtDevMode = DevModeExtra
End If
End If
End Sub
Para chamar, no evento vba ao pressionar de um botão no seu formulario (por exemplo):
Private Sub SeuBotão_Click()
Call AlteraConfiguracaoRelatorio("SeuRelatório")
End Sub