Spero faccia al caso tuo.

Ti dimensioni una variabile con il livello di visibilita' che ti interessa.
Dim strOldNomePrinter
..................
[memorizzi la stampante in uso, suppongo che sia quella predefinita ovviamente se non e' stata cambiata da un altro programma]
strOldNomePrinter =printer.DeviceName
..................
nel corso del programma cambi la stampante
..................
[quando devi ripristinare quella in uso]
call Sub Ripristina_stampante(strOldNomePrinter)

Qui sotto hai la sub che reimposta la stampante
(a dire il vero ne puo' impostare una qualsiasi, ma visto che tu le passi il nome della periferica che utilizzavi PRIMA di modificarla, ecco che te la reimposta).


public Sub Ripristina_stampante(strNome as string)
Dim X As Printer
For Each X In Printers
If X.DeviceName = strNome Then
' Imposta la stampante come predefinita di sistema.
Set Printer = X
' Interrompe la ricerca di una stampante.
Exit For
End If
Next

Ciao.