1

Тема: VBScript: WScript - требуется объект

конструкции типа WScript.Echo или WScript.Sleep вызывают ошибку "Требуется объект", даже в чужих работающих примерах. Какие-то компоненты не установлены или в чем может быть причина?

2

Re: VBScript: WScript - требуется объект

Скорее всего потому, что Вы примеры используете в скрипте внутри HTML.
Такие конструкции как WScript.Echo или WScript.Sleep  могут быть использованы только если вы используете запуск скрипта через Wscript.exe или Cscript.exe.

3 (изменено: gts, 2012-09-16 12:12:54)

Re: VBScript: WScript - требуется объект

Спасибо за ответ. Я пытаюсь использовать вышеуказанные конструкции в hta-приложении. Подскажите пожалуйста, как "использовать запуск скрипта через Wscript.exe" на практике (для "чайников"), а если в случае hta-приложения этого сделать нельзя, то как приостановить выполнение скрипта, кроме "вечного цикла".

4

Re: VBScript: WScript - требуется объект

gts пишет:

Подскажите пожалуйста, как "использовать запуск скрипта через Wscript.exe" на практике (для "чайников"), а если в случае hta-приложения этого сделать нельзя, то как приостановить выполнение скрипта, кроме "вечного цикла".

Использовать скрипт очень просто - создайте файл с расширением .VBS  и запускайте его.
Для удобства работы с большим потоком выводимых данных необходимо использовать Cscript, т.к. при запуске через WScript.exe метод WScript.Echo  эквивалентен MsgBox.

Использование: CScript имя_сценария.расширение [параметры...] [аргументы...]

Параметры:
//B            Пакетный режим: подавляются отображение ошибок и запросов сценария
//D            Включение режима Active Debugging
//E:ядро       Использование указанного ядра для выполнения сценария
//H:CScript    Стандартный сервер сценариев заменяется на CScript.exe
//H:WScript    Стандартный сервер сценариев заменяется на WScript.exe (по умолчанию)
//I            Диалоговый режим (по умолчанию, в противоположность //B)
//Job:xxxx     Выполнение указанного задания WSF
//Logo         Отображать сведения о программе (по умолчанию)
//Nologo       Не отображать сведения о программе во время выполнения
//S            Сохранить для данного пользователя текущие параметры командной строки
//T:nn         Интервал ожидания (в секундах):  максимальное время выполнения сценария
//X            Выполнение сценария в отладчике
//U            Использование кодировки Юникод при перенаправлении ввода-вывода с консоли

5

Re: VBScript: WScript - требуется объект

Спасибо, т.е., если я вынесу часть кода во внешний vbs-файл и запущу WScript или Cscript c ним в качестве сценария из html-страницы или hta-приложения методами ShellExecute или Run, то объект Wscript.Sleep сработает?

6

Re: VBScript: WScript - требуется объект

Сработает. Но на HTA это не отразится.

7 (изменено: gts, 2012-09-16 16:23:24)

Re: VBScript: WScript - требуется объект

Спасибо за участие, очевидно, запуск WScript.exe методами Run и ShellExecute создает отдельный процесс, на который и действует код сценария-параметра. Но есть же какой-то способ приостановить hta-приложение на время загрузки Excel, вызываемого из скрипта в hta, не загружая процессор циклом? Ведь если делать опрос наступления события, а оно не наступит? И какое время ожидания считать приемлемым в зависимости от техники?  Может быть, есть какой либо-метод Shell.Application или WScript.Shell - эти объекты доступны, но я не нашла ничего подходящего. Или можно как-то воспользоваться ответами на тему "CMD/BAT: sleep штатными средствами", но чтобы это воздействовало на заданную работающую в ОС задачу, т.е. что-то на уровне ОС, а не изнутри самой задачи?

8

Re: VBScript: WScript - требуется объект

Способа приостановить скрипт в .hta приложении, в общем-то нет. Есть трансляция WScript в hta, но лучше, по возможности, изменить алгоритм самого скрипта так, чтобы можно было использовать setTimeOut и setInterval.

9

Re: VBScript: WScript - требуется объект

Спасибо

10

Re: VBScript: WScript - требуется объект

HTA: использование WScript.Sleep()
JScript: динамическое формирование окна HTA
WSH: создание окна, а также трансляция WScript в HTA

11

Re: VBScript: WScript - требуется объект

Спасибо, буду изучать