Macros/Impress/002/es
TDF LibreOffice Document Liberation Project Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Donar
Descripción
A menudo es útil poder recorrer selectivamente una clase específica de objetos en la diapositiva actual. Por ejemplo, puede tener varios objetos en la diapositiva, como imágenes com.sun.star.GraphiCoBjectShape
o formas com.sun.stardrawing.rectangleshape
.
Pero, ¿y si desea cambiar una propiedad para todas las apariciones de una forma específica?
La siguiente macro recorre todos los objetos com.sun.star.drawing.lineShape
(formas de linea) [1] y cambia algunas propiedades de cada Linea. Esta macro ilustra varias propiedades importantes que puede que quiera cambiar en objetos de línea como el color y también como recorrer selectivamente los objetos de la diapositiva actual.
No hace falta decir que la macro también proporciona una plantilla para otras aplicaciones. Se incluye una versión modificada del siguiente código, para descargar en el archivo ODP a continuación, donde la macro se ha separado en múltiples macros y asignada a diferentes botones, como se muestra en la siguiente figura:

Código
LibreOffice Basic
'Option Explicit
Sub manipulate_lineshapes ()
'''Recorre selectivamente todos los objetos com.sun.star.drawing.LineShape y cambia sus propiedades.'''
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
- proximamente
Descarga del archivo ODP
Notas
- ↑ Consulte la documentación de la API sobre los servicios com.sun.star.drawing.LineShape y com.sun.star.drawing.LineProperties.