ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Pasting Charts into Word then resizing them (https://www.excelbanter.com/excel-discussion-misc-queries/150653-pasting-charts-into-word-then-resizing-them.html)

[email protected]

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


Jon Peltier

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