1 (изменено: Евген, 2010-10-15 10:29:39)

Тема: HTA/VBS: Передача массива в процедуру

Коллеги, помогите с решением, не могу придумать как можно массив объектом передать в процедуру
эта HТА'шка рассылает по выбранным адресатам сообщения net send'ом...
при нажатии на разные кнопки массив адресатов меняется (забиты заранее) и этот массив хочу передать в процедуру рассылки...

<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
*{font-family:tahoma;font-size:10px}
</style>
<body>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Текст сообщения<br>
<textarea name="txtmessage" rows="10" cols="100"></textarea><br>
<input type=button value="Разослать начальникам подразделений" style="width:250px" onclick="vbscript:call sender('arrnach')"><br>
<input type=button value="Разослать всем" style="width:250px" onclick="vbscript:call sender('arrall')"><br>
<input type=button value="Разослать кассе" style="width:250px" onclick="vbscript:call sender('arrkassa')"><br>
<input type=button value="Разослать себе" style="width:250px" onclick="vbscript:call sender('arrme')"><br>
<br><br><input type=button value="ПРОВЕРКА СВЯЗИ" style="width:250px" onclick="vbscript:call proverkasend()"><br>

<SCRIPT TYPE="text/vbscript">
arrnach = Array("strARM03","strARM10","strARM12","strARM13","strARM18","strARM20","strARM22","strARM27")
arrall = Array("strARM02","strARM03","strARM04","strARM06","strARM07","strARM08","strARM10","strARM12","strARM13","strARM14","strARM15","strARM16","strARM17","strARM18","strARM20","strARM21","strARM22","strARM23","strARM24","strARM26","strARM27","strARM29")
arrkassa = Array("strARM13","strARM15","strARM16")
arrme = Array("strARM12")

Sub sender(inparr)
Set WshShell = CreateObject("WScript.Shell")
For Each strComputer In inparr
stz="net send " & strComputer & " " & Document.GetElementByID("txtmessage").Value
WshShell.Run stz,0,0
Next
End Sub

Sub proverkasend()
Set WshShell = CreateObject("WScript.Shell")
Set WshNetwork = CreateObject("WScript.Network")
strComputer = WshNetwork.UserDomain
stz="net send " & strComputer & " " & Document.GetElementByID("txtmessage").Value
WshShell.Run stz,0,0
End Sub

</SCRIPT>

</body>
</html>

Сильно не пинайте, это моя вторая HTA'шка

Времени не хватает... :-(

2 (изменено: Dmitrii, 2010-10-15 11:11:28)

Re: HTA/VBS: Передача массива в процедуру

Евген пишет:

... как можно массив объектом передать в процедуру...

Пример:

Dim arrTemp
arrTemp = Array("a", "b", "c")
Call MySub(arrTemp)
WScript.Quit 0

Sub MySub(arrTest())
For Each s In arrTest
    WScript.Echo s
Next
End Sub

3

Re: HTA/VBS: Передача массива в процедуру

Всё гениальное - ПРОСТО !!!
Спасибо !!!

Времени не хватает... :-(