Problemas al imprimir un RichTextBox usando el ob Printer

Pako
08 de Julio del 2004
Estoy tratando de imprimir un RichTextBox.
Quiero que se pueda seleccionar la impresora pero que no modifique la predeterminada. Lo que hago es
1- Guardo el indice en la lista de printers de la impresora predeterminada

indice = 0
MsgBox ("Impresora antigua es " & Printer.DeviceName)
For Each impre In Printers
If impre.DeviceName = Printer.DeviceName Then
Exit For
Else
indice = indice + 1
End If
Next
2- Determino en otro formulario el indice dentro de printers de la impresora que quiere usar el usuario.

3- Selecciono la impresora que quiere el usuario y le envio el texto a imprimir (no preciso formateo de coordenadas, o resolucion o nada , todo muy simple, tal cual esta)

Set Printer = Printers(selimpresora)
Printer.Print ""
RichTextBox1.SelPrint Printer.hDC

Hasta aqui todo bien. Si despues de esto meto la finalizacion de documento ("Printer.Enddoc") me da un error 482. Si no le meto la finalizacion de documento todo va bien, imprime sin problemas, sigo trabajando, pero cuando salgo del programa me salta un error 482, justo cuando lo cierra. Lo coñero es que si imprimio bien y no me dio ningun problema al imprimir.
He probad a capturar el error al imprimir, o a obiarlo y no hay tu tia, sigue dandome el error al cerrar el programa y no se porque. ¿Alguien puede darme una idea?