Möglicherweise müssen Sie Grafiken in Ihrem Dokument routinemäßig um einen bestimmten Prozentsatz skalieren. Die Verwendung der Menüs für die Skalierung kann mühsam werden. Daher möchten Sie die Skalierung möglicherweise mithilfe eines Makros durchführen, das Sie einer Symbolleistenschaltfläche oder einer Tastenkombination zuweisen können. Das folgende Makro erledigt die Skalierung sehr gut:

Sub PictSize()

Dim PercentSize As Integer

PercentSize = InputBox("Enter percent of full size", _       "Resize Picture", 75)



If Selection.InlineShapes.Count > 0 Then         Selection.InlineShapes(1).ScaleHeight = PercentSize         Selection.InlineShapes(1).ScaleWidth = PercentSize     Else         Selection.ShapeRange.ScaleHeight Factor:=(PercentSize / 100), _           RelativeToOriginalSize:=msoCTrue         Selection.ShapeRange.ScaleWidth Factor:=(PercentSize / 100), _           RelativeToOriginalSize:=msoCTrue     End If End Sub

Das Makro fragt zunächst nach einem Prozentsatz, um den Sie das ausgewählte Bild skalieren möchten, wobei standardmäßig 75 (75%) angegeben werden. Wenn Sie einen Prozentsatz angeben, prüft das Makro, ob die ausgewählte Grafik eine Inline- oder eine Floating-Grafik ist. Der Grund dafür ist, dass die Objektspezifikation in jedem Fall unterschiedlich ist und wie die Skalierung angegeben wird. Inline-Objekte gehören zur InlineShapes-Auflistung, während schwebende Objekte mithilfe des ShapeRange-Objekts festgelegt werden.

Wenn Sie die Größe aller Grafiken in Ihrem Dokument um denselben Prozentsatz ändern möchten, müssen Sie nur das obige Makro so ändern, dass es durch jede der Inline-Grafiken und dann durch jede der schwebenden Grafiken geht.

Sub AllPictSize()

Dim PercentSize As Integer     Dim oIshp As InlineShape     Dim oshp As Shape

PercentSize = InputBox("Enter percent of full size", _       "Resize Picture", 75)



For Each oIshp In ActiveDocument.InlineShapes         With oIshp             .ScaleHeight = PercentSize             .ScaleWidth = PercentSize         End With     Next oIshp

For Each oshp In ActiveDocument.Shapes         With oshp             .ScaleHeight Factor:=(PercentSize / 100), _               RelativeToOriginalSize:=msoCTrue             .ScaleWidth Factor:=(PercentSize / 100), _               RelativeToOriginalSize:=msoCTrue         End With     Next oshp End Sub

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (7694) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: