Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los objetos Printer asociados a los objetos Form y Report admiten las mismas propiedades y técnicas de programación que el objeto Printer del objeto Application.
Utilice el objeto Printer de un objeto Form o Report cuando desee establecer o recuperar la configuración de impresora para un formulario o informe determinado. Puede cambiar dicha configuración temporalmente, o puede guardarla con el formulario o el informe.
Guardar la configuración de la impresora con un formulario o informe
El hecho de que un formulario o un informe utilice la configuración de la impresora de la aplicación predeterminada (la configuración administrada con el objeto Printer del objeto Application) depende de si dicho formulario o informe tiene una configuración de impresora guardada previamente. Dicha configuración se puede guardar de dos maneras:
El usuario puede guardar la configuración de impresora abriendo el formulario o el informe en cualquier vista, y utilizando los cuadros de diálogo Imprimir o Configurar página para cambiar dicha configuración.
Puede realizar cambios en el objeto Printer de un formulario o informe en el código, y esos cambios se guardarán con el formulario o informe si usa el método Save antes de cerrar el formulario o informe, o bien especificar acSaveYes para el argumento Save al usar el método Close para cerrar el formulario o informe.
Nota:
Cuando se guarda la configuración de la impresora con un formulario o informe, Access crea una nueva estructura de datos para éste que permite incluir la configuración guardada. En un principio, dicha estructura contiene una copia de todos los valores de la impresora predeterminada. Cualquier valor invalidado por el usuario o por el código se guarda con la estructura de datos.
Access no mantiene ningún tipo de herencia entre la configuración de la impresora predeterminada y la configuración guardada con un formulario o un informe. Si modifica la configuración de la impresora predeterminada después de guardar la configuración para un formulario o un informe, seguirá en vigor la configuración guardada en un principio.
Determinar si un formulario o informe ha guardado la configuración de la impresora
Para determinar si un formulario o informe ha guardado la configuración de la impresora, puede leer la propiedad UseDefaultPrinter de un objeto Form o Report mediante la sintaxis siguiente, donde expresión es cualquier expresión que devuelve un objeto Form o Report .
expression .UseDefaultPrinter
El valor de la propiedad UseDefaultPrinter es de lectura y escritura en la vista Diseño y de sólo lectura en las demás vistas.
Borrar la configuración de la impresora guardada
También puede usar la propiedad UseDefaultPrinter como un método para borrar la configuración guardada de un formulario o un informe estableciendo su valor en True. Esto equivale a abrir el cuadro de diálogo Configurar página para el formulario o informe y seleccionar Impresora predeterminada en la pestaña Página . Puede establecer la propiedad UseDefaultPrinter solo cuando un formulario o informe está abierto en la vista Diseño.
El siguiente fragmento de código abre cada uno de los informes del proyecto actual y borra la configuración de aquellos que la tengan guardada.
For Each obj In CurrentProject.AllReports
DoCmd.OpenReport ReportName:=obj.Name, View:=acViewDesign
If Not Reports(obj.Name).UseDefaultPrinter Then
Reports(obj.Name).UseDefaultPrinter = True
DoCmd.Save ObjectType:=acReport, ObjectName:=obj.Name
End If
DoCmd.Close
Next obj
Conservar la configuración de la impresora de formularios e informes
Si se cambia mediante programación la configuración de la propiedad Printer para los formularios o los informes mientras el objeto está en una vista distinta de la vista Diseño, dichos cambios se guardan automáticamente si el usuario cierra de forma interactiva el formulario o el informe.
El procedimiento siguiente muestra cómo guardar y restaurar la configuración de impresora de un informe.
Sub RestoreReportPrinter()
Dim rpt As Report
Dim prtOld As Printer
Dim prtNew As Printer
' Open the Invoice report in Print Preview.
DoCmd.OpenReport ReportName:="Invoice", View:=acViewPreview
' Initialize rpt variable.
Set rpt = Reports!Invoice
' Save the report's current printer settings
' in the prtOld variable.
Set prtOld = rpt.Printer
' Load the report's current printer settings
' into the prtNew variable.
Set prtNew = rpt.Printer
' Change the report's Orientation property.
prtNew.Orientation = acPRORLandscape
' Change other Printer properties, and then print
' or perform other operations here.
' If you comment out the following line of code,
' and a user interactively closes the report preview
' any changes made to properties of the report's Printer
' object are saved when the report is closed.
Set rpt.Printer = prtOld
' Close report without saving.
DoCmd.Close ObjectType:=acReport, ObjectName:="Invoice", Save:=acSaveNo
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.