Une solution plus complète consiste à supprimer le format de liste directe et à associer le style de paragraphe (à utiliser dans les listes) à un style de liste.
Une petite modification de la macro de @fpy fait l’affaire.
Sub changeStandardListStyle
oPE= ThisComponent.Text.createEnumeration
While oPE.hasMoreElements()
oPar = oPE.nextElement()
if oPar.ListId <> "" AND oPar.ListLabelString = "" AND oPar.ParaStyleName = F_N2DN("standard") then
REM Clean direct format
oPar.NumberingStyleName = ""
REM Apply the style
oPar.ParaStyleName = F_N2DN("list")
end if
Wend
End Sub
- Pour éviter les erreurs (avec les styles inclus avec LibreOffice) dans les versions localisées de LibreOffice, il est nécessaire d’utiliser la propriété DisplayName des styles, ce qui est obtenu grâce à une fonction simple (F_N2DN).
Function F_N2DN (estilo as String)
Dim Par
Par = ThisComponent.StyleFamilies.ParagraphStyles
If Par.hasbyname(estilo) Then
F_N2DN = Par.getbyName(estilo).DisplayName
End If
End Function