Tim,

Looked at your code a bit..

Here is the re-worked version (untested, but you get the idea) [Smile]

code:
CLS
BREAK ON
DIM $i

FOR $i=1 TO 21
IF @wksta = 'lib-'+$i
ADDPRINTERCONNECTION ("\\ALPHA\LIBRARY")
SETDEFAULTPRINTER ("\\ALPHA\LIBRARY")
MESSAGEBOX ("Your Default Printer it set to LIBRARY","DEFAULT PRINTER",0,5)
QUIT
ENDIF
NEXT

FOR $i=1 TO 20
IF @wksta = 'libLoft-'+$i
ADDPRINTERCONNECTION ("\\ALPHA\LOFT")
SETDEFAULTPRINTER ("\\ALPHA\LOFT")
MESSAGEBOX ("Your Default Printer it set to LOFT","DEFAULT PRINTER",0,5)
QUIT
ENDIF
NEXT

FOR $i=1 TO 20
IF @wksta = 'E5-'+$i
ADDPRINTERCONNECTION ("\\ALPHA\E5")
SETDEFAULTPRINTER ("\\ALPHA\E5")
MESSAGEBOX ("Your Default Printer it set to E5","DEFAULT PRINTER",0,5)
QUIT
ENDIF
NEXT

FOR $i=1 TO 20
IF @wksta = 'W9-'+$i
ADDPRINTERCONNECTION ("\\ALPHA\W9")
SETDEFAULTPRINTER ("\\ALPHA\W9")
MESSAGEBOX ("Your Default Printer it set to W9","DEFAULT PRINTER",0,5)
QUIT
ENDIF
NEXT

$name = Split("LSF-2~ENGLISH-1~SOCIALSCIENCE-1~HISTORY-2~PE-1~SCIENCE-2~LANGUAGES-1~MATHS-2~TAS-1~HTADMIN-1","~")

FOR EACH $element IN $name
IF @wksta = $element
SETDEFAULTPRINTER ("LASERJET")
MESSAGEBOX ("Your Default Printer it set to HP LaserJet (Local)","DEFAULT PRINTER",0,5)
QUIT
ENDIF
NEXT

SELECT
CASE
@wksta = "LSF-1" MAPPRINT("\\LSF-2\LASERJET","LSF-2")
CASE
@wksta = "ENGLISH-2" MAPPRINT("\\ENGLISH-1\LASERJET","\\ENGLISH-1")
CASE
@wksta = "SOCIALSCIENCE-2" MAPPRINT("\\SOCIALSCIENCE-1\LASERJET","\\SOCIALSCIENCE-1")
CASE
@wksta = "HISTORY-1" MAPPRINT("\\HISTORY-2\LASERJET","\\HISTORY-2")
CASE
@wksta = "PE-2" MAPPRINT("\\PE-1\LASERJET","\\PE-1")
CASE
@wksta = "SCIENCE-1" MAPPRINT("\\SCIENCE-2\LASERJET","\\SCIENCE-2")
CASE
@wksta = "LANGUAGES-2" MAPPRINT("\\LANGUAGES-1\LASERJET","\\LANGUAGES-1")
CASE
@wksta = "MATHS-1" MAPPRINT("\\MATHS-2\LASERJET","\\MATHS-2")
CASE
@wksta = "TAS-2" MAPPRINT("\\TAS-1\LASERJET","\\TAS-1")
CASE
@wksta = "HTADMIN-2" MAPPRINT("\\HTADMIN-1\LASERJET","\\HTADMIN-1")
ENDSELECT

:next8
MESSAGEBOX ("PLEASE CHECK YOUR PRINTER SETTINGS BEFORE PRINTING!","DEFAULT PRINTER",0,5)
QUIT

FUNCTION MAPPRINT($defprtr,$ptrname)
SETDEFAULTPRINTER ($defprtr)
MESSAGEBOX ("Your Default Printer it set to HP LaserJet on "+$ptrname+")","DEFAULT PRINTER",0,5)
QUIT
ENDFUNCTION

:w3
ADDPRINTERCONNECTION ("\\ALPHA\W3")
SETDEFAULTPRINTER ("\\ALPHA\W3")
MESSAGEBOX ("Your Default Printer it set to W3","DEFAULT PRINTER",0,5)
QUIT

:END

The only caveat to this change-over, you will need KiXtart version 4.x or better to run this.

HTH,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's