* Part of xlChartType constants >#define xl3DArea -4098 >#define xl3DColumn -4100 >#define xl3DLine -4101 >#define xl3DPie -4102 >#define xlArea 1 >#define xlBubble3DEffect 87 >#define xlLine 4 >#define xlPie 5 >#define xlRadar -4151 >#define xlSurface 83 > >*** set the LOCALEID to English >nlLocaleId=sys(3004) && Save local id >=sys(3006,1033) && We will be sending instructions in English >ox = crea('excel.application') >ox.workbooks.add() >ox.visible = .t. >with ox.activeworkbook.worksheets(1) > .Cells(1,1).Value = "NumProd1" > .Cells(1,2).Value = "AMount" > .Cells(1,3).value = "Quota" > .Cells(2,1).Value = 113 > .Cells(2,2).Value = 12000 > .Cells(2,3).value = 23 > .Cells(3,1).Value = 254 > .Cells(3,2).Value = 45000 > .Cells(3,3).value = 24 > .Cells(4,1).Value = 165 > .Cells(4,2).Value = 37000 > .Cells(4,3).value = 42 > ox.charts.add() > ox.charts(1).chartwizard(.range(.cells(1,1),.cells(4,3)),-4100,4,1,0,1,1,"","","","") >endwith >with ox.charts(1) > .hastitle = .t. > .haslegend = .t. > .ChartTitle.caption = "This is chart title" > .ChartType=xl3DArea > .plotby = 2 > * Now play with chart format > #define xlCategory 1 > #define xlValue 2 > #define xlSeriesAxis 3 > With .Axes(xlCategory) > .HasTitle = .t. > .TickLabelSpacing = 10 > .TickLabels.Font.Size = 8 > with .AxisTitle > .Caption = "This is category title" > .Font.Name = "Arial" > .Font.Size = 10 > .Font.Bold = .t. > endwith > EndWith > With .Axes(xlSeriesAxis) > .HasTitle = .T. > with .AxisTitle > .Caption = "This is SeriesAxis title" > .Font.Size = 8 > .Font.Bold = .f. > .Orientation = 90 && Show 90 degrees rotated > endwith > EndWith > With .Axes(xlValue) > .HasTitle = .T. > with .AxisTitle > .Caption = "This is Value title" > .Font.Size = 10 > .Font.Bold = .f. > .Orientation = 90 && Show 90 degrees rotated - clockwise > endwith > EndWith > .ChartArea.copy() && Copy to clipboard > .visible=.T. >endwith >**** Set the LocaleId to the previous value >=sys(3006,val(nlLocaleId)) > >* Paste chart in clipboard to a word doc >oWrd = createobject("Word.application") >oWrd.visible = .t. >oWrd.documents.add() >oWrd.activedocument.content.paste && Paste chart >* Play with page setup, object position, size etc >* add some mail merge data and fire print voila :)Cetin