Опытным путём выяснилось
1. Для определения к-ва переданных параметров в Vbs используется
WScript.Arguments.Count
но в AkelPad`e эта функция выдаёт ошибку, долго мучился, но нашёл
WScript.Arguments.Length
2. Передача параметров скрипту вызываемого из скрипта
Call("Scripts::Main", 1, "InsertDate.js", `"dd MMMM yyyy"`) в Js
но в Vbs это не срабатывает, т.к. апостроф и пробел выдают ошибку
вот, что получилось после бессонной ночи
Code: Select all
' запуск скрипта Multi_SR.js с его восьмью параметрами
k = AkelPad.Call("Scripts::Main", 2, "Multi_SR.js", Eval(chr(34) & Find & chr(34)) & chr(32) &_
Eval(chr(34) & Repl & chr(34)) & chr(32) &_
Eval(chr(34) & Reg & chr(34)) & chr(32) &_
Eval(chr(34) & MLine & chr(34)) & chr(32) &_
Eval(chr(34) & Esc & chr(34)) & chr(32) &_
Eval(chr(34) & ReplFun & chr(34)) & chr(32) &_
Eval(chr(34) & Direct & chr(34)) & chr(32) &_
Eval(chr(34) & Button & chr(34)))
3. C командой Split в Vbs скриптах никогда не было проблем, но вот в AkelPad появились различии, для "разрезания" по строкам
Code: Select all
tTxt = AkelPad.GetSelText()
Txt = Split(tTxt, chr(13)) 'выделенный текст разрезается по chr(13)
Cl = AkelPad.GetClipboardText()
IClip = Split(Cl, vbNewLine) ' а текст из буфера по vbNewLine !!!
Я понимаю, что эта тема больше подходит для уже существующей "Scripts discussion" , но там обсуждается js, и эта информация затеряется... Если модераторы решат перенести это туда я не сильно буду против
Добавлено:
А вот аномалия:
Это срабатывает
Code: Select all
pp = AkelPad.Call("Explorer::Main", 1, "C:\12345.txt")
Code: Select all
File = "C:\12345.txt"
pp = AkelPad.Call("Explorer::Main", 1, File)
Code: Select all
File = chr(34) & "C:\12345.txt" & chr(34)
pp = AkelPad.Call("Explorer::Main", 1, File)