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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2014, 08:34   #1
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию Ошибка вывода диаграммы в Excel

Доброго времени суток, друзья. У меня вот какая проблема: создаю диаграмму в Excel, пишу заголовки и т.д. Все нормально проглатывает, кроме момента, когда я указываю диапазон данных. Вот тут сразу вылетает ошибка "Член группы не найден". Без команды на данные все работает, диаграмма рисуется, но естественно без данных. Офис 2007.
Код Delphi
Код:
var
 Diagram          :_Chart;
 xSheet           :_Worksheet;
 
//вот так создаю диаграмму
Diagram := (xSheet.ChartObjects(EmptyParam, GetUserDefaultLCID)
        as ChartObjects).Add(
        xSheet.Range['B11', EmptyParam].Left,
        xSheet.Range['B11', EmptyParam].Top,
        xSheet.Range['M11', EmptyParam].Left,
        xSheet.Range['B'+IntToStr(x), EmptyParam].Top).Chart as _Chart;
 
Diagram := Diagram.Location(xlLocationAsObject,'Диаграммы');
 
diagram.ChartType := xlColumnClustered;
 
Diagram.HasTitle[GetUserDefaultLCID] := true;
 
Diagram.ChartTitle[1].Text := 'Заголовок';
 
Diagram.ChartTitle[1].Font.Size := 14;
 
           // xlValue Для оси Y
(Diagram.Axes(xlCategory, xlPrimary, GetUserDefaultLCID) as Axis).HasTitle
                                                                      := True;
 
(diagram.Axes(xlCategory, xlPrimary, GetUserDefaultLCID) as Axis).AxisTitle.
                            Characters[EmptyParam, EmptyParam].Text := 'Месяц';
 
(diagram.Axes(xlCategory, xlPrimary, GetUserDefaultLCID) as Axis).
                                        AxisTitle.Orientation := xlHorizontal;
 
(diagram.Axes(xlCategory, xlPrimary, GetUserDefaultLCID) as Axis).
                                                    AxisTitle.Font.Size := 14;
 
(xl.Worksheets.Item['Лист сбора данных'] as _WorkSheet).Activate(GetUserDefaultLCID);
 
xSheet := xl.Worksheets.Item['Лист сбора данных' ] as _Worksheet;
 
//цикл вывода информации в лист
...
...
//вгоняю данные в диаграмму
 
   with (Diagram.SeriesCollection(EmptyParam, GetUserDefaultLCID)
                                              as SeriesCollection).NewSeries do
    begin
      Name := 'Имя';
      Hasdatalabels := true;
      //вот на Values и ругается.
      Values := (xl.Worksheets.Item['Лист сбора данных'] as _WorkSheet).
      Range['D' + intToStr(nachdiap) + ':O' + intToStr(nachdiap), EmptyParam];
      ApplyDataLabels(xlDataLabelsShowLabel,0,1,1,1,0,0,0,0,0);
    end;
Пробовал несколько разных вариантов с диапазоном. Во всех опробованных случаях ошибка одна и та же.
По ракетам и хоккею - Россияне всех сильней!
Ky3Heu, вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос вывода статического изображения диаграммы Ubicum Microsoft Office Excel 4 26.10.2012 11:09
Диаграммы Excel в C# Кира22 Microsoft Office Excel 1 06.09.2011 13:03
Excel,функции и диаграммы ArinaV Microsoft Office Excel 0 23.05.2010 02:02
Диаграммы в excel gusluk Microsoft Office Excel 17 07.11.2008 07:02