Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Katie
 
Posts: n/a
Default exporting a chart to gif format using COM (Excel v11 and .net)

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.COMExce ption"

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.xlLocation AsNewSheet, "TEST2")
oXLChart.SeriesCollection.Add(oXLYRange)

Try
oXLSeriesCollect = oXLChart.SeriesCollection
oXLSeriesCollect.Item(oXLSeriesCollect.Count).Sele ct()
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!


  #2   Report Post  
Don Guillett
 
Posts: n/a
Default

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


--
Don Guillett
SalesAid Software

"Katie" wrote in message
...
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.COMExce ption"

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.xlLocation AsNewSheet, "TEST2")
oXLChart.SeriesCollection.Add(oXLYRange)

Try
oXLSeriesCollect = oXLChart.SeriesCollection
oXLSeriesCollect.Item(oXLSeriesCollect.Count).Sele ct()
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!




  #3   Report Post  
Jon Peltier
 
Posts: n/a
Default

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/
_______

Katie wrote:

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.COMExce ption"

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.xlLocation AsNewSheet, "TEST2")
oXLChart.SeriesCollection.Add(oXLYRange)

Try
oXLSeriesCollect = oXLChart.SeriesCollection
oXLSeriesCollect.Item(oXLSeriesCollect.Count).Sele ct()
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!



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 09:37 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"