Bonjour, J'ai un document qui contient des annexes, et je souhaiterais écrire une macro permettant de générer une table des matières pour une annexe. J'arrive à créer la table des matières au bon endroit dans mon annexe, le problème est que soit elle est vide soit elle contient les titres de tous le document, pas seulement de l'annexe. Je voudrais qu'elle ne contienne que les titres de l'annexe, sachant qu'ils ont des styles particuliers ("Annexe Titre 1", "Annexe Titre 2", etc...)
J'arrive à faire ça depuis l'ihm en créant un index, en cochant "Créer depuis styles supplémentaires" dans le premier onglet et en assignant à chaque niveau le style qui correspond. J'ai pas mal cherché sur le net, et j'ai trouvé la propriété LevelParagraphStyles du service ContentIndex. Il semblerait que ça permette de définir les styles de titre pris en compte dans l'index. Le problème c'est que je ne sais pas comment l'utiliser, j'ai essayé ce bout de code : annexe = leDoc.TextSections.getByName(nomAnnexe) tocAnnexe = leDoc.createInstance("com.sun.star.text.ContentIndex") with tocAnnexe .Name(nomAnnexe+"_toc") .CreateFromOutline = false .CreateFromChapter = true .CreateFromLevelParagraphStyles = true .CreateFromMarks = false .Title= "Sommaire" .ParaStyleLevel1= "Annexe Titre 1" .ParaStyleLevel2= "Annexe Titre 2" .ParaStyleLevel3= "Annexe Titre 3" .ParaStyleLevel4= "Annexe Titre 4" .IsProtected= true end with dim styles styles = tocAnnexe.LevelParagraphStyles styles.replaceByIndex(1,"Annexe Titre 1") styles.replaceByIndex(2,"Annexe Titre 2") styles.replaceByIndex(3,"Annexe Titre 3") styles.replaceByIndex(4,"Annexe Titre 4") 'create the cursor from the bookmark anchor dim oCursor oCursor = leDoc.getText().createTextCursor() oCursor.gotoRange(annexe.anchor.start,false) oCursor.gotoNextParagraph(false) 'insert the toc leDoc.getText().insertTextContent(oCursor,tocAnnexe,false) Ce code me fait une erreur à la ligne > styles.replaceByIndex(1,"Annexe Titre 1") IllegalArgumentException Si j'enlève la partie dim styles styles = tocAnnexe.LevelParagraphStyles styles.replaceByIndex(1,"Annexe Titre 1") styles.replaceByIndex(2,"Annexe Titre 2") styles.replaceByIndex(3,"Annexe Titre 3") styles.replaceByIndex(4,"Annexe Titre 4") ça me crée une table des matières vide. J'ai trouvé un mail sur le même sujet (mis à part que je veux le faire en Basic et lui en java) sur la mailling list dev http://www.mail-archive.com/[EMAIL PROTECTED]/msg06901.html mais il n'a pas reçu de réponse. Je suis preneur de toute aide/exemple/lien/conseil :) Merci d'avance -------------------------------------------------------------------------------------- Joël Vimenet [EMAIL PROTECTED] Anyware Technologies Lake Park ZAC de l'Hers - Allée du Lac BP 87216-31672 Labège Cedex France www.anyware-tech.com Ce message et toutes les pièces jointes (le "Message") sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute modification, édition, utilisation ou diffusion non autorisée est interdite. Anyware Technologies et sa maison mère Wavecom déclinent toute responsabilité au titre de ce Message s'il a été altéré, déformé, falsifié ou édité, diffusé sans autorisation. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]