First thought = Get rid of any screen output, it is usefull in debuggin but your users are not going to care or pay attention to after the first 5 times of seeing it.


Your printer section, do they need mapping to more than one printer? If so then your method is fine, otherwise go back to a Select Case statements, as the processing of the Select ends upon the first match.

Overall not to bad. But you may want to look at what is considered by many here to be the "good scripting" practices and include this at the very top of your script...

 Code:
If NOT @LOGONMODE
	          Break On
EndIf

$SO=SETOPTION("Explicit", "ON")
$SO=SETOPTION("NoMacrosInStrings", "ON")
$SO=SETOPTION("NoVarsInStrings", "ON")
$SO=SETOPTION("WrapAtEOL", "ON")


Using these statements will make you go back and rewrite some of it as you have variables and macros in strings.

You will also have to declare all variables before they are used.
_________________________
Today is the tomorrow you worried about yesterday.