Option
Explicit
Private
Sub
Workbook_Open()
Dim
PPTSlide
As
Slide
Dim
PPTShape
As
Shape
Dim
SourceFile, FilePath
As
String
Dim
Position
As
Integer
Dim
xlApp
As
Excel.Application
Dim
xlWrkBook
As
Excel.Workbook
Set
xlApp =
New
Excel.Application
xlApp.Visible =
False
xlApp.DisplayAlerts =
False
For
Each
PPTSlide
In
ActivePresentation.Slides
For
Each
PPTShape
In
PPTSlide.Shapes
If
PPTShape.Type = msoLinkedOLEObject
Then
SourceFile = PPTShape.LinkFormat.SourceFullName
Position = InStr(1, SourceFile,
"!"
, vbTextCompare)
FilePath = Left(SourceFile, Position - 1)
Set
xlWrkBook = xlApp.Workbooks.Open(FilePath,
False
,
True
)
PPTShape.LinkFormat.Update
xlWrkBook.Close
Set
xlWrkBook =
Nothing
End
If
Next
Next
End
Sub