Объект PivotCache и коллекция PivotCaches
Коллекция PivotCaches возвращается при вызове одноименного свойства объекта Workbook. Как и большинство коллекций, она устроена достаточно просто. У нее типичные для коллекций свойства: Application, Count, Creator, Parent. Методы также классические - Item и Add. Из всего этого набора заслуживает рассмотрения только метод Add, позволяющий создать новый объект. Вот его синтаксис:
Expression.Add(SourceType, SourceData)
Здесь Expression - выражение, возвращающее объект класса PivotCaches. Аргументы метода имеют следующий смысл:
- SourceType - задает тип источника данных. Значение аргумента может быть одной из следующих четырех констант: xlCosolidation, xlDatabase, xlExternal, xlPivotTable. Каждая из этих констант задает один из четырех возможных типов, которые уже обсуждались, когда речь шла о первом шаге работы Мастера сводных таблиц, смотри, например, рис. 8.1.
- SourceData - возможный аргумент, который не следует задавать, если первый аргумент имеет значения xlExternal, то есть задает внешний источник данных. Для остальных трех значений первого аргумента параметр SourceData определяет источник данных. Тип этого аргумента, естественно зависит от значения первого аргумента. Так, если первый аргумент определяет базу данных Excel, то аргумент задается объектом Range, определяющим эту базу. Если речь идет о диапазонах консолидации, то аргумент задается массивом из объектов Range. В случае, когда речь идет о другой сводной таблице, как источнике данных, то аргумент задается строкой текста, представляющей имя сводной таблицы.
Конечно, более всего, для нас интересен случай, когда источником построения сводной таблицы является база данных. Понятно, что в этом случае метод Add определяет пустой объект PivotCache, еще не заполненный данными, поскольку второй параметр при выполнении метода не задается и источник данных, следовательно, не определен. Как же происходит заполнение объекта PivotCache данными в этом случае? Ответ прост - при установлении свойств объекта. Ситуация во многом напоминает работу с объектом Command из библиотеки ADO. У объекта PivotCache имеются свойства - Connection, CommandType, CommandText, аналогичные одноименным свойствам объекта Command.
Давайте перейдем к рассмотрению свойств и методов объекта PivotCache.