Tag Archives: rainbow

#VBA #Shape #Rainbow

#VBA #Shape #Rainbow

Regenbogen leicht gemacht:
Linie zeichnen, Makro ausführen. Das Makro versechsfacht die gerade markierte Linie mit Versatz (von der Stärke der Linie abhängig), und weist ihr jeweils eine der vorhandenen Linienformatvorlagen zu – wenn die Theme Colours einen Regenbogen ergeben, wird’s farbenprächtigst. Am Schluss wird noch gruppiert, damit das spätere Handling leichter wird.
Was, Sie wollen sich das Makro nicht selbst ausdenken? Bitte sehr, nehmen Sie dieses:

Sub Rainbow()

 Dim myShp As ShapeRange
 Dim I As Long
 Dim FF(6) As String
 Dim Style(6) As Long
 Dim Offset As Long
 'Styles (Formatvorlagen) muss man einfach abzählen - 14 ist zB der letzte der moderaten Styles
 Style(1) = msoLineStylePreset14
 Style(2) = msoLineStylePreset9
 Style(3) = msoLineStylePreset11
 Style(4) = msoLineStylePreset13
 Style(5) = msoLineStylePreset10
 Style(6) = msoLineStylePreset12
 
 Set myShp = Selection.ShapeRange
 Offset = myShp.Line.Weight * 0.75 'Versatz muss weniger sein als die Linie dick ist
 FF(1) = myShp.Name
 myShp.ShapeStyle = Style(1)
 For I = 2 To 6
 Selection.Copy
 Selection.PasteAndFormat (wdPasteDefault)
 Set myShp = Selection.ShapeRange
 FF(I) = myShp.Name
 ActiveDocument.Shapes.Range(Array(FF(I))).Select
 myShp.Left = myShp.Left + Offset
 myShp.Top = myShp.Top + Offset
 myShp.ShapeStyle = Style(I)
 Next I

 ActiveDocument.Shapes.Range(Array(FF(1), FF(2), FF(3), FF(4), FF(5), FF(6))).Select

 Selection.ShapeRange.Group
End Sub