Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Print Excel sheet in report.
Message
De
20/06/1998 13:03:52
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
 
À
15/06/1998 14:29:54
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
00083817
Message ID:
00110247
Vues:
64
Snip...
>Hi Cetin.. I checked those examples, but they do not say anything about printing an Excel Chart. The examples use MSGraph. How can I get an Excel Chart/Graph into a general field?
>>2nd - It's quite possible to print, create, get to a gen field, change etc an Excel chart via OLE automation. Check the KB\FAQ and solutions.app.
>>Cetin
Hi,
Sorry for being so late. I have a real telecomm. problem, this is my nth trial sending this in last two days w/o succes and don't know if I could even stay online till finishing this message. Here is a sample that creates an excel chart in gen field and plays with it via OLE.
*!*	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
enddefine
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform