Здравствуйте, Unformica, Вы писали:
U>У меня проблема с добавлением диаграмы на лист Excel, конкретно: не могу получить коллекцию диаграм. То есть, если в ВБ можно сделать так:
U>Dim chs As ChartObjects
U>Set chs = Worksheets("sheet1").ChartObjects, то при работе в VC++ имею в распоряжении лишь функцию LPDISPATCH _Worksheet::ChartObjects(const VARIANT& Index), т.е. с параметром. Но если на листе нет диаграм, как их добавлять, если я не могу получить пустую коллекцию?
На самом деле там есть и метод для получения коллекции, но, по-моему, к нему helper function не генерируется.
Попробуй вот так (это С++, не уверен, как в VB это записать):
MSExcel::_Worksheet sheet(...);
LPDISPATCH chartObjDispatch;
sheet.InvokeHelper(0x424, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&chartObjDispatch, NULL);
MSExcel::ChartObjects chartObjects(chartObjDispatch);