exporting a chart to gif format using COM (Excel v11 and .net)

K

Katie

Hi,

I've created a chart in .net (vb) and now I'm trying to export my chart as a
gif but I'm getting an "Exception from HRESULT:
0x800A03EC.:System.Runtime.InteropServices.COMException"

I think I know why I am getting the exception but I don't know how to
specify the FILTERNAME object that the method wants

Dim oXLChart As Excel.Chart
oXLChart = oXLSheet.Parent.Charts.Add
oXLChart.ChartType = Excel.XlChartType.xlXYScatterSmooth
oXLChart.SetSourceData(oXLRange,
oXLChartClass.PlotBy.xlColumns)

oXLChart.Location(Excel.XlChartLocation.xlLocationAsNewSheet, "TEST2")
oXLChart.SeriesCollection.Add(oXLYRange)

Try
oXLSeriesCollect = oXLChart.SeriesCollection
oXLSeriesCollect.Item(oXLSeriesCollect.Count).Select()
With oXLSeriesCollect.Item(oXLSeriesCollect.Count)
.AxisGroup = Excel.XlAxisGroup.xlSecondary
.Border.Color = RGB(30, 144, 255)
.Border.LineStyle = Excel.XlLineStyle.xlContinuous
.Border.Weight = Excel.XlBorderWeight.xlThin
.MarkerBackgroundColorIndex = 38
.MarkerForegroundColorIndex = 41
.MarkerStyle = Excel.Constants.xlTriangle
.Smooth = True
.MarkerSize = 5
.Shadow = False
End With

Catch ex As Exception
curError = New SBTestError
curError.SetError(curError.generalError, "UNEXPEDTED
ERROR!!" + ex.Message & ":" + ex.GetType.ToString() + ": " & ex.StackTrace)
sbErrorCollection.Add(curError)
End Try

'do some formating stuff then try to export,

oXLChart.Export("c:\temp\katieimage.gif", "gif", False)


The definition for chart export method is Export(ByVal Filename As String,
ByVal FilterName As Object..,By Val Interactive As Object) As boolean


Has anyone else tried to use this method and are able to specify the
filtername parameter?

I know others have used the Microsoft.Office.Interop.Owc11 Chartspace export
picture method but I'd have to rewrite all the code to create the chart.

Thanks!
 
D

Don Guillett

Maybe this simpler approach will help.

Sub ExportChartGIF()
ActiveChart.Export Filename:="C:\a\MyChart.gif", _
FilterName:="GIF"
End Sub
Sub ExportChartJPG()
ActiveChart.Export Filename:="C:\a\MyChart.jpg", _
FilterName:="jpeg"
End Sub
 
J

Jon Peltier

Dunno about all that .Net stuff, but this works in regular VBA:

oXLChart.Export "c:\temp\katieimage.gif", "gif"

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top