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 |