Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2009, 22:48   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Визуализация работы макроса

Есть такой код
Sub WatchOverFile()
StartingCheking = True
Do While StartingCheking = True 'бесконечный цикл

'Do While NewFileSizeSignal = FileSizeSignal
NewFileSizeSignal = CreateObject("scripting.filesystemo bject").GetFile(Signal).Size
If NewFileSizeSignal > FileSizeSignal Then DoFile: FileSizeSignal = NewFileSizeSignal
'If NewFileSizeSignal > FileSizeSignal Then Call Sheets("Лист1").ChekMyQuantity
t = Timer: While t + ChekTimeFrame > Timer: DoEvents: Wend
Loop
End Sub

Можно как то органзовать индикацию работы макроса (gif картинка или еще что то) Что бы видно было что макрос пашет и что он остановлен?
zander вне форума Ответить с цитированием
Старый 14.02.2009, 23:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А ты не пытался воспользоваться поиском?

В теме с точно таким же названием приведён пример.

Можно просто выводить информацию в строку состояния.

(добавлено)
У себя на сайте выложил последнюю версию прогресс-бара: http://excelvba.ru/tools/ProgressIndicator

Последний раз редактировалось EducatedFool; 17.08.2011 в 20:11.
EducatedFool вне форума Ответить с цитированием
Старый 15.02.2009, 00:20   #3
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Что именно ты хочешь видеть что программа работает или макрос?
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 15.02.2009, 00:21   #4
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Не сказал, что поиск смотрел, просто у меня чуть другой момент, там юзер форма и разовый процесс. А у меня цикл беспрерывный и может так работать целый день. Важно кинуть взгляд на экран и видеть что процесс не прерван. Думал может просто какую то картинку можно выводить на лист, или лучше мигающая ячейка ....
zander вне форума Ответить с цитированием
Старый 15.02.2009, 00:35   #5
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Так сделай на листе кнопку с картинкой которая при нажатии меняется на другую. Или в макросе пропиши строчку что при запуске отображается такая картинка(на форме) и напиши процедуру которая через какое-то время будет менять ее и это повторяется пока цикл незакончится.
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 15.02.2009, 00:57   #6
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

То что макрос находится в состоянии вызванном кодом
StartingCheking = True
Do While StartingCheking = True 'бесконечный цикл
ну и понимат когда процесс останвлен
zander вне форума Ответить с цитированием
Старый 15.02.2009, 00:58   #7
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Цитата:
Сообщение от Волк Посмотреть сообщение
...Или в макросе пропиши строчку что при запуске отображается такая картинка(на форме) и напиши процедуру которая через какое-то время будет менять ее и это повторяется пока цикл незакончится.
А как это может выглядеть в виде кода?
zander вне форума Ответить с цитированием
Старый 15.02.2009, 01:09   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Всё можно сделать гораздо проще:

Код:
Sub СлежениеЗаФайлом()
    If Not БесконечныйЦиклАктивирован Then Exit Sub
    Application.StatusBar = Now & "  Ведется отслеживание изменений в файле"
    
    If Not ПоискИзмененийВременноОтключён Then
        НовыйРазмерФайла = CreateObject("scripting.filesystemobject").GetFile(ИмяФайла).Size
        If НовыйРазмерФайла > РазмерФайла Then ОбработкаФайла: РазмерФайла = НовыйРазмерФайла
    End If
    If БесконечныйЦиклАктивирован Then Application.OnTime _
       Now + TimeSerial(0, 0, ВременнойИнтервалМеждуПроверками), "СлежениеЗаФайлом"
End Sub


Sub ЗапускЦикла()
    БесконечныйЦиклАктивирован = True
    СлежениеЗаФайлом
End Sub

Sub ОстановЦикла()
    БесконечныйЦиклАктивирован = False
    Application.StatusBar = Now & "  Отслеживание изменений в файле остановлено"
End Sub
Каждую секунду текст в строке состояния Excel будет обновляться.
При остановке макроса в строке состояния Excel будет зафиксировано время останова макроса.

Последний раз редактировалось EducatedFool; 17.08.2011 в 20:11.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуализация работы макроса Gawwws Microsoft Office Excel 24 01.09.2010 18:16
Визуализация сигнала с аудио выхода AXiUS Мультимедиа в Delphi 4 29.01.2009 12:37
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43
BASS Визуализация Garacio_cain Мультимедиа в Delphi 2 14.08.2008 00:19
визуализация алгоритма Alar Паскаль, Turbo Pascal, PascalABC.NET 0 30.10.2006 14:10