Problem
In einem Dokument sollen alle Bilder auf eine fixe Breite von 400 Bildpunkten im Seitenverhältnis verkleinert oder vergrößert werden.
Ansatz
Über das Seitenverhältnis der alten Größe der Seite A (a) zur neuen Größe der Seite A (ax) lässt sich die Aspect Ratio Verhältniszahl errechnen.
Diese Verhältniszahl kann mit der Größe der Seite B (b) des Rechteckes multipliziert werden, um die neue Größe der Seite B (bx) zu ermittlen.

Lösung
Sub bilderKleinerMachen()
' By Bjoern Karpenstein
Dim s As InlineShape
Dim aspectRatio As Double
Dim newWidth As Integer
newWidth = 400
Dim i As Integer
i = 1
For Each s In ActiveDocument.InlineShapes
s.Select
If (s.Width > newWidth) Then
If i > 1 Then
aspectRatio = CDbl(newWidth) / CDbl(s.Width)
s.Width = newWidth
s.Height = CInt(s.Height * aspectRatio)
End If
i = i + 1
End If
Next
End Sub
Hallo,
leider funktioniert das Skipt nicht in Excel.
Es kommt immer die Fehlermeldung „Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert“.
Markiert wird dabei die Zeile „Dim s As InlineShape“.
Was ist das Problem?