Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP to Excel Chart problem...
Message
From
09/10/1998 02:04:26
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
08/10/1998 17:59:19
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00144375
Message ID:
00145360
Views:
133
Robert,
Help file is ...\Microsoft office\office\vbaxl8.hlp. All VB constants are in wc0993.exe (MS site). Here is another example dealing with many properties and even pasting the chart to word :
* 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
Ç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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform