lastig probleem, zeker als je meerdere koppelingen naar externe bestanden hebt is het onhandig om deze iedere keer stuk voor stuk weer te wijzigen.
Kan het zijn dat je D: verwijst naar een submap op een share?
Volgens MS kan dit de reden zijn dat de koppeling niet goed werkt:
http://support.microsoft.com/kb/328440
2 mogelijke oplossingen
Optie 1:
Ik heb onderstaande macro voor je gemaakt als een workaround om de absolute koppelingen om te zetten naar relatieve, shp.Type = 10 verwijst naar Excel maar dat kan evenzogoed een ander type zijn.
Kies: ALT-F11 - Invoegen Module
Copy & paste de volgende code naar de module
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 koppeling 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
Belangrijk nog:
Kies 'Extra - Verwijzingen' - (blader naar) Microsoft Scripting Runtime en vink deze aan. Dit laatste moet omdat je FileSystemObject gebruikt!
Als je nu na het openen van je Powerpoint: ALT-F8 toetst en 'MaakKoppelingenRelatief - Uitvoeren' kiest, zal hij van alle absolute koppelingen opnieuw relatieve maken. Voorwaarde is wel dat je gekoppelde (b.v. Excel) bestand in dezelfde map staat als je powerpoint.
Wil je weten wat voor type jouw shape is kijk dan
hier
Optie 2:
Hernoem je .pptx naar bijvoorbeeld.pptx.zip, je powerpoint is nu een gecomprimeerde map die er als volgt uit ziet:
- Open de zip en blader naar
ppt
slides
_rels
- Sleep de slide b.v. slide1.xml.rels in de windows verkenner naar een plek 'buiten de zip file'.
- Bewerk het bestand met kladblok
Waar je nu Target="file:///D:\Enterprise\maandcijfers\januari\consolidated.xlsx" ziet staan pas je dit
aan naar: Target="file:///consolidated.xlsx"
- Sleep het gewijzigde bestand slide1.xml.rels terug naar de zip, verwijder de .zip en open je powerpoint.
Als het goed is kun je probleemloos je powerpoint openen, ga naar 'Bestand' en rechts naar 'Koppelingen naar bestanden bewerken', het zal er nu ongeveer zo uit zien: