2010-11-16 10 views
0

Bonjour, pourriez-vous s'il vous plaît m'aider avec ce qui suit. J'ai créé un graphique dispersé et dessiner un graphique à partir des données d'une colonne. Les données utilisées ne sont pas juste après la cellule qui détermine l'étiquette:OpenOffice Calc automation comment modifier une étiquette de graphique d'un diagramme de dispersion

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 

je voudrais la cellule LABEL apparaisse comme le nom de l'étiquette de la colonne Y (est maintenant « colonne O »), mais comment? Ce autant que je suis arrivé (le code est Delphi mais si quelqu'un pouvait me aider avec un exemple de base qui est correct aussi):

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

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

SourceRangeRepresentation retourne l'étiquette en cours, mais comment changer?

Merci Ad

Répondre

1

Ce qu'il a fait:

(* 
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); 
Questions connexes