This will also work, and will allow you to specify which characters to use easily.

$sTerminal characters are characters which can appear anywhere.
$sNonTerminal characters are characters which must not appear at the start or end of the password.

code:
udfPWGen(10,"Bills login") ?
udfPWGen(5,1999) ?
udfPWGen(20) ?

Function udfPWGen($iLength,Optional $sSeed)
Dim $sTerminal,$sNonTerminal,$iIndex,$iSeed

$sTerminal=$sTerminal+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
$sTerminal=$sTerminal+"abcdefghijklmnopqrstuvwxyz"
$sNonTerminal="0123456789"
For $iIndex=1 To Len($sSeed)
$iSeed=$iSeed+Asc(SubStr($sSeed,$iIndex,1))
Next
Srnd(@TICKS+$iSeed*@YEAR+@YDAYNO)
For $iIndex=1 to $iLength
$sSelectFrom=IIF($iIndex=1 OR $iIndex=$iLength,$sTerminal,$sTerminal+$sNonTerminal)
$udfPWGen=$udfPWGEn+Cstr(Substr($sSelectFrom,(Rnd(Len($sSelectFrom))+1),1))
Next
EndFunction