Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MS Access 2003: Configure el informe para imprimir en papel de tamaño Legal utilizando el código VBA
Este tutorial de MSAccess muestra cómo usar el código VBA en Access 2003 para configurar un informe para imprimir en papel de tamaño Legal (con instrucciones paso a paso).
Pregunta: En Microsoft Access 2003/XP/2000/97, ¿cómo configuro mediante programación un informe para que se imprima en papel de tamaño Legal (es decir, 8,5 x 14)?
Respuesta: Puede usar las siguientes subrutinas para configurar el informe para que se imprima en papel de tamaño Legal:
Abra su base de datos de Access, haga clic en la pestaña Módulos y cree un nuevo módulo. Pegue el siguiente código:
Type gtypStr_DEVMODE RGB As String * 94 End Type Type gType_DEVMODE strDeviceName As String * 16 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 * 16 lngPad As Long lngBits As Long lngPW As Long lngPH As Long lngDFI As Long lngDFr As Long End Type Sub SetToLegal(pReport As String) Dim LDevString As gtypStr_DEVMODE Dim LDM As gType_DEVMODE Dim LDevModeExtra As String Dim LRpt As Report On Error GoTo Err_Execute 'Open report in Design view DoCmd.OpenReport pReport, acDesign Set LRpt = Reports(pReport) 'Change paper size to legal If Not IsNull(LRpt.PrtDevMode) Then LDevModeExtra = LRpt.PrtDevMode LDevString.RGB = LDevModeExtra LSet LDM = LDevString '5=legal, 1=standard LDM.intPaperSize = 5 LSet LDevString = LDM Mid(LDevModeExtra, 1, 94) = LDevString.RGB LRpt.PrtDevMode = LDevModeExtra End If 'Save report changes (suppress system messages temporarily) DoCmd.SetWarnings False DoCmd.Save acReport, pReport DoCmd.Close acReport, pReport DoCmd.SetWarnings True Exit Sub Err_Execute: MsgBox "Changing paper size to legal failed." End Sub
Entonces puede llamar a esta subrutina de la siguiente manera:
Private Sub Command0_Click() SetToLegal "Report1" End Sub
Este ejemplo cambia el papel a tamaño legal para generar un papel llamado informe 1.
notas: Para que esta subrutina funcione, debe tener permiso para modificar el objeto de informe.