Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Programming / March 2006

Tip: Looking for answers? Try searching our database.

Opening embedded Excel object with VBA

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
JS - 29 Mar 2006 15:06 GMT
Hi All, I need to programmatically manipulate embedded excel objects in PPT.
I've put a macro together, but  I am not able to get the macro to open the
embedded excel object (excel comes up blank). Con someone please tell me
what's wrong?
Thanks in advance, JS
=======================================
Sub a_Open_EmbeddedExcel()
Dim Shp As Shape
Dim Sld As Slide
Dim xlApp As Excel.Application
Dim oWorkbook As Excel.Workbook
Dim oWorksheet As Excel.Worksheet
Set xlApp = New Excel.Application
For Each Sld In Application.ActivePresentation.Slides
For Each Shp In Sld.Shapes
 If Shp.Type = msoEmbeddedOLEObject Then
  If Shp.OLEFormat.ProgID = "Excel.Sheet.8" Then
   Set oWorkbook = Shp.OLEFormat.Object
   Set oWorksheet = oWorkbook.ActiveSheet
   With xlApp
   .Visible = True
   oWorksheet.Activate
   MsgBox "Did it open the embedded excel object?"
   MsgBox "There are " & xlApp.Windows(1).VisibleRange.Cells.Count & "
cells visible"
'   if yes,
'   MsgBox xlApp.ActiveWindow.VisibleRange.Address
'   more excel macro commands here
   End With
   oWorkbook.Close (True)
   Set oWorkbook = Nothing
   Set oWorksheet = Nothing
  End If 'Shp.Type
 End If 'Shp.OLEFormat.ProgID
Next Shp
Next Sld
xlApp.Quit
End Sub
Helmut Weber - 29 Mar 2006 19:50 GMT
Hi JS,

have a look at this one:

Sub a_Open_EmbeddedExcel()
Dim Shp As Shape
Dim Sld As Slide
For Each Sld In Application.ActivePresentation.Slides
  For Each Shp In Sld.Shapes
     If Shp.Type = msoEmbeddedOLEObject Then
        If Shp.OLEFormat.ProgID = "Excel.Sheet.8" Then
           Shp.OLEFormat.Activate
           Set objEXL = Shp.OLEFormat.Object
           With objEXL.ActiveSheet
              .Cells(1, 1).Value = .Cells(1, 1).Value + 1
           End With
        End If
     End If
  Next Shp
Next Sld
SendKeys "{ESC}"
End Sub

Only one object required.

See the post above, too:
"Accessing Excel worksheets in a Word document..."

Signature

Greetings from Bavaria, Germany

Helmut Weber, MVP WordVBA

Win XP, Office 2003
"red.sys" & Chr$(64) & "t-online.de"

Doug Robbins - Word MVP - 29 Mar 2006 20:23 GMT
It would be better to post your question to an Excel of Power Point
Newsgroup.  This one is for Word.

Signature

Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

> Hi All, I need to programmatically manipulate embedded excel objects in
> PPT.
[quoted text clipped - 35 lines]
> xlApp.Quit
> End Sub
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.