Changer le style des numérotations de chapitre est relativement
compliqué. Ce sont je pense de multiples niveaux de structures à
modifier une par une. Chaqu'une d'elle ayant de multiples couples (nom,
valeur), qu'il faut au préalable retrouver (dans l'API je suis certain
que ça existe).

Cependant c'est probablement long et fastidieux. Aussi vais-je proposer
un palliatif. Ce n'est donc pas une réponse directe à ta question. En
voici les étapes :

    *

      1) Je te propose de fabriquer un document, (ou mieux un modèle),
      où tu mets au point les numérotations de chapitres dont tu as
      besoin par le biais des écrans et menus d'openoffice directement.

    *

      2) Tu recopies par programme les styles de numérotations du modèle
      au sein de ton document, sans t'occuper de quoi ces éléments de
      numérotation sont faits.

    *

      3)Enfin mille excuse pour cette astuce rapide, mais je n'ai pas eu
      le temps de mieux chercher comment modifier directement un élément
      de numérotation


                                   ----------------------- o
-------------------------------

Les procédures de recopies seront du style :

-1) procédure d'appel du chargement des styles de chapitre de, (ici mon
modèle), "/mnt/G/oo221_ref/template/Support.ott" dans, (mon fichier à
modifier), /mnt/G/pfd/vp003/Outils_OO_sxg/oo_styles/08-Writer_apistyle.odt"

Sub Charger_Styles

Chargeur("/mnt/G/pfd/vp003/Outils_OO_sxg/oo_styles/08-Writer_apistyle.odt")
                   'juste pour passer un paramètre
End sub

-2) La procédure d'association du modèle avec le fichier dont les styles
sont à modifier :

Sub Chargeur(NameFich As String)

Dim DocModif As Object, DocModele As String
Dim Args() As Variant


NameFich = convertToURL(NameFich)
DocModif = StarDesktop.LoadComponentFromURL(NameFich, "_blank", 0, Args)
DocModele = ConvertToURL("/mnt/G/oo221_ref/template/Support.ott")
                        'ici tu mets ton propre modèle ou mieux tu
remplaces par un paramètre
                        'je t'avoue n'avoir pas cherché à optimiser

Charger_Numbering(DocModif, DocModele)
                        'appel de la véritable procédure de chargement
des éléments de
                        'numérotation
DocModif.Store                                           
                        'Sauvegarde du résultat
DocModif.close(True)
                        'fermeture éventuelle, c'est toi qui vois
End Sub


-3) La procédure de recopie des éléments de numérotation d'un document à
l'autre

Sub Charger_Numbering(DocModif As Object, DocModele As String)

Dim oDoc As Object, Number As Object, NumberMod As Object
Dim Args() As Variant
Dim NumbElt As Object, CountDoc As Integer, i As Integer

oDoc = StarDesktop.LoadComponentFromURL(DocModele, "_blank", 0, Args)
                                    'ouverture du modèle
Number = oDoc.ChapterNumberingRules
                                    'chargement de ses éléments de
numérotation
NumberMod = DocModif.ChapterNumberingRules
                                    'chargement des éléments de
numérotation à modifier

For i = 0 to Number.Count - 1
NumbElt = Number.getbyIndex(i)
NumberMod.replacebyIndex(i, NumbElt)
           'remplacement un pour un
           'fais attention je n ai pas géré le nombre maximum d'éléments
           'parce que je les avais mis à 10 dans chacun des fichiers
Next
oDoc.close(True)
           'fermeture du modèle
End Sub


[EMAIL PROTECTED] a écrit :

> Bonjour,
>
> Existe-t'il un moyen pour changer la numérotation des chapitres (ex :
> niveau 1 : "1. titre 1", niveau 2 : "1.A. titre 2" et ainsi de suite)
> dans un document via les macros ? J'ai bien trouvé la fonction
> getChapterNumberingRules, mais comme son nom l'indique, c'est une
> méthode en lecture seule.
>
> Merci
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à