Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ProgressBar или что нибудь подобное в VBS

585
02 мая 2006 года
honeybeer
297 / / 06.09.2004
Существует некое приложение, использующее WS в качестве расширения. На VBS реализован механизм замещения данных. Процесс довольно длительный и хотелось бы привинтить к скрипту какой-нибудь индикатор прогресса. Может быть кто-то сталкивался с подобной проблемой?
405
02 июня 2006 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by honeybeer
Существует некое приложение, использующее WS в качестве расширения. На VBS реализован механизм замещения данных. Процесс довольно длительный и хотелось бы привинтить к скрипту какой-нибудь индикатор прогресса. Может быть кто-то сталкивался с подобной проблемой?


Если запуск сценария выполняется из командной строки, то можно попробовать использовать вот этот пример:

Код:
Dim fullName, myFSObj, pntFolder, curFolder, strComputer
Wscript.Echo "Идёт чтение данных."
strComputer = "."
fullName = "d:\temp\"
Set myFSObj = CreateObject("Scripting.FileSystemObject")
Set pntFolder = myFSObj.GetFolder(fullName)
For Each curFolder In pntFolder.SubFolders
    Wscript.StdOut.Write(".")
Next
Wscript.StdOut.WriteLine
Wscript.Echo "Готово."

Собственно индикатор заключается в операторе цикла:
 
Код:
For Each <...> In <...>
    Wscript.StdOut.Write(".")
Next
585
02 июня 2006 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Dmitrii
Если запуск сценария выполняется из командной строки...
<skipped>


Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.

405
02 июня 2006 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by honeybeer
Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.


Понятно.
А может это приложение вызвать окошко IE?
Дело в том, что в HTML-сраницу можно встроить элемент ActveX, именуемый Microsoft ProgressBar Control x.x (x.x - версия "контрола").
Я пробовал, встраивается нормально. Вот только управлять им пока не научился.
Прикрепляю пример HTML-страницы с таким элементом.

405
05 сентября 2006 года
Dmitrii
554 / / 16.12.2004
[QUOTE=honeybeer]Увы, сценарий выполняется не с консоли. А в контексте гуевого приложения, которое использует VBS как расширение.[/QUOTE]
honeybeer, задача ещё актуальна?
Если - "да", то посмотрите вот этот пример сценария:
 
Код:
Const PARAM_DIALOG = 0
ParentFolder = "D:\"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere "C:\Data", PARAM_DIALOG

Кажется, это то, что Вам было надо.
Подробности можно найти в MSDN по ключу [color=blue]CopyHere[/color]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог