Microsoft KB Archive/243192

From BetaArchive Wiki
Knowledge Base


Article ID: 243192

Article Last Modified on 7/13/2004



APPLIES TO

  • Microsoft Office Spreadsheet Component 9.0
  • Microsoft Office Chart Component 9.0
  • Microsoft Internet Explorer 5.0



This article was previously published under Q243192

SUMMARY

The Microsoft Office Chart Web Component can be used to create a chart using data from different sources, such as arrays, spreadsheets, and databases. This article describes how to use data in a Spreadsheet Web component to create a chart. When a chart is bound to spreadsheet data, changes made to the spreadsheet data are reflected in the chart.

MORE INFORMATION

To connect a chart to spreadsheet data, you can set the Datasource property of the Chartspace object to the Spreadsheet component that contains the data. The example below describes how to bind a spreadsheet control to a chart using VBScript:

Sample Code

<%@ Language=VBScript %>
<HTML>

<STRONG><CENTER>Bind a Chart Component to a Spreadsheet Component  </CENTER></STRONG>

<BODY>

<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046 style="width:100%;height:480"></object>
<object id=Spreadsheet1 classid=CLSID:0002E510-0000-0000-C000-000000000046 style="width:100%;height:480"></object>

<script language=vbs>
Sub Window_OnLoad()

' Clear the Spreadsheet and fill in values to draw the chart
' The values here are data from three test scores for a class
Dim oSheet
Set oSheet = Spreadsheet1.ActiveSheet
oSheet.Cells.Clear
oSheet.Range("A2:A4").Value = Array("Test1", "Test2", "Test3")
oSheet.Range("B1:B4").Value = Array("A Grade", 0.07, 0.13, 0.22)
oSheet.Range("C1:C4").Value = Array("B Grade", 0.28, 0.42, 0.41)
oSheet.Range("D1:D4").Value = Array("C Grade", 0.45, 0.37, 0.23)
oSheet.Range("E1:E4").Value = Array("D Grade", 0.11, 0.04, 0.11)
oSheet.Range("F1:F4").Value = Array("F Grade", 0.09, 0.04, 0.03)

' Clear the chartspace object and add a new chart
Dim oChart
ChartSpace1.Clear
Set oChart = ChartSpace1.Charts.Add

' Set the Spreadsheet component as the data source for the chart
ChartSpace1.DataSource = Spreadsheet1

'Get the constants for the Chart component
dim c
set c = ChartSpace1.Constants

'Add the data to the chart and set the series names
dim oSeries
for i=1 to 5
   Set oSeries = oChart.SeriesCollection.Add
   oSeries.SetData c.chDimValues, 0, oSheet.Range(oSheet.Cells(2, i+1), oSheet.Cells(4, i+1)).Address
   oSeries.SetData c.chDimSeriesNames, 0, oSheet.Cells(1, i+1).Address
next
oChart.SetData c.chDimCategories, 0, "a2:a4"

' Format the chart to have a legend
ChartSpace1.Charts(0).HasLegend = True

' Set the x-Axis to be percentages with 5% intervals
oChart.Axes(c.chAxisPositionLeft).NumberFormat = "0%"
oChart.Axes(c.chAxisPositionLeft).MajorUnit = 0.05

End Sub
</script>
</BODY>
</HTML>
                

View the page above in Microsoft Internet Explorer and note that the Chart and a Spreadsheet component appear on the page. Change the data in the Spreadsheet and note that the chart is updated accordingly.

REFERENCES

For additional information about using the Chart Web Component, please click on the numbers below to view the articles in the Microsoft Knowledge Base:

240263 HOWTO: Create a Combination Chart with the Chart Web Component


235885 HOWTO: Use the Office Chart Web Component With VB



Additional query words: towc

Keywords: kbhowto kbofficewebchart kbofficewebspread KB243192