マクロ/Impress/002
Appearance
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
説明
多くの場合、現在のスライド内の特定のクラスのオブジェクトを選択的にループできると便利です。たとえば、com.sun.star.GraphicObjectShape
などの画像や、 com.sun.star.drawing.RectangleShape
などの図形など、スライド内に様々なオブジェクトがある場合があります。しかし、特定の図形すべてのプロパティを変更したいとします。
次のマクロは、すべての com.sun.star.drawing.LineShape
[1]オブジェクトの一部のプロパティを変更します。したがって、このマクロは、色など、LineShape オブジェクトに対して対処する必要があるさまざまな関連プロパティを示し、現在のスライド内のオブジェクトを選択的にループする方法も示します。
言うまでもなく、このマクロは他のアプリケーションにもテンプレートを提供します。次のコードの変更バージョンは、次の ODPファイルにダウンロード用として含まれています。このスクリーンショットに示すように、マクロは複数のマクロに分割され、異なるプッシュ・ボタンに割り当てられています。

Code
LibreOffice Basic
'Option Explicit
Sub manipulate_lineshapes ()
'''すべての "com.sun.star.drawing.LineShape" オブジェクトを選択してループし、そのプロパティを操作します。'''
oSlide = ThisComponent.CurrentController.CurrentPage
For i = 0 To oSlide.getCount()-1
With oSlide.getByIndex(i)
If .getShapeType() = "com.sun.star.drawing.LineShape" Then
.LineWidth = .LineWidth + 50
.LineEndWidth = .LineEndWidth + 50
.LineEndName = "Square" ' Arrow, Square, Circle, etc
.LineColor = RGB(52,101,164)
.LineStyle = com.sun.star.drawing.LineStyle.DASH ' .SOLID or .DASH or .NONE
.LineDashName = "Ultrafine Dashed" ' Fine Dashed, Fine Dotted, Ultrafine Dashed, etc
End If
End With
Next
End Sub ' manipulate_lineshapes
Python
未定
ODPファイルのダウンロード
メモ
- ↑ をループします。 API docs on com.sun.star.drawing.LineShape service および API docs for LineProperties を参照してください。