MMM
12:20 31-05-2006 Visual Basic
Мля... Ненавижу эти макросы в Excel'e. Я программированием не занимался уже больше 10 лет.
Никто не знает, как в этим долбаном Visual Basic задать паузу, таймаут выполнения скрипта? Надо в цикл вставить задержечку, а я не соображу, как это сделать...
Комментарии:
Вук Мрнявчевич
12:37 31-05-2006
Кажется, никак. Если какой-нить банальный Sleep или Delay не работает, то никак.
Вук Мрнявчевич
12:41 31-05-2006
Если скрипт должен дождаться действий с твоей стороны, то точно никак. Если нет, то можно запустить пустой цикл и заставить его считать от 0 до 32000. В VBA это будет выполняться довольно медленно. На это время комп "зависнет", практически
MMM
12:49 31-05-2006
О, Костя, точно, ты же монстр программирования, как я забыл!
Мне надо просто робота заставить сделать паузу, скушать "Твикс" подождать секунд 5-10 самостоятельно, вне зависимости от внешних воздействий. Попробую цикл зарядить. Правда, это будет хреново, если этот цикл будет мне весь комп тормозить. Впрочем...
А вот не подскажешь еще, как эту конструкцию
ActiveWorkbook.FollowHyperlink Address:=...
заставить открывать ссылки не в новых окнах броузера, а в текущем, уже открытом?
Вук Мрнявчевич
12:59 31-05-2006
MMM Цытирую из хелпа :
Syntax

expression.FollowHyperlink(Address, SubAddress, NewWindow, AddHistory, ExtraInfo, Method, HeaderInfo)

...
NewWindow Optional Variant. True to display the target location in a new window. The default value is False.

Т.е. примерно так:
ActiveWorkbook.FollowHyperlink (Address:=..., NewWindow:=False )

Ну или как там сокращенный синтаксис вызова метода.
Хотя странно, ведь по дефолту он в старой странице должен открывать.

Длинный цикл может и не затормозить комп. Я не уверен. Просто у меня был скриптик, который перебирал по слову весь документ, и он таки все подвешивал. Т.е. не совсем подвешивал, но если что-нить тронуть во время его работы, то избавиться можно было тока через Ctrl+Break.
MMM
13:12 31-05-2006
Да, Кость, в том и засада, что игнорирует эта зараза NewWindow:=False - все в новых окнах открывает.
Я думал, может я что не так в хелпе понял...
Ну ладно, попробую методом нацчного тыка найти что-нибудь...
Спасибо тебе за подсказки!
Вук Мрнявчевич
13:19 31-05-2006
MMM вот гад!.. Вообще, в VBA, много непоняток, похожих на глюки... А жаль. Прекрасная идея.
Не за что. Обращайся еще.
Вук Мрнявчевич
11:38 06-06-2006
Ну как, справился?
MMM
11:45 06-06-2006
С задержкой справился, вставил пустой цикл по твоему совету. Железозависимая задержка получилась, конечно, но мне там точность и не была нужна. А вот открытие ссылок в одном окне так и не победил: открываются новые окна форматом с окно Excel, из которого эти ссылки и генерируются.
В результате выставил задержку побольше и прикрываю этот popup вручную, получился не робот, а полуавтомат
Но работает.
Вук Мрнявчевич
12:21 06-06-2006
MMM ну полный робот на этом дурацком VBA и не сделаешь, как правило...
Был у меня робот, который из документа делал html c сохранением форматирования и концевых сносок. Так его чуть ли не под каждый документ приходилось переделывать