Microsoft Excel

Herbers Excel/VBA-Archiv

Excel VBA - In PPT externe Links aufheben

Betrifft: Excel VBA - In PPT externe Links aufheben von: Marc
Geschrieben am: 06.04.2014 16:17:53

Moin,

ich versuche grade über .breaklink von Excel aus in einer Powerpoint die externen Verknüpfungen zu löschen.

Das spannende ist, dass der auskommentierte Befehl .update funktioniert,
bei BreakLink bekomme ich aber den Laufzeitfehler 91.

Für Ideen bin ich euch dankbar!

Sub LinksKillen()

    Dim SldCount As Integer
    Dim ShpCount As Integer
    Dim objShape As Object
    Dim oSld As Object
    Dim oShp As Object
    Dim y As Integer
    Dim a As Integer

With objPPTApp
       Set objPPTApp = CreateObject("PowerPoint.Application")
       Set objPPPraes = objPPTApp.Presentations.Open("C:\Users\Admin\Desktop\Report\Planung  _
2014_1_.ppt")
       SldCount = objPPTApp.ActivePresentation.Slides.Count
   
  
    For y = 1 To SldCount

    Set oSld = objPPTApp.ActivePresentation.Slides(y)
    ShpCount = objPPTApp.ActivePresentation.Slides(y).Shapes.Count
               objPPTApp.ActivePresentation.Slides(y).Select
    
    For a = 1 To ShpCount
    For Each oShp In oSld.Shapes
    objPPTApp.ActivePresentation.Slides(y).Shapes(a).Select
       
             If oShp.Type = msoLinkedOLEObject Then
             
                    '.LinkFormat.Update
                     .LinkFormat.breaklink
                 End If
           
         Next oShp
   
   Next a
   Next y

  
End With
End Sub

  

Betrifft: AW: Excel VBA - In PPT externe Links aufheben von: fcs
Geschrieben am: 07.04.2014 07:40:28

Hallo Marc,

probiere es mal mit

oShp.LinkFormat.BreakLink

Gruß
Franz


  

Betrifft: AW: Excel VBA - In PPT externe Links aufheben von: Marc
Geschrieben am: 07.04.2014 09:47:18

Funktioniert... 1.000 Dank!
Wenn ich das richtig sehe, habe ich mit dem Befehl also nicht das Objekt angesprochen,
sondern den Objekttyp?


  

Betrifft: AW: Excel VBA - In PPT externe Links aufheben von: fcs
Geschrieben am: 08.04.2014 06:55:34

Hallo Marc,

Wenn ich das richtig sehe, habe ich mit dem Befehl also nicht das Objekt angesprochen,
sondern den Objekttyp?

Nein, wenn vor eine Methode oder Eigenschaft ein Punkt gesetzt wird, dann bezieht sich diese immer auf das Objekt, das in der nächsten oberhalb stehenden With-Anweisung angegeben ist, wobei die durch ein "End With" schon geschlossenen With-Anweisungen übersprungen werden.

In deinem Fall also auf objPPTApp.

Gruß
Franz


 

Beiträge aus den Excel-Beispielen zum Thema "Excel VBA - In PPT externe Links aufheben"