Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.03.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.006 c
2-1262780530
Иван
2010-01-06 15:22
2010.03.07
Выделение слов в RichEdit на лету


15-1261282914
Nic
2009-12-20 07:21
2010.03.07
Дети, не ходите работать программистами


15-1261231827
AlexanderMS
2009-12-19 17:10
2010.03.07
Получить IP-адрес устройства в глобальной сети


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


2-1262082279
ford
2009-12-29 13:24
2010.03.07
прочитать файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский