|
|
API : GetDefaultPrinter.
| Autor/es: Albert D. Kallal | | Pregunta : ¿Hay alguna función que devuelva la impresora predeterminada del sistema? | | Respuesta : Si utilizas Access XP o superior, la respuesta a tu pregunta se reduce a una simple línea de código | Application.Printer.DeviceName
| | En cambio, si estás utilizando Access 97 o 2000, entonces no tienes ningun objeto o propiedad que te ayude a obtenerla. De todas formas, utilizando el API de Windows he hecho esta función que hace eso que pides. Pégala en un módulo estandar: | '---------------------------------------------------------
'
' GetDefaultPrinter
'
' Código escrito originalmente por Albert D. Kallal.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
'
' Este código se brinda por cortesía de
' Albert D. Kallal (Access MVP)
'
Private Declare Function GetProfileString Lib "kernel32" _
Alias "GetProfileStringA" _
(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
Function GetDefaultPrinter() As String
Dim strDefault As String
Dim lngbuf As Long
strDefault = String(255, Chr(0))
lngbuf = GetProfileString("Windows", "Device", "", strDefault, Len(strDefault))
If lngbuf > 0 Then
GetDefaultPrinter = Left$(strDefault, InStr(strDefault, ",") - 1)
Else
GetDefaultPrinter = ""
End If
End Function
'---------------------------------------------------------
| Ejemplos: printersAc97-2000.zip | Temas relacionados: Printers SetDefaultPrinter Indicar por código la impresora para un informe |
|