Bonsoir à tous,
Toujours dans le cadre du programme OOoToSpip, je cherche un moyen de
connaître la liste des sous-sections d'une section connue.
J'ai réalisé deux macro qui fonctionnent mais pas comme je le souhaiterais.
1 - Cette macro donne la liste des sections, mais parcours toute les
sections du document pour y arriver se qui ne me parait pas optimisé
sub ListeSousSections1()
NomSectionParent="Parent"
oDoc=ThisComponent
oEnum=oDoc.Text.CreateEnumeration
While oEnum.hasMoreElements
TextElement=oEnum.NextElement
if TextElement.SupportsService("com.sun.star.text.Paragraph") then
oSection=TextElement.TextSection
if not isempty(oSection) then
oParentSection=oSection.ParentSection
if not isnull(oParentSection) then
if oParentSection.name=NomSectionParent then msgbox
oSection.name
end if
end if
end if
Wend
end sub
2 - Cette macro est plus optimisée, mais elle donne la liste des
sections dans l'ordre de leur création et non pas dans l'ordre du
document ce qui ne me convient pas.
sub ListeSousSections3()
NomSectionParent="Parent"
oDoc=ThisComponent
oSectionParent=oDoc.GetTextSections.GetByName(NomSectionParent)
oSectionsFille=oSectionParent.getChildSections
for i=0 to ubound(oSectionsFille())
msgbox oSectionsFille(i).name
next i
end sub
Donc en conclusion, j'aimerais avoir la liste des sous-sections de la
manière la plus optimisée possible et dans l'ordre d'apparence sur le
document et non pas dans l'ordre de leur création.
Merci d'avance.
Tony