Pasting Charts into Word then resizing them
Hi
I've got a bit of code that copys some charts from excel into Word as an enhanced metafile, however once in word i need to resize (reduce) the charts. I have the code to do both of these things (see below), however, the problem i am having is actually selecting the newly pasted in chart so that it can be resized. Any suggestions of how to go about this? Thanks Paul Dim WordObj As Object Set WordObj = CreateObject("Word.application") With WordObj .Visible = True .Documents.Open "c:\paper\" & Title & ".doc" End With ActiveSheet.ChartObjects("Chart 4").Activate ActiveChart.ChartArea.Select ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _ Format:=xlPicture WordObj.Selection.Goto What:=wdGoToBookmark, Name:="Bkm1" WordObj.Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _ Placement:=wdFloatOverText, DisplayAsIcon:=False ''######## this is where i need to select the new image ########################### WordObj.Selection.ShapeRange.ScaleWidth 0.53, msoFalse, msoScaleFromTopLeft WordObj.Selection.ShapeRange.ScaleHeight 0.53, msoFalse, msoScaleFromTopLeft |
Pasting Charts into Word then resizing them
1. In general you get better results if you completely format (i.e., size)
the charts in Excel before copying and pasting. 2. In general macros run better if you don't select things before editing them. Try referencing by WordObj.ActiveDocument.InlineShapes(WordObj.Active Document.InlineShapes.Count) - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions Peltier Technical Services, Inc. - http://PeltierTech.com _______ wrote in message ups.com... Hi I've got a bit of code that copys some charts from excel into Word as an enhanced metafile, however once in word i need to resize (reduce) the charts. I have the code to do both of these things (see below), however, the problem i am having is actually selecting the newly pasted in chart so that it can be resized. Any suggestions of how to go about this? Thanks Paul Dim WordObj As Object Set WordObj = CreateObject("Word.application") With WordObj .Visible = True .Documents.Open "c:\paper\" & Title & ".doc" End With ActiveSheet.ChartObjects("Chart 4").Activate ActiveChart.ChartArea.Select ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _ Format:=xlPicture WordObj.Selection.Goto What:=wdGoToBookmark, Name:="Bkm1" WordObj.Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _ Placement:=wdFloatOverText, DisplayAsIcon:=False ''######## this is where i need to select the new image ########################### WordObj.Selection.ShapeRange.ScaleWidth 0.53, msoFalse, msoScaleFromTopLeft WordObj.Selection.ShapeRange.ScaleHeight 0.53, msoFalse, msoScaleFromTopLeft |
All times are GMT +1. The time now is 10:26 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com