Hola,
 
en un formulario tengo un botón que debe imprimirme en una impresora de etiquetas un código. La impresora no está predeterminada por defecto, por lo que la busco, la encuentro, la predetermino, luego debería imprimir, y entonces vuelvo a predeterminar la que estaba. Mi problema está en que no encuentro cuál es el comando concreto que me deje imprimir sólo una cadena.
 
Mi código es:
 
 
 
  'codigo a imprimir
    Dim otimpr As String
     'nombre de la impresora predeterminada
    Dim sDeviceName As String
     'impresora predeterminada de inicio
    Dim ImpAnt As Printer
     'impresora en la que quiero imprimir
    Dim ImpImpr As Printer
 
    Debug.Print "Al empezar: " & Printer.DeviceName
 
     'obtengo el nombre de la impresora predeterminada
    sDeviceName = Printer.DeviceName
     'me guardo la impresora predeterminada para al final restaurarla
    Set ImpAnt = Printer
 
     'Imprimir con la impresora que queremos
    For Each ImpImpr In Printers
        If ImpImpr.DeviceName = "\\Recepcion02\ZDesigner LP 2824" Then
            Set Printer = ImpImpr
            Exit For
        End If
    Next
 
     'obtengo el la cadena que quiero imprimir
    otimpr = Texto61.Value
 
     'Imprimir sólo la cadena
    'es aqui donde no me funciona
    'el error es:
    'el objeto no admite esta propiedad o metodo
    'he buscado y no encuentro de que manera imprimir solo una cadena
    Printer.Print otimpr
 
    'Restablecer la impresora original
    If ImpAnt.DeviceName <> sDeviceName Then
        For Each ImpAnt In Printers
            If ImpAnt.DeviceName = sDeviceName Then
                Set Printer = ImpAnt
                Exit For
            End If
        Next
    End If
 
    Debug.Print "Al finalizar: " & Printer.DeviceName
 
 
 
 
Me anticipo a daros las gracias por vuestra ayuda.
 
Saludos. 
  
 

