Автоматизация OpenOffice Calc, как изменить метку диаграммы точечной диаграммы - PullRequest
0 голосов
/ 16 ноября 2010

Здравствуйте, не могли бы вы помочь мне со следующим.Я создал разбросанную диаграмму и нарисовал диаграмму из данных столбца.Используемые данные находятся не только после ячейки, которая определяет метку:

Column O:

Pwm1   <-- This is the cell I want to see as the label
27114  <-- not used data for graph
27055  <-- etc
27092
27070  <-- data for graph starts here
27105
27024
27092  <-- data for graph ends here

Я бы хотел, чтобы ячейка LABEL отображалась как имя метки столбца Y (теперь это «Столбец O»), но как?Насколько я понял (код Delphi, но если кто-то может помочь мне с базовым примером, это тоже нормально):

(* Turn the symbol of the data points off *)
oChart.Diagram.SymbolType := _chartChartSymbolTypeNONE;

oDataSeries := oChart.getUsedData;
oDataSequences := oDataSeries.getDataSequences;
ShowMessage(oDataSequences[1].Label.SourceRangeRepresentation);

SourceRangeRepresentation возвращает текущую метку, но как ее изменить?

Спасибо объявление

1 Ответ

1 голос
/ 23 ноября 2010

Это сделал это:

(*
creat new DataSequence from range representaion
that provides real data and its role in the series
oDataProvider: com.sun.star.chart2.data.XDataProvider
sRangeRepresentation: range address e.g. Sheet1.A1:B2
sRole: role is defined in com.sun.star.chart2.data.DataSequenceRole
*)
Function CreateDataSequence( oDataProvider : Variant; sRangeRepresentation : String; sRole :String ) : Variant;
Var
        oDataSequence : Variant;

Begin
 (* create .chart2.data.DataSequence from range representation *)
 oDataSequence := oDataProvider.createDataSequenceByRangeRepresentation(sRangeRepresentation);
 If NOT VarIsEmpty(oDataSequence) Then
  oDataSequence.Role := sRole;

 Result := oDataSequence;
End;


oNewLabel := CreateDataSequence(oChart.getDataProvider, '$Sheet1.$O$7', 'label');
oDataSequences[1].setLabel(oNewLabel);
...