Access & VBA FAQ
| | | |
Indice de temas
Tablas
Consultas
Formularios
Informes
Macros
Módulos
Base de datos
Miscelánea
API
Utilidades
Problemas
Cadenas
Fechas
Todos los temas
Miscelánea : SetDefaultPrinter
Autor/es:
Juan M Afán de Ribera
Pregunta : ¿Existe algún código que me permita cambiar la impresora predeterminada?
Respuesta : Si utilizas Access XP o superior, puedes utilizar la propiedad Printer del objeto Application de Access. Por ejemplo:
' este código cambiaría la impresora predeterminada a
' la impresora "Acrobat Distiller"
Dim prn As Printer

    For Each prn In Printers
        If prn.DeviceName = "Acrobat Distiller" Then
            Set Application.Printer = prn
            Exit For
        End If
    Next
En cambio, si utilizas Access 97 o 2000 no tendrás ningún objeto o propiedad que te ayude. Por tanto deberías utilizar una función personalizada para ello. He escrito una que te puede ayudar. Pásale en su argumento PrinterName el nombre de la impresora por la que quieres cambiar la impresora predeterminada.

Esto en un módulo estandar:
'---------------------------------------------------------
'
' SetDefaultPrinter
'
' Código escrito originalmente por Juan M Afán de Ribera.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
'     accessvbafaq@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Function SetDefaultPrinter(PrinterName As String) As Boolean
Dim wshNetwork As Object 'New wshNetwork

    On Error GoTo err_SetDefaultPrinter
    Set wshNetwork = CreateObject("WScript.Network")
    wshNetwork.SetDefaultPrinter PrinterName
    Set wshNetwork = Nothing
    SetDefaultPrinter = True
    
err_SetDefaultPrinter:

End Function
'---------------------------------------------------------

Ejemplos:

printersAc97-2000.zip

 

Temas relacionados:

GetDefaultPrinter.

Printers

Indicar por código la impresora para un informe

 

Última actualización: 20/2/2005