i think you might be able to use the MapNetworkDrive function, hmm using LPT1 instead of the drive letter?
perhaps not, perhaps you might be stuck with using the shell
WshShell.Run "NET USE LPT1:....etc", 1, True
returning the default printer, i think this was one of tsuji's posts
prtrname = ""
defaultprtr "computernamehere", prtrname
Msgbox prtrname
function defaultprtr(shost, prtrname)
defaultprtr=0 'error-less return
prtrname="" 'out-param
on error resume next
set svc=getobject("winmgmts:\\" & shost & "\root\cimv2")
set cprtr=svc.execquery("select name, attributes from win32_printer")
for each oprtr in cprtr
if (oprtr.attributes and &h04)=&h04 then prtrname=oprtr.name : exit for
next
if err.number<>0 then defaultprtr=err.number : err.clear : prtrname=""
on error goto 0
set cprt=nothing : set svc=nothing
end function