
Office - Word, Excel und Co. 9.759 Themen, 41.747 Beiträge



Ich bin nicht eben PP-Fachmann..
Da PP keine (anpassbaren) Feld-Funktionen wie Wd kennt, versuche es vielleicht mit einem Makro (in anderer Datei) wie z.B. (nur Gerüst):
Sub BilderLinksRelativieren()
Dim oSlide As Slide
Dim oShape As Shape
Dim S As String
For Each oSlide In ActivePresentation.Slides
For Each oShape In ActivePresentation.Slides(1).Shapes
If oShape.Type = msoLinkedPicture Or oShape.Type = msoLinkedOLEObject Then
Debug.Print "absolut:", oShape.LinkFormat.SourceFullName
S = fsGetRelativenNamen(oShape.LinkFormat.SourceFullName)
' jetzt ggf. noch Überprüfung mit dir()
Debug.Print "relativ:", S
oShape.LinkFormat.SourceFullName = S
End If
Next oShape
Next oSlide
End Sub
Function fsGetRelativenNamen(sAbsoluterName As String)
fsGetRelativenNamen = sAbsoluterName
If Len(sAbsoluterName) If Not InStr(1, sAbsoluterName, "\\") > 0 Then Exit Function
Dim I As Integer, C As String
For I = Len(sAbsoluterName) To 1 Step -1
C = Mid(sAbsoluterName, I, 1)
If C = "\\" Then
fsGetRelativenNamen = ".\\" & Mid(sAbsoluterName, I + 1)
Exit Function
End If
Next I
End Function
So sollten sich die Bilder natürlich im selben Pfad wie die *.pp? befinden. Wenn ein Unterverz. verwendet werden soll:
fsGetRelativenNamen = ".\\Unterverzeichnis\\" & Mid(sAbsoluterName, I + 1)