Коллеги!
Нужна ваша помощь в освоении Excel.
Ситуация следующая: отчет выгружается в шаблон excel, в шаблоне настроена сводная таблица, необходимо сгруппировать столбцы по полю Дата. Группировака должна быть по Месяцам, Кварталам, Годам.
Для реализации пишу такой код:
X++:
Array periods = new Array(Types::Enum);
...
// группировка данных сводной таблицы
pivotField = pivotTable.pivotFields('Дата');
dataRange = pivotField.dataRange();
range = dataRange.cells();
range = Com::createFromVariant(range.item(1));
periods.value(1, false);
periods.value(2, false);
periods.value(3, false);
periods.value(4, false);
periods.value(5, true);
periods.value(6, true);
periods.value(7, true);
varArray = ComVariant::createFromArray(periods);
range.group(
ComArgument::NoValue,
ComArgument::NoValue,
ComArgument::NoValue,
varArray);
При вызове последнего метода получаем ошибку:
Метод "group" в COM-объекте класса "Range" возвратил код ошибки 0x800A03EC (<неизвестно>), который означает: Метод Group из класса Range завершен неверно.
В описании метода group сказано, что последним параметром может быть булевский массив, который и указывает, по каким периодам будет производится группировка. Подозреваю, что надо как-то по другому передавать этот массив.
Каким образом передать массив в метод?