powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вот вопрос.
12 сообщений из 12, страница 1 из 1
Вот вопрос.
    #34494913
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть задача. Создать кучу клонов книги с разными полями фамилия внутри например. Пускаю цикл по списку фамилия и создаю клоны .SaveAs [фамилия]-документ.xls
И сверху над этим всем висит форма с прогресс баром которая отображает процесс клонирования книг.
Так вот, если объем книги достаточно велик, то все это очень длительный процесс.
И пользователи естественно лезут гулять в инет в этот момент, пока создаются клоны.

А когда возвращаются на эксель, то форма белая - нужно repaint, но оно не сработает пока не завершится сохранение текущего файла...

Есть идеи как с этим бороться? а то у тетушек нервы сдают когда они белые окна видят. Даже на пару секунд.

))
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495127
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используй StatusBar. В хелпе оличный пример. Если макрос использует жесткую привязку в книгам, листам и ячейкам (worksheet().Range() вместо selection и Activesheet), то можно позволить DoEvents когда все будет прорисовываться.
А если у тебя модальная форма с прогресс-баром, то без колебаний DoEvents. Хотя это немного увеличит время работы..
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495218
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как сделать repaint на событие изменения статус бара?
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495222
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всмысле встроеный ексельский, который показывает слева внизу статус сохранения
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495247
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но если речь о клонах, то зачем вообще SaveAs? Посмотри Справку про FileCopy

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495276
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там титульники например разные и заполняются из справочника. FileCopy даст точный клон.
Нет?
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495296
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
udgeen69а как сделать repaint на событие изменения статус бара?никаких Repaint нет :). DoEvents запускает все обработчики, которые есть кроме твоего макроса. Rapaint там же будет выполнен вместе с остальными
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495334
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
udgeen69Там титульники например разные и заполняются из справочника. FileCopy даст точный клон.
Нет?

Да.

Наск. мне известно события "изменения статус бара" в VBA нет.

Вот пример формы с прогресс баром, которая прекрасно перерисовывается:

http://j-walk.com/ss/excel/tips/tip34.htm

А тут еще:

http://support.microsoft.com/kb/211736/
http://www.cpearson.com/excel/Progress.htm
http://www.erlandsendata.no/english/index.php?d=endownloadprogramming
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495501
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbapro udgeen69а как сделать repaint на событие изменения статус бара?никаких Repaint нет :). DoEvents запускает все обработчики, которые есть кроме твоего макроса. Rapaint там же будет выполнен вместе с остальными

Но ведь пока не завершится сохранение очередного большого файла он не отрисует опять :)
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495605
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаешь как нужно сделать?

Сделай на весь экран огромную красную надпись на чёрном фоне
"РУКИ ПООТРУБАЮ ВСЕМ бухгалтерам КОМУ НЕ ТЕРПИТСЯ!!!"
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495668
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) Тема
...
Рейтинг: 0 / 0
Вот вопрос.
    #34495851
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
udgeen69 vbapro udgeen69а как сделать repaint на событие изменения статус бара?никаких Repaint нет :). DoEvents запускает все обработчики, которые есть кроме твоего макроса. Rapaint там же будет выполнен вместе с остальными

Но ведь пока не завершится сохранение очередного большого файла он не отрисует опять :)во время сохранения и твоя программа ни чего не изменит на экране => одновляй прогрессбар и все остальное передд сохранением файл, потом DoEvents, потом сохранение
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вот вопрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]