RE:Enviar a distintas impresoras
Lo primero será averiguar las impresoras que tienes, de cara al usuario podrias rellenar un combo con ellas o bien guardarlas en un Array. en el caso de un Combo creo que seria:
Dim N as integer
For N = 0 To Printers.Count - 1
ComboImpresoras.AddItem Printers(N).DeviceName
Next
Como normalmente uso Crystal para los listados (el Crystal que viene en Visual Estudio), tengo que poner lo siguiente
Listado.PrinterDriver = Printers(N).DriverName
Listado.PrinterName = Printers(N).DeviceName
Listado.PrinterPort = Printers(N).Port
N es el numero de orden de la impresora en el combo.