Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.07;
Скачать: CL | DM;

Вниз

VBA и application.processmessage   Найти похожие ветки 

 
KilkennyCat ©   (2009-12-23 03:21) [0]

напомните, пожалуйста, есть ли там что-то подобное? а то пришлось макрос натравить на гиговый документ, вот сижу и думаю, обрабатывается он, зараза, или он, негодяй, в вечном цикле уже...


 
Джо ©   (2009-12-23 03:31) [1]

Вроде, Application.DoEvents


 
Джо ©   (2009-12-23 03:32) [2]

*Всплыло из глубин подсознания, не проверял*


 
KilkennyCat ©   (2009-12-23 03:36) [3]

Точно! мое подсознание откликнулось, что там действительно что-то такое :)
Спасибо!
Что-то мне сегодня с поиском не везет, вба забыл уже, и нахожу всякий бред, целый час макрос писал...

Теперь вопрос, дождаться завершения текущего выполнения, или прервать? :)


 
Джо ©   (2009-12-23 03:37) [4]

*Проверил, это не в Application, а просто функция*


 
Джо ©   (2009-12-23 03:38) [5]


> KilkennyCat ©   (23.12.09 03:36) [3]
> ..Теперь вопрос, дождаться завершения текущего выполнения,
>  или прервать? :)

Ну... я бы прервал... выпил. И снова запустил :)


 
KilkennyCat ©   (2009-12-23 03:38) [6]

не важно, главное - слово :)


 
KilkennyCat ©   (2009-12-23 03:41) [7]

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


 
Джо ©   (2009-12-23 03:43) [8]

Ой, реплейсы на гиговом документе... Утешаемся только тем, что Брахма не дает нам сверх того, что мы можем вытерпеть :)


 
KilkennyCat ©   (2009-12-23 03:51) [9]

ниче... написал индикатор - с вызовом доевента каждую сотую итерацию обработка таблицы из 8640 строк займет 3 с половиной часа. Терпимо, ибо однократно - стандартизация и перевод вордовских данных в БД.


 
Anatoly Podgoretsky ©   (2009-12-23 12:45) [10]

> Джо  (23.12.2009 03:38:05)  [5]

И так каждые 12 миллиардов лет.


 
Юрий Зотов ©   (2009-12-23 15:45) [11]

> KilkennyCat ©   (23.12.09 03:51) [9]

Костя, посмотри, нет ли в коде макроса  повторяющихся вызовов одних и тех же геттеров. То есть, не повторяется ли много раз код типа:

Application.ЧтоНибудь.ЕщеЧтоНибудь.ЕщеЧтоНибудь.ЕщеЧтоНибудь...


Если есть - закешируй в переменные все, что можно. Когда-то таким способом удалось за 5 минут ускорить Ексельный макрос в 50 раз.


 
KilkennyCat ©   (2009-12-23 20:17) [12]


> Юрий Зотов ©   (23.12.09 15:45) [11]

не, повторяющегося нет.
Дописал еще всякой фигни, потом оказалось, что это только 25% документов, в результате обработка шла почти 10 часов, но все, теперь можно переносить в бд... Все было бы проще, если бы вели документ жестко. А то народ позволял себе в поля "дебет" и "кредит" вписывать примечания, или объединять записи, типа пять контрагентов, поле дебет объединено и одна сумма на всех, к контрагенту добавлять примечание, хотя для этого есть специальное поле... и такой бяки немеряно. Как они что-либо искали и подсчитывали - непонятно.
И самое ужасное - это большая таблица. Огромнейшая. И только таблица, ничего кроме нее. НО! она в Ворде... Микрософт зря разрабатывал ексель. Он не нужен.


 
KilkennyCat ©   (2009-12-23 20:21) [13]

А по поводу ускорения макросов я знаю лишь один действенный способ - не работать в документе. Я видел примеры на умных сайтах, которые для работы со строкой в ячейке таблицы, выделяют ячейку, потом снимают выделение - таким образом попадая внутрь, и там добавляют или удаляют... Жуть. С таким принципом у меня бы месяц макрос крутился бы.


 
Джо ©   (2009-12-23 20:22) [14]

О, как это всё знакомо... Автоматизация на уровне каменного топора и палки-копалки.


 
KilkennyCat ©   (2009-12-23 20:27) [15]

Угу. Я иногда думаю, не попробовать ли зарабатывать на автоматизации такой хрени, ибо в каждой мелкой-средней фирме такой бардак. Но иногда сам и пугаюсь этого, некоторые документы требуют ИИ.


 
Anatoly Podgoretsky ©   (2009-12-23 20:30) [16]

> KilkennyCat  (23.12.2009 20:17:12)  [12]

Разве Микрософт зря разрабатывал Ворд?


 
Petr V. Abramov ©   (2009-12-23 20:55) [17]


> KilkennyCat ©   (23.12.09 20:27) [15]


> некоторые документы требуют ИИ.

не некоторые, а 90%


 
Юрий Зотов ©   (2009-12-24 05:53) [18]

> KilkennyCat ©   (23.12.09 20:17) [12]
> не, повторяющегося нет.

А в циклах?
:o)


 
Германн ©   (2009-12-24 06:06) [19]


> Юрий Зотов ©   (24.12.09 05:53) [18]
>
> > KilkennyCat ©   (23.12.09 20:17) [12]
> > не, повторяющегося нет.
>
> А в циклах?

Тоже бессонница?
:)


 
KilkennyCat ©   (2009-12-24 06:15) [20]


> Юрий Зотов ©   (24.12.09 05:53) [18]

а в циклах переменные, но не от гениальности, а от лени писать Application.ЧтоНибудь.ЕщеЧтоНибудь.ЕщеЧтоНибудь.ЕщеЧтоНибудь... :)


> Германн ©   (24.12.09 06:06) [19]


какая, нафиг, бессоница... деньги зарабатываем...


 
Германн ©   (2009-12-24 06:18) [21]


> какая, нафиг, бессоница... деньги зарабатываем...
>

Ну.ну.
Я в последнее время их (деньги) в основном трачу.
На ремонт.


 
KilkennyCat ©   (2009-12-24 06:24) [22]

У тебя просто они есть. Вот я ща заработаю, и тоже потрачу... долги отдам.


 
Германн ©   (2009-12-24 06:28) [23]


> KilkennyCat ©   (24.12.09 06:24) [22]
>
> У тебя просто они есть.

Пока есть.
Но "недолго музыка играла". :)


 
KilkennyCat ©   (2009-12-24 07:49) [24]

Уррра! Все, завершил преобразование. Долой вордовские документы!



Страницы: 1 вся ветка

Текущий архив: 2010.03.07;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.019 c
2-1262255716
Александр К
2009-12-31 13:35
2010.03.07
Помогите перевести с c++ в pas (Оочень маленький участок кода)


15-1261271160
Игорь Шевченко
2009-12-20 04:06
2010.03.07
К вопросу о локализации среды


11-1213110210
!Pharaon!
2008-06-10 19:03
2010.03.07
Следующий элемент в List Box


11-1213003972
Kent
2008-06-09 13:32
2010.03.07
Как сохранить данные в dfm


15-1261527698
KilkennyCat
2009-12-23 03:21
2010.03.07
VBA и application.processmessage