Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
#1

Диаграммы в Excel, ошибка "Член группы не найден" при задании диапазона данных - Delphi

26.05.2014, 14:14. Просмотров 1076. Ответов 4
Метки нет (Все метки)

Доброго времени суток, друзья. У меня вот какая проблема: создаю диаграмму в Excel, пишу заголовки и т.д. Все нормально проглатывает, кроме момента, когда я указываю диапазон данных. Вот тут сразу вылетает ошибка "Член группы не найден". Без команды на данные все работает, диаграмма рисуется, но естественно без данных. Офис 2007.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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;
Пробовал несколько разных вариантов с диапазоном. Во всех опробованных случаях ошибка одна и та же.
http://www.cyberforum.ru/delphi/thread242097.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 14:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Диаграммы в Excel, ошибка "Член группы не найден" при задании диапазона данных (Delphi):

При открытии большого числа файлов - ошибка "Файл не найден"
Здравствуйте уважаемые знатоки! Прошу вашей помощи. При выборе большого...

EOleSysError with message 'Член группы не найден'
В названии темы указана ошибка. Ругается на строчку:...

Ошибка "Данный файл не найден"
Короче такая беда, у меня программа работает на ура. У всех друзей она тупо...

Определить сколько чисел из диапазона [000000, 999999] являются "счастливыми". "Счастливым" считаем число, у которого сумма трех старших цифр равна су
Определить сколько чисел из диапазона являются "счастливыми". "Счастливым"...

Экспорт данных из Excel ячейки имеющей не "общий" формат
Привет. Осуществляю экспорт данных из Excel в MSSQL через Делфи. Столкнулся с...

4
Zombi_sib
365 / 319 / 88
Регистрация: 26.05.2010
Сообщений: 744
Завершенные тесты: 1
26.05.2014, 17:51 #2
вот это
Delphi
1
2
Values := (xl.Worksheets.Item['Лист сбора данных'] as _WorkSheet).
      Range['D' + intToStr(nachdiap) + ':O' + intToStr(nachdiap), EmptyParam];
замени на
Delphi
1
2
Values := (xl.Worksheets.Item['Лист сбора данных'] as _WorkSheet).
      Range['D' + intToStr(nachdiap) + ':O' + intToStr(nachdiap)];
я думаю что EmptyParam лишнее
0
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
27.05.2014, 08:59  [ТС] #3
EmptyParam в данном случае второй параметр для диапазона Range[cell1,cell2]. Так что без него никак. Можно указывать не Range['A1','A1'], а Range['A1',EmptyParam]. Я пробовал разделить диапазон, но ничего не дало. Ошибка та же.
0
Иван78
0 / 0 / 0
Регистрация: 26.04.2017
Сообщений: 1
26.04.2017, 16:09 #4
Друзья, возникла аналогичная проблема!
Помогите пожалуйста решить!
0
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
02.05.2017, 16:45  [ТС] #5
Иван78, я не стал заморачиваться дальше с данной проблемой и вывел диаграмму Chart'ом. Потом выкинул этот чарт в Excel и все шикарно получается.
0
02.05.2017, 16:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2017, 16:45
Привет! Вот еще темы с решениями:

Программа выводит ошибку "list index out of bounds (3)" при экспорте в Excel
При попытке экспорта данных в Excel из Базы данных (DBGrid в качестве...

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак",
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном...

Из слов "Работа", "крест", "тон" составить фразу "Кто не работает, тот не ест" и определить ее длину
Из слова "Работа","крест","тон" составить фразу:"Кто не работает, тот не ест" и...

На форме располагаются компоненты: редактор Edit; линейка ScrollBar; радионабор с опциями "Цветы", "Деревья", "Рыбы", "Звери"
Доброго времени суток, 2 курс 2 семестр, пришли, препод раздал задачи, сказал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru