|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.02.2009, 21:34 | #11 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 113
|
Const ИмяФайла = "C:\Documents and Settings\Игорь\Рабочий стол\Текстовый документ.txt"
Dim РазмерФайла As Long Const ВременнойИнтервалМеждуПроверками = 2 ' в секундах Скажите А перед const необходимо поставить Public или Private? |
13.02.2009, 21:41 | #12 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Если макросы, использующие эти константы и переменную, будут находиться в другом модуле, то используйте такой вариант:
Код:
|
13.02.2009, 23:02 | #13 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 113
|
Респект!
Отлично, работает как надо... (немного переделал что бы на лист выводилось общего файла Excel) Но вот как теперь получить возможность выскочить из бесконечного цикла мониторинга, что бы исполнить макрос обработки когда обнаружится новая строка? А потом по кнопке (ну или событию) опять запустить мониторинг?
|
13.02.2009, 23:23 | #14 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Выйти из цикла, и запустить его вновь - не проблема.
А по какому событию это будет происходить - решать уже Вам (это может быть что угодно: по истечении 12 часов работы, после 350 проверок, при нажатии кнопки на листе или на панели инструментов, при выполнении какого-либо условия, при наличии в файле более 1000 строк, и т.д. и т.п.) Как скажете - так и сделаем. Но зачем что-то изобретать? Есть же макрос ОбработкаФайла, который как раз запускается при обнаружении в текстовом файле новых строк. В этот макрос и допишите обработку. Или просто вызывайте нужный макрос обработки строк из макроса ОбработкаФайла Выходить из бесконечного цикла для этого вовсе необязательно... |
13.02.2009, 23:47 | #15 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 113
|
Вот запускаем мы (напрмер кнопкой) макрос СлежениеЗаФайлом, появилась новая строчка, отработал макрос Обработкафайла и параллельно с ним мой собственный макрос, который реагирует на изменении в текстовом файле. Но пока не появится результат отработки от моего собственного макроса, обрабатывать текстовый не надо, иначе мой собственный макрос (при появлении очередной новой строчки) начнет дергать удаленный софт до получения результата от предыдущей обработки. Поэтому хотелось бы иметь возможность останавливать мониторинг (ну и возобновлять) как кнопкой так и без нее.
|
13.02.2009, 23:54 | #16 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
В этом случае можно сделать так:
Код:
|
14.02.2009, 00:07 | #17 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 113
|
А кнопочкой как можно прекратить исполнение?
|
14.02.2009, 00:12 | #18 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Создайте 2 кнопки, и повесьте на них два последних макроса:
Код:
|
14.02.2009, 00:50 | #19 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 113
|
Не хочет останавливаться Останавливает исполнение только кнопка Reset в окне Visual Basic
|
14.02.2009, 01:07 | #20 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Так точно работает: Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод из текстового файла | bygoga | Паскаль, Turbo Pascal, PascalABC.NET | 14 | 23.11.2008 13:37 |
Задача на анализ текстового файла | Latedelivery | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 31.10.2008 10:55 |
Открытие текстового файла | Victor | Microsoft Office Excel | 2 | 16.01.2008 03:42 |