Error al ejecutar una macro en LibreOffice Writer

Buenas tardes.
Solicitando ayuda para revolver el siguiente conflicto:

He creado un macro para hacer el cambio de “Estilo de página predeterminado” a “Primera Página” en LibreOffice Writer.

Comparto el código:

Sub CambiarEstiloPrimeraPagina()
    Dim oDoc As Object
    Dim oStyles As Object
    Dim oDefaultStyle As Object
    Dim oFirstPageStyle As Object
    
    ' Obtener el documento actual
    oDoc = ThisComponent
    
    ' Obtener la colección de estilos de página
    oStyles = oDoc.StyleFamilies.getByName("PageStyles")
    
    ' Obtener el estilo predeterminado
    oDefaultStyle = oStyles.getByName("Default")
    
    ' Obtener el estilo de primera página (ajusta el nombre según tus estilos)
    oFirstPageStyle = oStyles.getByName("Primera Página")
    
    ' Aplicar el estilo de primera página como predeterminado
    oDoc.DefaultPageStyle = oFirstPageStyle.Name
End Sub

Al ejecutarlo muestra lo siguiente:
Error de ejecución de BASIC.
Se ha producido una excepción.
Type: com.sun.star.container.NoSuchElementException
Message: Default ./sw/source/core/unocore/unostyle.cxx:897

LibreOffice Writer versión 7.3.7.2

Y… ¿exactamente en que línea te da este error?

En esta línea:
’ Obtener el estilo predeterminado
oDefaultStyle = oStyles.getByName(“Default”)

ok, a menos que lo hayas creado, no existe un estilo de paǵina llamado “Default”, el predeterminado se llama “Standard”, al menos en la versión en inglés, no recuerdo si al cambiar la inferfaz se localizan los nombres de los estilos. En todo caso, esa línea no la estas usando más adelante, por lo que la puedes comentar o borrar sin problemas.

Otros punto es que ThisComponent la variable oDoc en tu código no tiene la propiedad DefaultPageStyle.

El estilo de página lo aplicas con la propiedad PageStyleName, pero tiene que ser sobre un objeto Text, por ejemplo:

oDoc.Text.Start.PageStyleName = "First Page"

Debes tener en cuenta: - Los nombres de los estilos tienen que ser exactos a como aparecen en la barra lateral, (Son sensibles a las mayúsculas, a los espacios y signos de puntuación)

Sin necesidad de macros puedes cambiar la primera página de un documento con un estilos de párrafo:

  • Normalmente Un documento empieza con un estilo de párrafo específico (Generalmente un Título 1)
  1. Creas un estilo nuevo, por ejemplo Primer título. Para que no se note la diferencia, ese estilo tiene que ser exacto al que normalmente usas para empezar un documento.
  2. En el diálogo Propiedades de Primer título pulsa en la pestaña Flujo del texto . En esa página del diálogo , en la sección Saltos tienes que marcar Insertar . Tipo = Página, Posición = Antes , Con estilo de página = Primera página.
  • Ese estilo solo se debe emplear en el primer párrafo del documento, en caso contrario, si aplicas el estilo a otro párrafo del documento te cambiará las páginas anteriores al estilo Primera Página.