:: Архив конференции по VFP до 2005 года
Excel.Charts.SeriesCollection.XValues
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Короче говоря - идея такая. Есть "шаблон" XLS содержащий 3 листа 1,2 диаграммы 3 - данные к диаграммам. В этот шаблон через массив кидаю данные и указываю диаграммам откуда брать их вот таким образом.

.Sheets(1).Select()
WITH .ActiveChart
.SeriesCollection(1).XValues = "='"+m.oe.Sheets(3).name+"'!R8C1:R"+ALLTRIM(STR(m.c+7))+"C1"
.SeriesCollection(1).Values = "='"+m.oe.Sheets(3).name+"'!R8C7:R"+ALLTRIM(STR(m.c+7))+"C7"
ENDWITH

Но строка .SeriesCollection(1).XValues = "=Лист3!R8C1:R"+ALLTRIM(STR(m.c+7)) вызывает ошибку и говорит что нету такого метода XValues. Как это нету когда при действии .charts.add() те же строки проходят...




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Вот код ошибки...




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Сам лично не пробовал но в хелпе экселя написано так
Цитата:
This example sets the x values for series one in Chart1 to the range B1:B5 on Sheet1.
Charts("Chart1").SeriesCollection(1).XValues = _
Worksheets("Sheet1").Range("B1:B5")

This example uses an array to set values for the individual points in series one in Chart1.

Charts("Chart1").SeriesCollection(1).XValues = _
Array(5.0, 6.3, 12.6, 28, 50)




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Мы читаем одни книги, но ты быстрей [sm027]




------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Неа не катит тоже самое говорит... Я чего написал так то потому что макрос так записался...
Опять говрит нету XValues




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Ваще у меня крыша съезжает. Вот этот код работает при отсутствии в диаграмме рядов...

WITH .charts(1)
.SeriesCollection.NewSeries()
.SeriesCollection(1).XValues = "='"+m.oe.sheets(3).name+"'!R8C1:R"+ALLTRIM(STR(m.c+7))+"C1"
.SeriesCollection(1).Values = "='"+m.oe.sheets(3).name+"'!R8C7:R"+ALLTRIM(STR(m.c+7))+"C7"
ENDWITH




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, Андрей!

Вот выдрал из одной программки кусок, который должен тебя заинтересовать:
Это Embedded лист и диаграмма Excel - т.е. на форме живёт, от того и ссылки
такие странные.
This.Parent.oleXLChart.Object.Charts(1).SetSourceData(This.Parent.oleXLChart.Object.WorkSheets(1).Range("B1:E"
+ m.lcLastRow))
This.Parent.oleXLChart.Object.Charts(1).SeriesCollection(1).XValues =
"=Лист1!R2C1:R" + m.lcLastRow + "C1"
P.S. В этом "лист+диаграмма" предварительно СОЗДАНА диаграмма, и реально
пробиты некоторые Sample данные - ну там 4 "линии" по столбцам B,C,D,E а в А
столбце - даты (это ось категорий или как там это кличут). А вот число строк
(т.е. реально объём данных для вывода) постоянно меняется, что и видно из
кода.
P.P.S. Это как раз один из случаев, когда не нужно слепо следовать тому что
наваял макрорекордер - стоит почитать хелп и сделать несколько более
"правильно".




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Андрей - самое интересное что в хелпе XValues есть а в SeriesCollection реально почему-то нет ( Excel XP) я попробовал такой пример - у меня сработало
x=GetObject("","Excel.Sheet")
y=x.Charts.Add()
r=x.ActiveSheet.Range(x.ActiveSheet.cells(1,1),x.ActiveSheet.Cells(6,1))
y.SetSourceData(r)
x.Application.Visible=.T.
Видимо вместо свойства XValues нужно пользовать метод SetSourceData - может это то чего надо ?




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
2 Igor Korolev

Буду пробовать но помоему это тоже самое что и было. Ведь у тебя 2 строка кода опять с XValues...

Насчет чтения хелп - ты прав.

2 Piva

SetSourceData - это аналог Values для Series а где там XValues. У меня 2000 офис и нет в хелпе по это процедуре значений по X.




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: Excel.Charts.SeriesCollection.XValues
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Чета я тоже ничего не пойму - в хелпу написано так - пробуешь - нету свойства - фигня какя-то




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика