*!* Below example is for Excel8. >*!* xlConstants can be found by : >*!* -Open Excel >*!* -Select tools\macro\VB editor >*!* -Press F2 to bring up "Object browser" >*!* -Find needed xlConstant type ie:xlChartType >*!* -On right window click needed Constant ie: xl3DArea >*!* -Below the window constant value is displayed >*!* -Rather kludgy but currently the only way I know to find them >*!* cetin@neptune.imst.deu.edu.tr > >****************************************** >* xlChartType constants >* Extracted from Object browser >* 05/21/1998 >* cetin@neptune.imst.deu.edu.tr >#define xl3DArea -4098 >#define xl3DAreaStacked 78 >#define xl3DAreaStacked100 79 >#define xl3DBarClustered 60 >#define xl3DBarStacked 61 >#define xl3DBarStacked100 62 >#define xl3DColumn -4100 >#define xl3DColumnClustered 54 >#define xl3DColumnStacked 55 >#define xl3DColumnStacked100 56 >#define xl3DLine -4101 >#define xl3DPie -4102 >#define xl3DPieExploded 70 >#define xlArea 1 >#define xlAreaStacked 76 >#define xlAreaStacked100 77 >#define xlBarClustered 57 >#define xlBarOfPie 71 >#define xlBarStacked 58 >#define xlBarStacked100 59 >#define xlBubble 15 >#define xlBubble3DEffect 87 >#define xlColumnClustered 51 >#define xlColumnStacked 52 >#define xlColumnStacked100 53 >#define xlConeBarClustered 102 >#define xlConeBarStacked 103 >#define xlConeBarStacked100 104 >#define xlConeCol 105 >#define xlConeColClustered 99 >#define xlConeColStacked 100 >#define xlConeColStacked100 101 >#define xlCylinderBarClustered 95 >#define xlCylinderBarStacked 96 >#define xlCylinderBarStacked100 97 >#define xlCylinderCol 98 >#define xlCylinderColClustered 92 >#define xlCylinderColStacked 93 >#define xlCylinderColStacked100 94 >#define xlDoughnut -4120 >#define xlDoughnutExploded 80 >#define xlLine 4 >#define xlLineMarkers 65 >#define xlLineMarkersStacked 66 >#define xlLineMarkersStacked100 67 >#define xlLineStacked 63 >#define xlLineStacked100 64 >#define xlPie 5 >#define xlPieExploded 69 >#define xlPieOfPie 68 >#define xlPyramidBarClustered 109 >#define xlPyramidBarStacked 110 >#define xlPyramidBarStacked100 111 >#define xlPyramidCol 112 >#define xlPyramidColClustered 106 >#define xlPyramidColStacked 107 >#define xlPyramidColStacked100 108 >#define xlRadar -4151 >#define xlRadarFilled 82 >#define xlRadarMarkers 81 >#define xlStockHLC 88 >#define xlStockOHLC 89 >#define xlStockVHLC 90 >#define xlStockVOHLC 91 >#define xlSurface 83 >#define xlSurfaceTopView 85 >#define xlSurfaceTopViewWireframe 86 >#define xlSurfaceWireframe 84 >#define xlXYScatter -4169 >#define xlXYScatterLines 74 >#define xlXYScatterLinesNoMarkers 75 >#define xlXYScatterSmooth 72 >#define xlXYScatterSmoothNoMarkers 73 >******************************* > >create cursor test (degree i, sine n(8,4) NULL, cosine n(8,4)) >for ix = 1 to 90 > insert into test ; > values ; > (ix,cos(ix)*ix,sin(ix)*ix) >endfor >45 >scan next 30 && Nullify 30 degrees > replace sine with .null. && Nullify some values to see effect >endscan >go top > >create cursor testgen (genfld1 g) >append blank >append general genfld1 class "excel.chart" >*** >* Now we have Excel object in gen field. >* Play with it >*** >select test > >oForm = createobject("Form") >with oForm > .height = 400 > .width = 600 > .show > > .addobject("myGraph","OleBoundControl") > .addobject("myQuit1","myQuit") > > with .myGraph > .height = oForm.height - 20 > .width = oForm.width > .left = 0 > .top = 0 > .ControlSource = "testgen.Genfld1" > wait window nowait "Filling cell values..." > with .Sheets("Sheet1") > nRows = reccount()+1 > nCols = fcount() > for ix = 1 to nCols > .Cells(1,ix).Value = field(ix) > endfor > scan > for ix = 1 to nCols > .Cells(recno()+1,ix).Value = evaluate(field(ix)) > endfor > endscan > wait window nowait "Plotting..." >*!* oForm.myGraph.ActiveChart.SetSourceData(.Range(.cells(1,2), .cells(nRows,nCols)), 2) > >*!* Instead setall with chartwizard >*!* Syntax >*!* ChartWizard(Source, Gallery, Format, ; >*!* PlotBy, CategoryLabels, SeriesLabels, ; >*!* HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle) > > oForm.myGraph.ActiveChart.ChartWizard(.Range(.cells(1,2), .cells(nRows,nCols)), ; > xl3DArea,5,2,0,1,.t.,"My chart example in general field","Category title","Value title","Extra title") >* .t. or 1 - .f. or 0 may be used for logicals > wait clear > endwith > > .visible=.T. > endwith > .myQuit1.visible = .t. >endwith >read events > >define class myquit as commandbutton >left=1 >top=1 >Caption="Close" >procedure click > release all > clear events > >endproc >enddefineCetin