Jag har ett registerprogram där jag vill kunna göra en utskrift på en ettikettskrivare (som inte är standardskrivare utan att byta standardskrivare. Något tips? Varför inte använda x? För att man inte kan göra så... eller? Man måste ange skrivaren till "standardskrivare för applikationen" för att kunna skriva ut till den. Detta var givetvis det första jag testade, men det gick inget vidare... Hej ! Skumt, nu fungerar ju min kod också... Måste varit något i datorn eller något med skrivaren... Men tack ändå!Byta skrivare i VB
<code>
Dim X As Printer
For Each X In Printers
If X.DeviceName = "Smart Label Printer 200" Then
MsgBox Printer.DeviceName 'är visas standardskrivaren (som väntat)
MsgBox X.DeviceName 'här visas ettikettskrivaren (som vänat)
Set Printer = X
MsgBox Printer.DeviceName 'ettikettskrivare (som väntat)
Printer.Print strNamn
Printer.Print strAtt
Printer.Print strAdr
Printer.Print strPostAdr
Printer.EndDoc
MsgBox Printer.DeviceName 'här har det bytt tillbaka till standardskrivaren där utskriften kommer, på fel skrivare alltså?!?
Exit For
End If
Next
</code>
/JohanSv: Byta skrivare i VB
<code>
Dim X As Printer
For Each X In Printers
If X.DeviceName = "Smart Label Printer 200" Then
X.Print strNamn
X.Print strAtt
X.Print strAdr
X.Print strPostAdr
X.EndDoc
Exit For
End If
Next
</code>Sv: Byta skrivare i VB
/JohanSv: Byta skrivare i VB
'------------------------------------------------------------
Dim X As Printer
For Each X In Printers
If X.DeviceName = "Smart Label Printer 200" Then
Set Printer = X
Exit For
End If
Next
Printer.Print strNamn
Printer.Print strAtt
Printer.Print strAdr
Printer.Print strPostAdr
Printer.EndDoc
'------------------------------------------------------------
MVH
Peter SSv: Byta skrivare i VB
/Johan