Probleem met absolute / relatieve koppelingen naar externe bestanden in Office 2010 Deel 3 (VBA / Macro oplossing)

Geschreven door

De koppelingen in PowerPoint bevatten het complete / absolute pad naar het Excel bestand. Kopiëren en plakken geeft problemen omdat er naar 'oude' bestanden wordt verwezen...
In deze video toon ik hoe je m.b.v. een macro / vba functie het pad kan verwijderen zodat alleen de bestandsnaam in de koppeling overblijft!

Vooraf: Als we via 'Bestand - Koppelingen naar bestanden bewerken' kijken naar de koppeling dan zien we het volledige pad in de koppeling staan...

We gaan een VBA functie / Macro maken om het pad uit alle koppelingen in alle slides te verwijderen!

Stap 1: Toets ALT-F11

Stap 2: Kies boven in het menu voor 'Invoegen - Module'

Stap 3: Voeg de volgende code toe:

Global fso As New FileSystemObject

Public Sub MaakKoppelingenRelatief()
    Dim i As Integer
    Dim sld As Slide, shp As Shape
    For Each sld In ActivePresentation.Slides
        For Each shp In sld.Shapes
            If shp.Type = 10 Then
                Dim path As String, fname As String
                path = shp.LinkFormat.SourceFullName
                fname = GetFilenameFromPath(path)
                shp.LinkFormat.SourceFullName = fname
                 i = i + 1
            End If
        Next
    Next
    If i > 0 Then
        MsgBox "Bijgewerkt: " & CStr(i) & " koppelingen", vbOK
    Else
        MsgBox "Geen koppelingen gevonden.", vbOK
    End If
End Sub
Function GetFilenameFromPath(ByVal strPath As String) As String
' Returns the rightmost characters of a string upto but not including the rightmost '\'
' e.g. 'c:\winnt\win.ini' returns 'win.ini'
    If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
        GetFilenameFromPath = GetFilenameFromPath(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)
    End If
End Function

Stap 4: Wat we nog wel even moeten doen is in het menu bij 'Extra - Verwijzingen' de Microsoft Scripting Runtime aanvinken. Dit omdat we FileSystemObject gebruiken!
Blader naar beneden door de lijst en selecteer Microsoft Scripting Runtime

Stap 5: Terug in de presentatie kiezen we nu voor 'ALT-F8 - Maak koppelingen relatief - Uitvoeren'

Kijken we nu bij 'Bestand - koppeling naar bestanden bewerken' dan zien we dat het pad is verdwenen!!

 

Aanvullende informatie

  • Versies: Alle versies
Lees 6633 keer
Log in om reacties te plaatsen

Excel Software Shop

Web Analytics