Hi there,

I'm merging word documents into a word doc report using selection.insertfile
command. I also want to insert excel files as ole objects nto the word
report. How do I go about it?

Thanks
Garth

RE: Insert excel as ole object into word doc by lf

lf
Sun Dec 02 14:42:00 PST 2007

See the VBA help on AddOLEObject.

Example: The following code will insert the active sheet of the file
C:\MyExcelFile.xls as an InlineShape, i.e. with wrapping style "In line with
text":

Selection.InlineShapes.AddOLEObject _
FileName:="C:\MyExcelFile.xls", _
LinkToFile:=False, _
DisplayAsIcon:=False

If you want the Excel file to be inserted with another wrapping style than
"In line with text", it must be inserted as a Shape:

ActiveDocument.Shapes.AddOLEObject _
FileName:="C:\MyExcelFile.xls", _
LinkToFile:=False

--
Regards
Lene Fredborg
DocTools - Denmark
www.thedoctools.com
Document automation - add-ins, macros and templates for Microsoft Word


"Garth M" wrote:

> Hi there,
>
> I'm merging word documents into a word doc report using selection.insertfile
> command. I also want to insert excel files as ole objects nto the word
> report. How do I go about it?
>
> Thanks
> Garth

Re: Insert excel as ole object into word doc by Jay

Jay
Sun Dec 02 14:47:47 PST 2007

On Sun, 2 Dec 2007 13:21:01 -0800, Garth M
<GarthM@discussions.microsoft.com> wrote:

>Hi there,
>
>I'm merging word documents into a word doc report using selection.insertfile
>command. I also want to insert excel files as ole objects nto the word
>report. How do I go about it?
>
>Thanks
>Garth

If you want it positioned inline with text, use this kind of code:

Sub demo()
Dim path As String
Dim Ils As InlineShape

path = "C:\temp\somefile.xls"

Set Ils = ActiveDocument.InlineShapes.AddOLEObject( _
FileName:=path, LinkToFile:=False, _
DisplayAsIcon:=False, Range:=Selection.Range)
End Sub

If you want it to float, you need something different:

Sub demo()
Dim path As String
Dim Shp As Shape

path = "C:\temp\somefile.xls"

Set Shp = ActiveDocument.Shapes.AddOLEObject( _
FileName:=path, LinkToFile:=False, _
DisplayAsIcon:=False, Anchor:=Selection.Range)
With Shp
.WrapFormat.Type = wdWrapSquare
.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionMargin
.RelativeVerticalPosition = _
wdRelativeVerticalPositionParagraph
.Left = InchesToPoints(1.5)
.Top = InchesToPoints(0.25)
End With
End Sub

There are other parameters you can set, but this gives you the flavor
of the technique.

--
Regards,
Jay Freedman
Microsoft Word MVP FAQ: http://word.mvps.org
Email cannot be acknowledged; please post all follow-ups to the newsgroup so all may benefit.