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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2010, 16:19   #1
spotty
Новичок
Джуниор
 
Регистрация: 30.09.2010
Сообщений: 2
Печаль Событие "BeforeRefresh" для PivotTable

День добрый!

Стоит задача сделать логирование времени обновления сводной таблицы (PivotTable). Сводная таблица может обновляться как по команде (Обновить данные), так и при простой манипуляции с её полями (настройка фильтров, например). Что бы получить время, за которое сводная обновляется, нужно знать момент начала и завершения обновления. За момент завершения отвечает событие Worksheet_PivotTableUpdate. А вот для начала такого события нет. Подобные события есть для QueryTable (Before/AfterRefresh).

Вопрос: как определить момент начала обновления PivotTable?

Excel 2007/2010, сводные построены на внешних источниках (PivotCache.OLEDBConnection).

Буду благодарен за любую идею!!! И даже за слова - "этого сделать нельзя"!
spotty вне форума Ответить с цитированием
Старый 30.09.2010, 16:39   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от spotty Посмотреть сообщение
День добрый!

Стоит задача сделать логирование времени обновления сводной таблицы (PivotTable). Сводная таблица может обновляться как по команде (Обновить данные), так и при простой манипуляции с её полями (настройка фильтров, например). Что бы получить время, за которое сводная обновляется, нужно знать момент начала и завершения обновления. За момент завершения отвечает событие Worksheet_PivotTableUpdate. А вот для начала такого события нет. Подобные события есть для QueryTable (Before/AfterRefresh).

Вопрос: как определить момент начала обновления PivotTable?

Excel 2007/2010, сводные построены на внешних источниках (PivotCache.OLEDBConnection).

Буду благодарен за любую идею!!! И даже за слова - "этого сделать нельзя"!
а если замерять таймером время между двумя событиями
Worksheet_PivotTableAfterValueChang e и Worksheet_PivotTableUpdate
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 30.09.2010, 16:50   #3
spotty
Новичок
Джуниор
 
Регистрация: 30.09.2010
Сообщений: 2
По умолчанию

К сожалению, это событие (PivotTableAfterValueChange) срабатывает лишь в редких случаях и только после обновления таблицы. Оно не подходит. Мало того, среди стандартных событий Excel для PivotTable нет событий подходящих для определения начала обновления. То есть стандартные средства не подходят.
spotty вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Событие Worksheet_Change не "ловится" на неактивном листе... Олег* Microsoft Office Excel 4 08.01.2010 00:43
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
TRichViewEdit - как отловить событие "курсор над таблицей" chandrasecar Компоненты Delphi 0 05.04.2009 20:04