А что-то у меня сегодня с утра на свежую голову вроде как и получилось, правда, с VT_BOOL'ом:
X++:
static void Job327_TestRangeGroup(Args _args)
{
Array periods = new Array(Types::Enum);
COMVariant varArray = new COMVariant(COMVariantInOut::IN_OUT, COMVariantType::VT_SAFEARRAY);
ComExcelDocument_RU doc = new ComExcelDocument_RU();
COM wbk, wkss, wks, rng;
;
doc.newFile(@'C:\TestPivot.xls',true); // тестовый файл прилагается к сообщению
wbk = doc.getComDocument();
wkss = wbk.Worksheets();
wks = wkss.Item('Лист4');
rng = wks.Range('A4');
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.safeArray(periods, COMVariantType::VT_VARIANT);
varArray.safeArray(periods, COMVariantType::VT_BOOL);
rng.Group(ComArgument::NoValue,
ComArgument::NoValue,
ComArgument::NoValue,
varArray);
}