логирование изменения в excel файле

Статус
В этой теме нельзя размещать новые ответы.

Phrack

Профессор
Регистрация
3 Ноя 2010
Сообщения
264
Реакции
38
Есть ПО, которое выгружает данные в экселевский файл в определенную ячейку с рандомным промежутком времени. Нужно эти изменения логировать, т.е. в формате вида
time A1(ячейка)
06-12-2010 17:53:22 15
06-12-2010 17:53:25 17
06-12-2010 17:54:12 7

Как видно, данные нужны с точностью до секунды, как поступить?
 
записывать в какю-то БД а при обращении к эксэлю формировать его динамически?
но если честно то суть вопроса не ясна
 
Есть ПО, которое выгружает данные в экселевский файл в определенную ячейку с рандомным промежутком времени. Нужно эти изменения логировать, т.е. в формате вида
time A1(ячейка)
06-12-2010 17:53:22 15
06-12-2010 17:53:25 17
06-12-2010 17:54:12 7

Как видно, данные нужны с точностью до секунды, как поступить?
Если файл excel всегда один и тот же (т.е. в него просто дописываются файлы), то, как вариант, написать/найти макрос для excel, который срабатывал бы при каждом открытии вашего excel-файла.

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

Лично я в макросах не особо силен (все как-то формулами обходился), но решение вашего вопроса, наверняка, сможете найти здесь:
 
вобще как мне объяснили, у человека всегда открыт ексель и в него прога(сторонняя) вываливает данные в определенные ячейки и обновляет данные на экране (я хз вобще это возможно или нет). Так вот нужно в тот же момент эти данные сливать в БД. Предвижу вопрос - перехватить данные между экселем и прогой нельзя, хуки использовать не могу.
 
Так ничего перехватывать и не надо. Тем более ексель вряд ли можно заточить под перехват (тут хз), да и не нужно наверное это.
Проще опять же макросом для екселя. Только макрос в данном случае будет срабатывать не на открытие файла, а на заполнение ячеек в определенном диапазоне, листе или книге. Т.е. как только ячейки (листы, книги) из указанного вами диапазона заполняются, макрос пишет лог.

В общем, ссылка в моем первом посте есть. Запости свой вопрос на том форуме, решение должно быть.

P.S: макросы порой творят чудеса - можно и интервал проверки документа выставлять, и способы сохранения, и много чего еще.
 
а старый добрый DDE тут может помочь?
 
а старый добрый DDE тут может помочь?

каким образом?

PHP:
With Worksheets("log") 'запись в журнал
iRwsLog = .Cells(Rows.Count, "B").End(xlUp).Row
i = iRwsLog + 1 'пустая строка под таблицей данных
.Cells(i, 2).Value = Now 'дата, время
End With

предложили такой код, он по выполнению макроса вставляет дату и время. Кто знает как повесить его на событие?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху