Bonjour, (deux fois vaut mieux qu'aucune ;-) )
Tony GALMICHE a écrit :
Bonjour Agnès,
Agnès Simonet a écrit le 12/07/04 22:52 :
Et si à chaque fois que tu récupères une section fille tu récupérais
aussi son ancre (getAnchor) /coupé/
J'ai également pensé à cette méthode, mais elle me parait bien
compliquée et je ne sais pas bien manipuler les ancres.
La solution idéale, serait de pouvoir faire un CreateEnumeration
uniquement sur la section connue, mais je n'ai pas trouvé comment faire
et je ne sais même pas si c'est possible.
Et bien si on combinait nos deux pistes ?
D'abord récupérer l'ancre de la section mère. C'est un TextRange qui
supporte createEnumération. Donc on peut faire ce que tu souhaites.
J'ai juste essayé sur un doc avec une section mère et 3 sections filles
"désordonnées". Ça marchait.
Mais je vois que le grand maître a parlé, tu as sans doute plus de
chances de ce coté là.
sub ListeSousSections()
NomSectionParent="Parent"
oDoc=ThisComponent
oSectionParent=oDoc.GetTextSections.GetByName(NomSectionParent)
oSectionsFille=oSectionParent.getChildSections
oAnchorSectionParent = oSectionParent.Anchor
oEnum= oAnchorSectionParent.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