It would be very helpful if you would explain what you are trying to
accomplish and why it does work. What errors are you getting?
The Export method of a Chart works in 2007 as it did in earlier
version:
Dim ChartObj As ChartObject
Set ChartObj = Worksheets("Sheet1").ChartObjects(1)
ChartObj.Chart.Export "D:\Chart1.jpg"
In your code, you have
Set picCopy = Selection
What is selected when you Set it to picCopy?
Don't post messages with something like "it doesn't work". If you
expect the readers to take the time to read, decypher, and find a
solution to your question, you should put in the effort to fully
explain in detail what you need, what should happen that doesn't, or
what doesn't happen that should. Gold stars for details.
Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
On Tue, 20 Apr 2010 10:24:06 -0700, Pops Jackson
wrote:
Tom Ogilvy posted the following code some time back and it works wonderfully
in Excel 2003 but, of course, encounters problems in 2007. Can anyone give
suggestions for bringing it up to date for 2007?
Sub ExportPicAsJpg()
Dim chTemp As Chart
Dim picCopy As Picture
Dim dWidth As Double
Dim dHeight As Double
Dim shNew As Worksheet
Set picCopy = Selection
Set chTemp = Charts.Add
Set shNew = Sheets.Add
dWidth = picCopy.Width
dHeight = picCopy.Height
Application.ScreenUpdating = False
With chTemp
.SetSourceData Source:=Sheets("Sheet1").Range("FA16383")
.Location Whe=xlLocationAsObject, Name:=shNew.Name
With shNew.ChartObjects(1)
.Width = dWidth + 2
.Height = dHeight + 2
.Top = 0
.Left = 0
Range("A1").Select
picCopy.Copy
.Activate
ActiveChart.Paste
.Interior.ColorIndex = 1
ActiveChart.Export "c:\TempPic.JPG", "jpg"
End With
End With
Application.DisplayAlerts = False
shNew.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Thanks for any help given,