|
![]() |
#1 |
Участник
|
|
|
![]() |
#2 |
Участник
|
а кто нибудь выводил несколько диаграмм на один лист?
Может подскажите как лучше это реализовать? я вывожу на один лист, но диаграммы накладываются друг на друга. Последний раз редактировалось fialka; 23.07.2008 в 11:03. |
|
![]() |
#3 |
Moderator
|
|
|
![]() |
#4 |
Участник
|
Цитата:
X++: COM COMAppl; COM COMWorkbooks, COMworkbook, COMChart; COM COMWorksheet; COM COMSeries; ; ... COMappl = COM::getObject(#Excel); if (! COMappl) COMappl = new COM(#Excel); try { COMappl.visible(TRUE); COMworkbooks = COMAppl.Workbooks(); COMworkbook = COMworkbooks.add(); COMWorksheet = COMworkbook.Worksheets(); COMWorksheet = COMWorksheet.Item(1); COMChart = COMworkbook.Charts(); COMChart = COMChart.add(); COMChart.ChartType(65); COMChart = COMChart.Location(2 , COMWorksheet.Name() ); COMSeries = COMChart.SeriesCollection(); COMSeries = COMSeries.NewSeries(); COMSeries.Values( "1"); COMSeries.Name( "№1"); COMSeries.XValues( con2str(conX,";") ); // но как прописать такое ... / ActiveWindow.Visible = False Windows("Книга1").Activate ActiveSheet.ChartObjects("Диагр. 1").Activate ActiveChart.ChartArea.Select COMSeries.Shapes("Диагр. 1").IncrementLeft -222# ActiveSheet.Shapes("Диагр. 1").IncrementTop -159# Затрудняюсь написать. Да и не верно это будет. указывать куда конкретно переместить диаграмму. Ведь от условий запуска они могут быть разные . вот тут-то и загвоздка. |
|
![]() |
#5 |
Moderator
|
Цитата:
![]() чего хотите-то в итоге? или на разных листах разместить? Цитата:
Сообщение от fialka
![]() но как прописать такое ... /
ActiveWindow.Visible = False Windows("Книга1").Activate ActiveSheet.ChartObjects("Диагр. 1").Activate ActiveChart.ChartArea.Select COMSeries.Shapes("Диагр. 1").IncrementLeft -222# ActiveSheet.Shapes("Диагр. 1").IncrementTop -159# Затрудняюсь написать. Ко всем этим строчкам можно для наглядности приставить слева "Application." и сразу всё становится понятнее. Строчки типа: ActiveSheet.ChartObjects("Диагр. 1").Activate ActiveChart.ChartArea.Select можно сразу удалить. Они олицетворяют ваш выбор мышкой во время записи макроса и совершенно не нужны в автоматическом режиме. Ну, и хелп в Excel по этим новым объектам поглядеть надо. У объекта Shape есть не только свойства IncrementLeft и IncrementTop, но и просто Left и Top - так что можно сразу позиционировать диаграмму в конкретное место, а не передвигать ее из места по умолчанию. Цитата:
1 2 3 4 5 6 или, скажем, так: 1 4 2 5 3 6 |
|